On Saturday 18 October 2008 13:28:20 Vladimir Dronnikov wrote: > Hello, Rob! > > > The mini-native tarballs... > > I could not chroot to it cleanly. Will be continuing testing...
Ah, sorry: chroot dirname /tools/bin/bash or: chroot dirname /tools/bin/chroot-setup.sh (The tarballs I have up are based on the Linux From Scratch intermediate stage, so everything's in the /tools directory. That's not a requirement, just how the current ones are set up. There are other build options in the script, and a lot of easy changes to make to it...) > > The cross-compiler... > > 0) Looks that it is what I need! > 1) They are statically linked -- that is great! Statically linked against uClibc even. :) > 2) They miss bison/flex/autotools -- can you add them? Shouldn't it use the ones installed on your host system when you're cross compiling? If you mean they're not in the target root filesystem, you can build them under it. (I've done this before.) The theory behind the project is to cross compile the absolute minimum system under which one can natively build a complete Linux From Scratch system. (Once you've got that, you should be able to build debian or gentoo or any other distro on whatever your target is. All your problems from there are native build ones, all the fiddly cross compiling is over and done with.) In practice, the glibc in LFS 6.3 won't build on a host that doesn't have TLS support. (Yet again, glibc is broken.) You should be able to build a uClibc LFS, though, and once I get a uClibc with TLS... > 3) I can't get configure scripts working -- configure complains it > can't find ld on the $PATH. How can I fix that? --host=i686 does not > solve the problem. I had to manually symlink i686-(.*) to non-prefixed > ones. That's what /tools/bin/chroot-setup.sh is for, it makes lots of symlinks and empty directories so the /tools thing, mounts /proc and /sys... Generally gives you something more like a normal build environment. qemu-setup.sh is the same script, except if run with that name it does extra work (ifconfig and such) that you don't want to do in a chroot. > 4) g++ and its libes/headers missed. Actually they're there but the wrapper script isn't tested for 'em. I really should get around to that, but I really don't use c++ much for fun. > 5) nasm? Just the gas that goes with binutils. (You're welcome to build it yourself. I'm not sure how many targets nasm supports...) > 6) gcc 4.3.2, uClibc 0.9.30? uClibc 0.9.30-rc2 I have here, I just haven't uploaded it yet. (I can if you like.) Newer gcc versions don't work with arm soft float. (Specifically, they don't put the soft float functions in libgcc.a, so you can't statically build anything and the cross compiler doesn't work at _all_. (The cross compiler is built with --disable-shared to avoid the whole "libgcc_s.so needs libc.so" chicken and egg problem. The native compiler is build after uClibc is, so it's --enable-shared and has a libgcc_s.so. This still doesn't fix static linking, though.) Even 4.1.2 needed to be patched to make it work, but the gcc build system gratuitously changed in 4.2 and the patch doesn't work, nor is it easily adapted. Peter Mazinger gave me some tips on how to go about doing it for 4.3, I just haven't gotten around to it... Rob _______________________________________________ uClibc mailing list [email protected] http://busybox.net/cgi-bin/mailman/listinfo/uclibc
