ibotlog2html for #crosstool-ng

<< Previous 2011-05-27 Next >>

# 01:30:17 jacques_ joins #crosstool-ng
# 01:30:17 jacques_ quits : Changing host
# 01:30:17 jacques_ joins #crosstool-ng
# 01:32:44 jacques quits : Ping timeout: 250 seconds
# 01:48:02 jacques_ is now known as: jacques
# 07:20:18 kos_tom joins #crosstool-ng
# 07:50:09 Buglouse quits : Ping timeout: 252 seconds
# 11:51:01 Buglouse joins #crosstool-ng
# 13:54:54 kos_tom quits : Quit: Leaving
# 16:48:59 y_morin joins #crosstool-ng
# 16:55:51 fauno y_morin: good day o/
# 16:55:59 y_morin fauno: hello!
# 16:56:09 fauno i have good news
# 16:56:32 y_morin fauno: yes? :-)
# 16:56:47 fauno i just built eglibc for mips64el-n32 :D
# 16:57:37 y_morin :-)
# 16:57:46 y_morin What was missing, in the end?
# 16:58:28 fauno i found the abi logic on the preconfigure script for mips
# 16:58:52 fauno it checks for $machine to decide which abi to use
# 16:59:11 fauno i removed the mips32 logic and added an echo for $machine
# 16:59:25 fauno it worked, and the echo was spit twice
# 16:59:38 fauno the first one said the machine was mips64el
# 16:59:53 fauno the second, that is was mips/mips64/n32
# 17:00:12 y_morin Woo... Sounds weird to me...
# 17:00:12 fauno which on the preconfigure script matched mips* and not mips64* :)
# 17:00:30 y_morin fauno: you mean the scripts/bui;d/arc/mips.sh ?
# 17:00:37 y_morin *build
# 17:00:46 fauno no, it's on eglibc-ports
# 17:00:50 y_morin OK.
# 17:01:01 y_morin So, this is a bug in glibc/eglibc ?
# 17:01:02 fauno eglibc-2_13/eglibc-ports-2_13/sysdeps/mips/preconfigure
# 17:01:09 fauno i don't know
# 17:01:32 fauno why is there eglibc-2_13/eglibc-ports-2_13
# 17:01:40 fauno and eglibc-2_13/ports?
# 17:02:13 y_morin fauno: that's because one is a symlink to the other.
# 17:02:14 fauno maybe the eglibc configure treats them as two different add-on dirs and that's why it's run twice?
# 17:02:30 fauno just guessing
# 17:02:33 linuxjacques joins #crosstool-ng
# 17:02:53 y_morin Some add-ons are named after the short name, others may have the version appended.
# 17:03:27 fauno ah, yes
# 17:03:41 y_morin fauno: that might be the reason, indeed. Can you try to just get 'ports' as a directory, and remove the 'ports-2.13' one?
# 17:03:51 fauno it's run first on eglibc-ports-2_13 and then on ports
# 17:04:18 y_morin fauno: OK, then we might need to do some hackery to remove the long name, and keep only the short one.
# 17:04:27 fauno http://pastie.org/1981596
# 17:04:48 fauno the "This machine is..." is mine
# 17:06:08 y_morin fauno: I see. Can you try as I suggested, please?
# 17:06:56 fauno i'm at cc_core_pass_2 :P
# 17:07:23 fauno but i have to try from a 64b system so i'll try it then
# 17:07:44 y_morin fauno: Thank you!
# 17:10:29 fauno y_morin: where can i find the code that creates this symlink?
# 17:11:09 y_morin fauno: you don't need to change the code, just do it manually as a test. If it works, we'll tweak the code.
# 17:11:22 y_morin fauno: anyway, it's in scripts/build/libc/eglibc.sh
# 17:11:31 y_morin fauno: in function do_extract()
# 17:11:37 fauno line #118 right?
# 17:11:46 fauno do_libc_extract()
# 17:12:11 y_morin fauno: yes, 118 & 119
# 17:12:28 y_morin yes, do_libc_extract(), sorry.
# 17:12:37 fauno it just failed again
# 17:12:44 fauno but this time is another thing
# 17:13:27 y_morin Hmmm... :-/
# 17:13:37 fauno http://pastie.org/1981636
# 17:15:29 fauno ah, my bad
# 17:15:34 fauno cc1: error: unrecognized command line option '-mfix-nop-loongson2f'
# 17:21:02 fauno y_morin: how can i `ct-ng libc` but also reload the .config? i removed the unrecognized flag from it
# 17:21:31 y_morin fauno: it is not possible to restart after changing the .config. You have to start afresh.
# 17:21:51 fauno oh
# 17:22:44 y_morin It is on purpose. Changes .config can impact a lot of things, such as components selection, versions, optimnisations.... And it makes no sense to restart in such a case.
# 17:22:57 y_morin Restarting is only in case the build scripts have been changed.
# 17:23:45 y_morin GTG, BBL...
# 17:23:49 y_morin is now known as: y_morin|away
# 18:55:05 fauno y_morin|away: ah, it failed again
# 18:55:26 fauno libc needs ports... i'll make it rename it
# 19:41:48 fauno y_morin|away: i have a patch
# 19:42:16 fauno one more question: why if i use saved steps and then start over from the point it failed
# 19:42:56 fauno at some point it says that files in static/ are missing? shouldn't it restore all the previous steps or i'm doing something wrong?
# 19:48:31 Buglouse quits : Ping timeout: 246 seconds
# 19:50:40 Buglouse joins #crosstool-ng
# 20:17:08 fauno y_morin|away: http://pastie.org/1982307
# 20:17:52 fauno or maybe you prefer the hg patchbomb way?
# 20:30:46 y_morin|away is now known as: y_morin
# 20:31:14 y_morin fauno: if you want to fix this, you have to do it in do_libc_extract().
# 20:31:57 y_morin fauno: if you do in one of the build function, it will fail the second time.
# 20:32:17 fauno aah
# 20:32:20 fauno ok
# 20:32:29 y_morin fauno: the first 'rm' will fail to unkink a directory, and the whole build will fail.
# 20:32:38 fauno understood
# 20:32:48 y_morin crosstool-NG catches every failures.
# 20:33:01 fauno got it :D
# 20:33:30 fauno i guess building all at once is recommended, right?
# 20:33:57 y_morin fauno: yes. The restart stuff is there to debug the build scripts.
# 20:34:07 fauno ok
# 20:34:46 y_morin fauno: in your case, it was probably needed to use restart. The only issue so far was that restart does not extracts again.
# 20:34:54 y_morin It's only about the build steps.
# 20:35:30 y_morin fauno: and yes, I'd prefer a patchbomob. :-)
# 20:35:30 fauno ok
# 20:35:39 fauno another thing
# 20:35:50 y_morin likes the sound it makes when it lands in his inbox! :-)
# 20:36:23 fauno i enabled obj-c and obj-c++ and i got a message saying they aren't supported yet
# 20:36:42 fauno on the final compiler step
# 20:37:00 y_morin fauno: I don't do ObjC and ObjC++, so I can't guarantee they work. They might work, but I don't know.
# 20:37:23 y_morin fauno: if you can confirm ObjC and ObjC++ do work, we can remove the EXPERIMENTAL tag.
# 20:37:38 fauno ah, so the message is from ct-ng
# 20:37:40 fauno ok
# 20:37:50 y_morin Yes.
# 20:38:15 fauno i was hoping to build unarchiver :P
# 20:38:46 y_morin fauno: Ah! The new free-as-in-free-speech unrar stuff. Good! :-)
# 20:39:27 fauno y_morin: yep, this is for the parabola mips64el port (the libre archlinux on a lemote yeeloong)
# 20:39:46 y_morin fauno: using linux-libre as well, I guess! ;-)
# 20:40:04 fauno :D
# 21:24:54 fauno y_morin: mmm would a -h $addon && ! -h eglibc-$addon suffice?
# 21:25:12 fauno i'm making it prefer the short addon name just after patching
# 21:25:56 y_morin fauno: if [ -d "eglibc-${addon}-${version}" ]; then mv "eglibc-${addon}-${version}" "${addon}"; fi
# 21:26:16 y_morin fauno: right, we don't care about the long name at all. Let's keep the short name.
# 21:26:36 fauno but that would do it even when the long name is a symlink
# 21:26:40 fauno according to the comment
# 21:32:30 kos_tom joins #crosstool-ng
# 21:32:56 y_morin fauno: the long name will be a symlink only in case the sghort name is a directory.
# 21:33:09 y_morin fauno: The comment will have to go away now.
# 21:33:28 y_morin fauno: The new logic is: if the short name exists (and is a directory), keep it.
# 21:33:50 y_morin fauno: otherwise, if the long name exists (and is a dir), rename to short name.
# 21:34:21 y_morin fauno: Of course, in the first case, the long name can not exist.
# 21:34:43 fauno mmm maybe i'm too tired :P
# 21:34:49 fauno the current code says:
# 21:35:09 fauno * if short name is a dir, create a long dir symlink
# 21:35:27 fauno * if long dir is a dir, create a short dir symlink
# 21:35:33 fauno then patch
# 21:36:17 y_morin fauno: Oh, I see what you mean. The current code is faulty, as you discovered. WE should *not* have two dirs for the same addon.
# 21:36:24 fauno according to the comment it's because the patches could refer to both dir names
# 21:36:34 y_morin fauno: indeed.
# 21:36:48 y_morin fauno: so the solution is:
# 21:37:12 y_morin 1) if long name, rename to short one
# 21:37:23 y_morin 2) create symlink long name -> short name
# 21:37:25 y_morin 3) patch
# 21:37:33 y_morin 4) remove long name symlink
# 21:37:36 fauno ah ah now i follow
# 21:37:39 fauno ok
# 21:37:42 y_morin :-)
# 21:48:29 fauno y_morin: http://pastie.org/1982633
# 21:51:31 y_morin fauno: almost, yes. But on line 8, the long name will never exist, so you can unconditionally do the symlink
# 21:52:12 fauno yeah i noticed it was kind of unneeded
# 21:52:12 y_morin fauno: it canexist, because: if the tarball contined the long name, you just renamed it on line 7; if the tarball contained the short name, you never created the long name,
# 21:52:43 y_morin fauno: you may want to sanity check that the two do not exist before doing the me, though.
# 21:53:02 fauno the mv?
# 21:53:16 y_morin fauno: we should only have either the short name *or* the long name. If the two exist, this is an error.
# 21:53:24 y_morin fauno: the mv on line 7.
# 21:53:36 fauno i know but you said "me"
# 21:53:48 y_morin fauno: sorry. My bad.
# 21:54:09 y_morin does not what was in his head when he wrote that...
# 21:54:45 fauno prefers not to think about that
# 21:54:50 y_morin :-)
# 21:55:35 fauno ok, so... always rename the long name
# 21:56:16 y_morin fauno: I'd prefer [ -L "blabla"] rather than -h. -L is in POSIX now, and they are the same. -L is more explicit than -h, I think.
# 21:56:31 y_morin fauno: yes, always rename.
# 21:56:40 y_morin WE only care about the short name.
# 21:56:44 y_morin *We
# 21:57:34 y_morin fauno: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
# 21:59:57 fauno y_morin: this way:
# 22:00:10 fauno if long name is dir, rename it to short name
# 22:00:17 fauno always link short to long
# 22:00:18 fauno patch
# 22:00:21 fauno remove long
# 22:00:56 y_morin fauno: yes, but first: if long name is dir and short name s dir: error out.
# 22:01:34 fauno but the addon is either short or long
# 22:01:52 y_morin fauno: CT_TestAndAbort "Error in addon '${addon}": both short and long name in tarball" -d "${addon}" -a -d "eglibc-${addon}-${version}"
# 22:02:16 y_morin fauno: normally, yes, but who knows how the tarball was constructed?
# 22:02:40 fauno ok
# 22:02:50 y_morin fauno: I agree, this should not happen. So we have to check that it does not.
# 22:03:48 y_morin The problem if we don;t check and it happens, it'll be a nightmare to debug, as it will not be obvious that the long-named dir is now a sub dir of the short-named dir
# 22:05:18 fauno http://pastie.org/1982682
# 22:07:17 fauno he i'll fix the #version
# 22:07:22 fauno $version*
# 22:08:08 kos_tom quits : Quit: Leaving
# 22:08:44 y_morin fauno: you're almost there! :-)
# 22:09:05 y_morin fauno: remember that crosstool-NG catches all errors. What would happen if the long name does not exist?
# 22:09:44 y_morin fauno: the [ -d "long name}" ] test wil fail, so the entire compound command will fail, so the error handler will be fired, and the build will halt.
# 22:10:15 y_morin fauno: the "[ ... ] || foo" construct is a hack, and a bad one at that. *I* am to blame.
# 22:10:18 fauno damn long names
# 22:10:31 y_morin fauno: prefer using: if [ ... ]; then foo; fi
# 22:10:38 y_morin fauno: hehe! :-)
# 22:12:03 y_morin fauno: also, remove the last two lines of the big comment, they are no longer usefull and now mis-leading.
# 22:12:28 y_morin fauno: and add a comment on why we have to remove the long-named symlink after patching.
# 22:12:41 y_morin fauno: then you can patch-bomob it! :-)
# 22:14:08 y_morin wants a keyboard that prevents dyslexia...
# 22:14:16 fauno that reminds me of scott pilgrim :P
# 22:14:40 y_morin Not seen...
# 22:36:40 fauno y_morin: sorry. so do you proppose that i keep on the hack and do something like
# 22:36:56 fauno [ ! -d "long name" ] || rm "long name"
# 22:37:27 y_morin fauno: no, use: if [ -d "long name" ]; then mv long short; fi
# 22:37:32 fauno ah
# 22:47:28 y_morin has a long road to drive to morrow. Nite all, see ya on sunday evening!
# 22:47:34 y_morin quits : Quit: Quitting...
# 23:18:14 linuxjacques quits : Quit: Page closed

Generated by ibotlog2html by Yann E. MORIN