ibotlog2html for #crosstool-ng

<< Previous 2011-08-11 Next >>

# 05:25:00 mnt_real quits : Remote host closed the connection
# 07:01:06 y_morin joins #crosstool-ng
# 07:15:39 smartin joins #crosstool-ng
# 12:51:54 mnt_real joins #crosstool-ng
# 14:00:39 y_morin quits : Quit: Back on-line in a few hours...
# 15:49:00 y_morin joins #crosstool-ng
# 16:44:12 sh4rm4 i have a Makefile which makes trouble
# 16:44:20 sh4rm4 can i just edit it in place ?
# 16:44:30 sh4rm4 or do i need to patch ct-ng ?
# 16:44:48 sh4rm4 it's linux' makefile
# 16:45:22 sh4rm4 doesnt like "implicit and normal rules" mixed up
# 16:46:26 y_morin sh4rm4: do you have make-3.82 on your machine ?
# 16:46:49 y_morin sh4rm4: if so, then you can ask corsstool-NG to build a make-3.81 for its own use
# 16:46:50 sh4rm4 yes
# 16:47:23 sh4rm4 y_morin, where can i set that ?
# 16:47:37 y_morin sh4rm4: it's in Companion tools ---> Build some companion tools --> make
# 16:47:49 sh4rm4 cool thx
# 16:47:54 y_morin sh4rm4: you have to enable EXPERIMENTAL first.
# 16:48:13 sh4rm4 aha
# 16:48:19 sh4rm4 where is that hidden ?
# 16:48:38 y_morin sh4rm4: Paths and misc options ---> Try features marked as EXPERIMENTAL
# 16:48:55 y_morin GTG, BBL...
# 16:48:56 sh4rm4 ok cool
# 16:48:58 y_morin is now known as: y_morin|away
# 16:49:10 sh4rm4 but theoretically, would it suffice to change the Makefile in the build path ?
# 16:49:32 sh4rm4 ah, seems not.
# 17:02:39 sh4rm4 hmm. didn't build make 3.81
# 17:03:01 sh4rm4 the companion stage was finished in 17 secs, not even enough to download the tarball
# 17:04:52 sh4rm4 well, maybe enough to download, but not to build.
# 17:08:21 sh4rm4 installed it into $HOme and set PATH to there. make --v now returns 3.81... let's see if it works...
# 17:12:42 sh4rm4 hmm. i wonder what PPL and CLOOG are for. they take up a lot of time.. i remember that i didnt need them to build gcc usually...
# 17:47:30 sh4rm4 now i get a name conflict between getline of one of the kernel header tools and the one of glibc, which pulls in that NON-POSIX proprietary GNU symbol if POSIX_C_SOURCE >= 200809L
# 17:47:52 sh4rm4 thanks, drepper
# 17:48:55 sh4rm4 *system header fixed, gnuism deleted*
# 17:57:27 sh4rm4 bhundven|afk, what about the bug report i mailed you ?
# 17:57:35 sh4rm4 drop under the table i guess
# 17:57:46 sh4rm4 *dropped
# 18:03:13 sh4rm4 [ERROR] /tmp/ct-ng-tmp/.build/src/gcc-4.4.6/libgcc/../libdecnumber/decExcept.c:25:18: error: fenv.h: No such file or directory
# 18:03:40 sh4rm4 come on dude, it's right there in /usr/include
# 18:04:21 sh4rm4 -D__GCC_FLOAT_NOT_NEEDED
# 18:09:14 sh4rm4 "You need to have UCLIBC_HAS_FENV=y set in uclibc .config
# 18:09:14 sh4rm4 now how you bend ct-ng to do it is upto you."
# 18:11:43 sh4rm4 why that header is not being checked via configure, and fails in the bootstrap phase, will remain a secret
# 18:12:06 sh4rm4 gnuhoo
# 18:13:46 sh4rm4 oh wait. i forgot that the entire gcc buildsystem is a huge and ugly hack.
# 18:30:18 sh4rm4 "Installing final compiler"
# 18:30:19 sh4rm4 omg
# 18:30:26 sh4rm4 could it work ?
# 18:31:11 sh4rm4 :)
# 18:38:06 sh4rm4 [INFO ] Installing binutils for target
# 18:38:28 sh4rm4 [ERROR] configure: error: in `/tmp/ct-ng-tmp/.build/powerpc-unknown-linux-uclibc/build/build-binutils-for-target':
# 18:38:39 sh4rm4 [ERROR] configure: error: C compiler cannot create executables
# 18:39:29 sh4rm4 lemme guess.. configure tries to run a compiled binary, which doesnt work since it is compiled for another arch ?
# 18:41:24 sh4rm4 x-tools/powerpc-unknown-linux-uclibc/lib/gcc/powerpc-unknown-linux-uclibc/4.4.6/../../../../powerpc-unknown-linux-uclibc/bin/ld: crti.o: No such file: No such file or directory
# 18:41:45 sh4rm4 aha, the same that happened when i tried to build the ARM target.
# 18:42:01 sh4rm4 except that i now took uclibc 0.9.30.2
# 18:43:57 sh4rm4 that was the bug report i sent to the list and CC to bhundven|afk who wanted to look at the issue
# 19:10:29 sh4rm4 hehe it works when i compile crti.S and crtn.S manually
# 19:17:51 sh4rm4 interestingly, this time crt1.o "1 == one" was built
# 19:18:05 sh4rm4 was missing for the ARM try
# 19:23:01 sh4rm4 i would actually prefer gcc 4.5.3 over gcc 4.4
# 19:23:13 sh4rm4 since it has link time optimization
# 19:23:27 sh4rm4 shaves off a lot of bloat
# 19:39:46 smartin quits : Quit: Page closed
# 20:19:44 smartin joins #crosstool-ng
# 20:38:06 y_morin|away is now known as: y_morin
# 20:41:08 y_morin sh4rm4: back just now, too longer than expected...
# 20:41:17 y_morin sh4rm4: care to pastebin your .config?
# 20:41:50 sh4rm4 sure, second
# 20:43:22 y_morin sh4rm4: crosstool-ng builds make-3.81 just fine here.
# 20:44:21 sh4rm4 http://pastie.org/private/0rehlodx1vp8w8sukmqtna
# 20:44:50 sh4rm4 y_morin: is it possible it downloads + builds it in 17 seconds ?
# 20:45:16 y_morin sh4rm4: that's roughly what it takes here, yes.
# 20:45:46 sh4rm4 ok, then maybe it did... it was reporting the same kind of error tho
# 20:46:02 sh4rm4 but it seemed to work when i fixed the Makefile in the .build dir
# 20:46:36 sh4rm4 do you want uclibc config as well ?
# 20:46:44 y_morin sh4rm4: what version of crosstool-NG are you using ?
# 20:46:53 sh4rm4 cloned from mercury
# 20:47:04 y_morin mercurial...
# 20:47:10 sh4rm4 oh, rigght :)
# 20:48:59 sh4rm4 http://sprunge.us/ghVO <- uclibc config
# 20:50:05 y_morin OK, got it. Testing here...
# 20:50:41 y_morin sh4rm4: make is not selected in your .config
# 20:51:07 sh4rm4 yeah i removed it after i installed it manually
# 20:51:22 y_morin OK
# 20:51:36 sh4rm4 did you want to test that ?
# 20:52:06 y_morin I tested here, and it is OK for me. So I don't know what's going on on your side...
# 20:52:33 y_morin sh4rm4: any reason for using custom headers ?
# 20:52:39 sh4rm4 it built crti.o ?
# 20:52:51 y_morin sh4rm4: I meant, make-3.81 is built OK.
# 20:52:57 sh4rm4 y_morin, which custom headers ?
# 20:53:05 y_morin Not so far yet, just reviewing the config for obvious issues.
# 20:53:21 y_morin sh4rm4: Linux kernel headers, you are using 2.6.25.1
# 20:53:45 sh4rm4 ah. it's the version running on the host i target
# 20:54:10 sh4rm4 i wasn't sure if the syscall abi changed
# 20:54:26 sh4rm4 so i went for the sure, but uncomfortable header set
# 20:54:41 y_morin sh4rm4: the ABI never changes. It's written in stone. It can be expanded, but not changed (or it's a bug).
# 20:54:55 sh4rm4 so i can use any 2.6.x headers ?
# 20:55:49 y_morin Normally, you should be able to.
# 20:55:58 sh4rm4 good to know, thanks
# 20:56:16 y_morin sh4rm4: I am not 100% sure, however...
# 20:57:07 y_morin sh4rm4: I have to DL linux-2.6.25.1 first...
# 20:57:41 sh4rm4 hmm i'm pretty sure it will fail with .27 as well
# 20:57:49 y_morin sh4rm4: Any reason why you do not want shared libs ?
# 20:58:09 sh4rm4 yeah. i prefer static because it's easier to deploy
# 20:58:43 y_morin sh4rm4: This is seldom used, and is highly susceptible to be broken...
# 20:58:53 sh4rm4 if the uclibc.so on the target differs, my binary is worthless
# 20:58:58 y_morin sh4rm4: anyway, you could always rm -f all the .so afterward...
# 20:59:13 y_morin I mean, after the toolchain is built.
# 20:59:26 sh4rm4 ah, does it still build the static libs ?
# 20:59:34 y_morin sh4rm4: yes, always.
# 21:00:54 y_morin sh4rm4: I did not read everything above, but GMP and MPFR are needed by gcc. See: http://crosstool-ng.org/hg/crosstool-ng/file/tip/docs/9%20-%20How%20is%20a%20toolchain%20constructed.txt
# 21:01:31 sh4rm4 http://www.nl.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.1.tar.bz2
# 21:01:51 y_morin sh4rm4: I already got it... Thx
# 21:01:56 sh4rm4 y_morin, yes. i meant cloog and PPL
# 21:02:04 y_morin sh4rm4: ditto.
# 21:02:35 sh4rm4 aha. until now i always had to compile MPC, MPFR, GMP, but no PPL
# 21:03:17 y_morin sh4rm4: http://gcc.gnu.org/install/configure.html
# 21:04:19 mnt_real quits : Remote host closed the connection
# 21:05:10 sh4rm4 is PPL really needed? i think i had that disabled previously and it always built well
# 21:05:51 sh4rm4 maybe that's a drop-in replacement for MPC...
# 21:06:30 y_morin sh4rm4: it's all explained in the URL I posted above.
# 21:06:37 y_morin (the crosstool-nf.org one.
# 21:06:46 y_morin s/nf/ng/
# 21:07:05 sh4rm4 oh sorry i was looking at the gcc page
# 21:07:40 y_morin arounfd lines 158-175 (GMP/MPRF/MPC) and lines 196-212 (CLooG/PPL)
# 21:07:49 y_morin sh4rm4: noproblem! ;-)
# 21:08:14 y_morin sh4rm4: You'll notice one more dependency: libelf.
# 21:08:35 sh4rm4 yeah..
# 21:09:07 sh4rm4 does that mean gcc 4.4 would support -flto if i configured it correctly ?
# 21:09:27 y_morin sh4rm4: nope, LTO is for gcc >= 4.5
# 21:10:19 sh4rm4 y_morin, is it planned to add that one to the list of supported compilers ?
# 21:10:37 sh4rm4 i.e. gcc 4.5.3
# 21:11:01 y_morin sh4rm4: gcc-4.5 and 4.6 are alrady in! 4.5.3 as well.
# 21:11:35 sh4rm4 hmm. maybe i should have had to enable "experimental features" before choosing the gcc version
# 21:11:54 y_morin It's just they did not got that much testing on my side, and nobody reported much (either good or bad) about them, so they still are behind EXPERIMENTAL.
# 21:12:02 y_morin sh4rm4: yes
# 21:12:33 y_morin But I think I'll drop the EXPERIMENTAL status, or nobody wil ever try them out...
# 21:12:41 sh4rm4 heh :)
# 21:13:10 y_morin sh4rm4: while installing kernel headers, I got: unifdef.c:209: error: conflicting types for 'getline'
# 21:13:36 sh4rm4 yeah... glibc's stdio.h is bugged
# 21:13:49 y_morin yeah, I know. Did you get it as well?
# 21:13:55 sh4rm4 yes
# 21:13:59 y_morin OK
# 21:14:10 sh4rm4 now i get a name conflict between getline of one of the kernel header tools and the one of glibc, which pulls in that NON-POSIX proprietary GNU symbol if POSIX_C_SOURCE >= 200809L
# 21:14:10 sh4rm4 thanks, drepper
# 21:14:10 sh4rm4 *system header fixed, gnuism deleted*
# 21:14:40 sh4rm4 i put an #if 0 around that prototype
# 21:15:02 y_morin sh4rm4: proper getline fix is here: https://patchwork.kernel.org/patch/11166/
# 21:15:20 sh4rm4 the right fix would be to add it only if _GNU_SOURCE is defined
# 21:15:40 sh4rm4 y_morin, ah cool, thx
# 21:15:58 y_morin sh4rm4: Bah, as you said, Welcome to Drepper-land! ;-)
# 21:16:18 sh4rm4 ;)
# 21:24:46 y_morin sh4rm4: OK, final compiler built OK here. Failed in binutils for target. Do you really need them?
# 21:25:04 sh4rm4 the reason why it failed is critical
# 21:25:14 sh4rm4 missing crti.o and crtn.o
# 21:25:22 y_morin Hmmm..
# 21:26:07 sh4rm4 without those, you can't link an executable
# 21:26:24 y_morin sh4rm4: indeed, you can't...
# 21:26:54 y_morin find [install-dir] |grep cti
# 21:26:56 y_morin ./powerpc-unknown-linux-uclibc/lib/gcc/powerpc-unknown-linux-uclibc/4.4.6/ncrti.o
# 21:26:58 y_morin ./powerpc-unknown-linux-uclibc/lib/gcc/powerpc-unknown-linux-uclibc/4.4.6/ecrti.o
# 21:27:05 y_morin Strange...
# 21:27:14 sh4rm4 but you can build the objects using the built gcc with: -nostdlib -o crti.o -c .build/somedir_myarch/crti.S
# 21:27:16 y_morin Why do they have 'e' and 'n'
# 21:27:36 y_morin sh4rm4: in the uClibc dir?
# 21:27:48 sh4rm4 y_morin, yes
# 21:27:52 sh4rm4 sec...
# 21:28:04 y_morin sh4rm4: so, bug in uClibc...
# 21:28:57 sh4rm4 uClibc-0.9.30.2/libc/sysdeps/linux/powerpc/crtn.S
# 21:29:27 sh4rm4 and crti.S
# 21:30:49 sh4rm4 hmm... i guess those e and n have a special meaning
# 21:33:54 sh4rm4 E-ABI and N-ABI ?
# 21:34:17 sh4rm4 cat $(srcdir)/config/rs6000/eabi-ci.asm >ecrti.S
# 21:35:04 y_morin probably, yes.
# 21:36:00 y_morin sh4rm4: OK, I just tested the bundled ppc-uclibc sample, and it builds perfectly OK here.
# 21:36:20 y_morin With uClibc-0.9.30.1, though...
# 21:36:53 y_morin find powerpc-unknown-linux-uclibc-2 |grep /crtn
# 21:36:56 sh4rm4 y_morin, it's probably related to "static only"
# 21:36:56 y_morin ./powerpc-unknown-linux-uclibc-2/powerpc-unknown-linux-uclibc/sysroot/usr/lib/crtn.o
# 21:37:18 y_morin sh4rm4: I guess so, I'll enable that in your .config to see if it 'fixes' it...
# 21:37:48 y_morin Still a few minutes before the sample is finished, then back to your .config...
# 21:37:54 sh4rm4 :D
# 21:38:23 y_morin sighs... What are 12 CPU worth, when .configure is purely sequential? :-(
# 21:38:44 sh4rm4 oh yes
# 21:38:57 sh4rm4 configure sometimes takes longer than the build
# 21:39:05 y_morin indeed. Sigh...
# 21:42:34 sh4rm4 configure runs a lot faster on sabotage linux, using musl libc
# 21:43:01 sh4rm4 the author did quite some optimizations to reduce the number of syscalls req. on the startup of programs
# 21:43:29 sh4rm4 and since configure calls hundreds of processes, that makes a notable difference
# 21:46:36 y_morin Arghh!.. getline strikes again... :-/
# 21:47:05 y_morin Well... Last build before bed...
# 21:47:51 y_morin goes out, lights a cigarette, waiting for the build to finish...
# 21:47:52 sh4rm4 :/
# 21:47:55 sh4rm4 http://pkgs.org/mandriva-2010/mandriva-contrib-release-i586/cross-ppc-gcc-3.4.3-8mdv2009.0.i586.rpm.html
# 21:48:17 sh4rm4 this package here has no crti.o and crti.n, but the e/n ones
# 21:49:35 sh4rm4 it seems as if they didn't need them
# 21:49:53 sh4rm4 maybe there's some gcc option which picks the right one
# 21:54:36 y_morin sh4rm4: build broke while building final gcc here.
# 21:54:57 y_morin sh4rm4: doing a quick analysis now...
# 21:57:09 y_morin sh4rm4: I guess I found why. Your uClibc .config does not have shared enabled.
# 21:57:33 sh4rm4 didn't you enable that ?
# 21:57:45 y_morin sh4rm4: only in the crosstool-NG menu.
# 21:57:55 sh4rm4 ouch
# 21:58:03 y_morin sh4rm4: apparently, that's a config knob that I forgot to push down to the uClibc .config...
# 21:58:15 sh4rm4 ah!
# 21:58:55 sh4rm4 but i doubt that it helps in the creation of the crt*.o
# 21:59:08 sh4rm4 except when everything is built shared
# 22:00:28 y_morin sh4rm4: that's not it, in fact.
# 22:00:50 y_morin sh4rm4: in uClibc/Makerules, line 339:
# 22:00:57 y_morin ifeq ($(UCLIBC_CTOR_DTOR),y)
# 22:00:59 y_morin CTOR_TARGETS=$(top_builddir)lib/crti.o $(top_builddir)lib/crtn.o
# 22:01:00 y_morin else
# 22:01:02 y_morin CTOR_TARGETS:=
# 22:01:03 y_morin endif
# 22:01:16 sh4rm4 huh, nice find
# 22:01:19 y_morin So one needs constructors/destructors for crti/crtn...
# 22:01:38 y_morin OK, one last build, just to check... :-/
# 22:01:40 sh4rm4 that sounds quite wrong
# 22:03:09 sh4rm4 ctor/dtor should be c++ only
# 22:03:18 y_morin sh4rm4: and in uClibc/Rules.mak:
# 22:03:24 y_morin ifeq ($(UCLIBC_CTOR_DTOR),y)
# 22:03:25 y_morin SHARED_START_FILES:=$(top_builddir)lib/crti.o $(LIBGCC_DIR)crtbeginS.o
# 22:03:27 y_morin SHARED_END_FILES:=$(LIBGCC_DIR)crtendS.o $(top_builddir)lib/crtn.o
# 22:03:28 y_morin endif
# 22:03:33 y_morin (line 654)
# 22:03:59 y_morin sh4rm4: ctor/dtor is not about C++, it's about the C runtime, IIRC.
# 22:04:09 y_morin sh4rm4: it does not have the same meaning...
# 22:04:12 y_morin IIRC...
# 22:04:21 sh4rm4 oh, thanks for info
# 22:04:22 mnt_real joins #crosstool-ng
# 22:04:55 sh4rm4 so without ctor/dtor, you get an incomplete libc
# 22:05:26 sh4rm4 i'll ask in #uclibc what the reason is
# 22:05:35 y_morin sh4rm4: http://www.gentoo.org/proj/en/base/embedded/handbook/?part=1&chap=2#doc_chap3
# 22:05:40 y_morin sh4rm4: scroll-down to the end.
# 22:07:55 sh4rm4 interesting
# 22:08:03 y_morin pretty much, indeed.
# 22:08:15 y_morin It's glibc-centric, but applies to uClibc as well.
# 22:08:28 smartin quits : Quit: Page closed
# 22:08:36 sh4rm4 i wonder what use the libc is without those 2
# 22:09:08 y_morin sh4rm4: in case you want to provide your own, I guess... :-/
# 22:10:21 sh4rm4 we could fix it by removing that option from the uclibc config that's passed on...
# 22:11:10 y_morin sh4rm4: the proper fix would be to have crosstool-NG always force it.
# 22:11:15 sh4rm4 and i should ask them to rephrase the option, so the meaning is clear
# 22:11:48 sh4rm4 y_morin, yes
# 22:14:39 y_morin sh4rm4: the help entry in the uClibc menuconfig is quite eexplicit what ctors/dtors are.
# 22:15:08 y_morin sh4rm4: but it is not really understandable, unless you already know what is going on...
# 22:17:08 sh4rm4 searching it...
# 22:20:32 y_morin quits : Quit: Time for a refreshing sleep. See you in ~9h...
# 23:39:22 al`_ joins #crosstool-ng
# 23:40:45 al` quits : Ping timeout: 260 seconds

Generated by ibotlog2html by Yann E. MORIN