# Format for this file: # Epoch Channel Nickname Action Message # # All separated with a single space, empty values are replaced with a dash '-' # except messages which are kept empty. # Lines starting with '#' are comments; comments are not allowed except as the only content of the line # 1306459817 #crosstool-ng jacques_ join 1306459817 - jacques_ quit Changing host 1306459817 #crosstool-ng jacques_ join 1306459964 - jacques quit Ping timeout: 250 seconds 1306460882 - jacques_ nick jacques 1306480818 #crosstool-ng kos_tom join 1306482609 - Buglouse quit Ping timeout: 252 seconds 1306497061 #crosstool-ng Buglouse join 1306504494 - kos_tom quit Quit: Leaving 1306514939 #crosstool-ng y_morin join 1306515351 #crosstool-ng fauno say y_morin: good day o/ 1306515359 #crosstool-ng y_morin say fauno: hello! 1306515369 #crosstool-ng fauno say i have good news 1306515392 #crosstool-ng y_morin say fauno: yes? :-) 1306515407 #crosstool-ng fauno say i just built eglibc for mips64el-n32 :D 1306515457 #crosstool-ng y_morin say :-) 1306515466 #crosstool-ng y_morin say What was missing, in the end? 1306515508 #crosstool-ng fauno say i found the abi logic on the preconfigure script for mips 1306515532 #crosstool-ng fauno say it checks for $machine to decide which abi to use 1306515551 #crosstool-ng fauno say i removed the mips32 logic and added an echo for $machine 1306515565 #crosstool-ng fauno say it worked, and the echo was spit twice 1306515578 #crosstool-ng fauno say the first one said the machine was mips64el 1306515593 #crosstool-ng fauno say the second, that is was mips/mips64/n32 1306515612 #crosstool-ng y_morin say Woo... Sounds weird to me... 1306515612 #crosstool-ng fauno say which on the preconfigure script matched mips* and not mips64* :) 1306515630 #crosstool-ng y_morin say fauno: you mean the scripts/bui;d/arc/mips.sh ? 1306515637 #crosstool-ng y_morin say *build 1306515646 #crosstool-ng fauno say no, it's on eglibc-ports 1306515650 #crosstool-ng y_morin say OK. 1306515661 #crosstool-ng y_morin say So, this is a bug in glibc/eglibc ? 1306515662 #crosstool-ng fauno say eglibc-2_13/eglibc-ports-2_13/sysdeps/mips/preconfigure 1306515669 #crosstool-ng fauno say i don't know 1306515692 #crosstool-ng fauno say why is there eglibc-2_13/eglibc-ports-2_13 1306515700 #crosstool-ng fauno say and eglibc-2_13/ports? 1306515733 #crosstool-ng y_morin say fauno: that's because one is a symlink to the other. 1306515734 #crosstool-ng fauno say maybe the eglibc configure treats them as two different add-on dirs and that's why it's run twice? 1306515750 #crosstool-ng fauno say just guessing 1306515753 #crosstool-ng linuxjacques join 1306515773 #crosstool-ng y_morin say Some add-ons are named after the short name, others may have the version appended. 1306515807 #crosstool-ng fauno say ah, yes 1306515821 #crosstool-ng y_morin say fauno: that might be the reason, indeed. Can you try to just get 'ports' as a directory, and remove the 'ports-2.13' one? 1306515831 #crosstool-ng fauno say it's run first on eglibc-ports-2_13 and then on ports 1306515858 #crosstool-ng y_morin say fauno: OK, then we might need to do some hackery to remove the long name, and keep only the short one. 1306515867 #crosstool-ng fauno say http://pastie.org/1981596 1306515888 #crosstool-ng fauno say the "This machine is..." is mine 1306515968 #crosstool-ng y_morin say fauno: I see. Can you try as I suggested, please? 1306516016 #crosstool-ng fauno say i'm at cc_core_pass_2 :P 1306516043 #crosstool-ng fauno say but i have to try from a 64b system so i'll try it then 1306516064 #crosstool-ng y_morin say fauno: Thank you! 1306516229 #crosstool-ng fauno say y_morin: where can i find the code that creates this symlink? 1306516269 #crosstool-ng y_morin say fauno: you don't need to change the code, just do it manually as a test. If it works, we'll tweak the code. 1306516282 #crosstool-ng y_morin say fauno: anyway, it's in scripts/build/libc/eglibc.sh 1306516291 #crosstool-ng y_morin say fauno: in function do_extract() 1306516297 #crosstool-ng fauno say line #118 right? 1306516306 #crosstool-ng fauno say do_libc_extract() 1306516331 #crosstool-ng y_morin say fauno: yes, 118 & 119 1306516348 #crosstool-ng y_morin say yes, do_libc_extract(), sorry. 1306516357 #crosstool-ng fauno say it just failed again 1306516364 #crosstool-ng fauno say but this time is another thing 1306516407 #crosstool-ng y_morin say Hmmm... :-/ 1306516417 #crosstool-ng fauno say http://pastie.org/1981636 1306516529 #crosstool-ng fauno say ah, my bad 1306516534 #crosstool-ng fauno say cc1: error: unrecognized command line option '-mfix-nop-loongson2f' 1306516862 #crosstool-ng fauno say y_morin: how can i `ct-ng libc` but also reload the .config? i removed the unrecognized flag from it 1306516891 #crosstool-ng y_morin say fauno: it is not possible to restart after changing the .config. You have to start afresh. 1306516911 #crosstool-ng fauno say oh 1306516964 #crosstool-ng y_morin say 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. 1306516977 #crosstool-ng y_morin say Restarting is only in case the build scripts have been changed. 1306517025 #crosstool-ng y_morin say GTG, BBL... 1306517029 - y_morin nick y_morin|away 1306522505 #crosstool-ng fauno say y_morin|away: ah, it failed again 1306522526 #crosstool-ng fauno say libc needs ports... i'll make it rename it 1306525308 #crosstool-ng fauno say y_morin|away: i have a patch 1306525336 #crosstool-ng fauno say one more question: why if i use saved steps and then start over from the point it failed 1306525376 #crosstool-ng fauno say 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? 1306525711 - Buglouse quit Ping timeout: 246 seconds 1306525840 #crosstool-ng Buglouse join 1306527428 #crosstool-ng fauno say y_morin|away: http://pastie.org/1982307 1306527472 #crosstool-ng fauno say or maybe you prefer the hg patchbomb way? 1306528246 - y_morin|away nick y_morin 1306528274 #crosstool-ng y_morin say fauno: if you want to fix this, you have to do it in do_libc_extract(). 1306528317 #crosstool-ng y_morin say fauno: if you do in one of the build function, it will fail the second time. 1306528337 #crosstool-ng fauno say aah 1306528340 #crosstool-ng fauno say ok 1306528349 #crosstool-ng y_morin say fauno: the first 'rm' will fail to unkink a directory, and the whole build will fail. 1306528358 #crosstool-ng fauno say understood 1306528368 #crosstool-ng y_morin say crosstool-NG catches every failures. 1306528381 #crosstool-ng fauno say got it :D 1306528410 #crosstool-ng fauno say i guess building all at once is recommended, right? 1306528437 #crosstool-ng y_morin say fauno: yes. The restart stuff is there to debug the build scripts. 1306528447 #crosstool-ng fauno say ok 1306528486 #crosstool-ng y_morin say fauno: in your case, it was probably needed to use restart. The only issue so far was that restart does not extracts again. 1306528494 #crosstool-ng y_morin say It's only about the build steps. 1306528530 #crosstool-ng y_morin say fauno: and yes, I'd prefer a patchbomob. :-) 1306528530 #crosstool-ng fauno say ok 1306528539 #crosstool-ng fauno say another thing 1306528550 #crosstool-ng y_morin tell likes the sound it makes when it lands in his inbox! :-) 1306528583 #crosstool-ng fauno say i enabled obj-c and obj-c++ and i got a message saying they aren't supported yet 1306528602 #crosstool-ng fauno say on the final compiler step 1306528620 #crosstool-ng y_morin say fauno: I don't do ObjC and ObjC++, so I can't guarantee they work. They might work, but I don't know. 1306528643 #crosstool-ng y_morin say fauno: if you can confirm ObjC and ObjC++ do work, we can remove the EXPERIMENTAL tag. 1306528658 #crosstool-ng fauno say ah, so the message is from ct-ng 1306528660 #crosstool-ng fauno say ok 1306528670 #crosstool-ng y_morin say Yes. 1306528695 #crosstool-ng fauno say i was hoping to build unarchiver :P 1306528726 #crosstool-ng y_morin say fauno: Ah! The new free-as-in-free-speech unrar stuff. Good! :-) 1306528767 #crosstool-ng fauno say y_morin: yep, this is for the parabola mips64el port (the libre archlinux on a lemote yeeloong) 1306528786 #crosstool-ng y_morin say fauno: using linux-libre as well, I guess! ;-) 1306528804 #crosstool-ng fauno say :D 1306531494 #crosstool-ng fauno say y_morin: mmm would a -h $addon && ! -h eglibc-$addon suffice? 1306531512 #crosstool-ng fauno say i'm making it prefer the short addon name just after patching 1306531556 #crosstool-ng y_morin say fauno: if [ -d "eglibc-${addon}-${version}" ]; then mv "eglibc-${addon}-${version}" "${addon}"; fi 1306531576 #crosstool-ng y_morin say fauno: right, we don't care about the long name at all. Let's keep the short name. 1306531596 #crosstool-ng fauno say but that would do it even when the long name is a symlink 1306531600 #crosstool-ng fauno say according to the comment 1306531950 #crosstool-ng kos_tom join 1306531976 #crosstool-ng y_morin say fauno: the long name will be a symlink only in case the sghort name is a directory. 1306531989 #crosstool-ng y_morin say fauno: The comment will have to go away now. 1306532008 #crosstool-ng y_morin say fauno: The new logic is: if the short name exists (and is a directory), keep it. 1306532030 #crosstool-ng y_morin say fauno: otherwise, if the long name exists (and is a dir), rename to short name. 1306532061 #crosstool-ng y_morin say fauno: Of course, in the first case, the long name can not exist. 1306532083 #crosstool-ng fauno say mmm maybe i'm too tired :P 1306532089 #crosstool-ng fauno say the current code says: 1306532109 #crosstool-ng fauno say * if short name is a dir, create a long dir symlink 1306532127 #crosstool-ng fauno say * if long dir is a dir, create a short dir symlink 1306532133 #crosstool-ng fauno say then patch 1306532177 #crosstool-ng y_morin say 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. 1306532184 #crosstool-ng fauno say according to the comment it's because the patches could refer to both dir names 1306532194 #crosstool-ng y_morin say fauno: indeed. 1306532208 #crosstool-ng y_morin say fauno: so the solution is: 1306532232 #crosstool-ng y_morin say 1) if long name, rename to short one 1306532243 #crosstool-ng y_morin say 2) create symlink long name -> short name 1306532245 #crosstool-ng y_morin say 3) patch 1306532253 #crosstool-ng y_morin say 4) remove long name symlink 1306532256 #crosstool-ng fauno say ah ah now i follow 1306532259 #crosstool-ng fauno say ok 1306532262 #crosstool-ng y_morin say :-) 1306532909 #crosstool-ng fauno say y_morin: http://pastie.org/1982633 1306533091 #crosstool-ng y_morin say fauno: almost, yes. But on line 8, the long name will never exist, so you can unconditionally do the symlink 1306533132 #crosstool-ng fauno say yeah i noticed it was kind of unneeded 1306533132 #crosstool-ng y_morin say 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, 1306533163 #crosstool-ng y_morin say fauno: you may want to sanity check that the two do not exist before doing the me, though. 1306533182 #crosstool-ng fauno say the mv? 1306533196 #crosstool-ng y_morin say fauno: we should only have either the short name *or* the long name. If the two exist, this is an error. 1306533204 #crosstool-ng y_morin say fauno: the mv on line 7. 1306533216 #crosstool-ng fauno say i know but you said "me" 1306533228 #crosstool-ng y_morin say fauno: sorry. My bad. 1306533249 #crosstool-ng y_morin tell does not what was in his head when he wrote that... 1306533285 #crosstool-ng fauno tell prefers not to think about that 1306533290 #crosstool-ng y_morin say :-) 1306533335 #crosstool-ng fauno say ok, so... always rename the long name 1306533376 #crosstool-ng y_morin say 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. 1306533391 #crosstool-ng y_morin say fauno: yes, always rename. 1306533400 #crosstool-ng y_morin say WE only care about the short name. 1306533404 #crosstool-ng y_morin say *We 1306533454 #crosstool-ng y_morin say fauno: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html 1306533597 #crosstool-ng fauno say y_morin: this way: 1306533610 #crosstool-ng fauno say if long name is dir, rename it to short name 1306533617 #crosstool-ng fauno say always link short to long 1306533618 #crosstool-ng fauno say patch 1306533621 #crosstool-ng fauno say remove long 1306533656 #crosstool-ng y_morin say fauno: yes, but first: if long name is dir and short name s dir: error out. 1306533694 #crosstool-ng fauno say but the addon is either short or long 1306533712 #crosstool-ng y_morin say fauno: CT_TestAndAbort "Error in addon '${addon}": both short and long name in tarball" -d "${addon}" -a -d "eglibc-${addon}-${version}" 1306533736 #crosstool-ng y_morin say fauno: normally, yes, but who knows how the tarball was constructed? 1306533760 #crosstool-ng fauno say ok 1306533770 #crosstool-ng y_morin say fauno: I agree, this should not happen. So we have to check that it does not. 1306533828 #crosstool-ng y_morin say 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 1306533918 #crosstool-ng fauno say http://pastie.org/1982682 1306534037 #crosstool-ng fauno say he i'll fix the #version 1306534042 #crosstool-ng fauno say $version* 1306534088 - kos_tom quit Quit: Leaving 1306534124 #crosstool-ng y_morin say fauno: you're almost there! :-) 1306534145 #crosstool-ng y_morin say fauno: remember that crosstool-NG catches all errors. What would happen if the long name does not exist? 1306534184 #crosstool-ng y_morin say 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. 1306534215 #crosstool-ng y_morin say fauno: the "[ ... ] || foo" construct is a hack, and a bad one at that. *I* am to blame. 1306534218 #crosstool-ng fauno say damn long names 1306534231 #crosstool-ng y_morin say fauno: prefer using: if [ ... ]; then foo; fi 1306534238 #crosstool-ng y_morin say fauno: hehe! :-) 1306534323 #crosstool-ng y_morin say fauno: also, remove the last two lines of the big comment, they are no longer usefull and now mis-leading. 1306534348 #crosstool-ng y_morin say fauno: and add a comment on why we have to remove the long-named symlink after patching. 1306534361 #crosstool-ng y_morin say fauno: then you can patch-bomob it! :-) 1306534448 #crosstool-ng y_morin tell wants a keyboard that prevents dyslexia... 1306534456 #crosstool-ng fauno say that reminds me of scott pilgrim :P 1306534480 #crosstool-ng y_morin say Not seen... 1306535800 #crosstool-ng fauno say y_morin: sorry. so do you proppose that i keep on the hack and do something like 1306535816 #crosstool-ng fauno say [ ! -d "long name" ] || rm "long name" 1306535847 #crosstool-ng y_morin say fauno: no, use: if [ -d "long name" ]; then mv long short; fi 1306535852 #crosstool-ng fauno say ah 1306536448 #crosstool-ng y_morin tell has a long road to drive to morrow. Nite all, see ya on sunday evening! 1306536454 - y_morin quit Quit: Quitting... 1306538294 - linuxjacques quit Quit: Page closed