On Mon, 22 Aug 2005, Mikhail Swift wrote:

ve been wanting to do a LFS, and have been having problems with
compiling glibc, no matter what I do.


../sysdeps/unix/sysv/linux/i386/setgroups.c: In function `setgroups':
../sysdeps/unix/sysv/linux/i386/setgroups.c:47: error:
`__NR_setgroups32' undeclared (first use in this function)
../sysdeps/unix/sysv/linux/i386/setgroups.c:47: error: (Each
undeclared identifier is reported only once

I can't figure it out.... I'm using the x86_64 version of the
linux-libc-headers-2.6.12 package. I run an Athlon 64 3200+, 512mb
RAM. I've tried using the i386 headers.


Hmm, there isn't an x86_64 version of the headers package - I assume you mean asm-x86_64 ? Using only that will give you the 64-bit headers for a pure64 build, but not 32-bit headers. I think that is your problem, although using i386 headers should work on a 32-bit host.

I'm using the livecd of PCLinuxOS to do it, although I have tried it
with the LFS livecd. Please help.. I'd really like to do this for some
experience and satisfaction.

I'm not familiar with the PCLinuxOS, but the LFS live cd was i686 (32-bit) last I heard. If you are building from a 32-bit host, it isn't just a question of using the 64-bit headers, you have to cross-compile to get a 64-bit system (and you have to be running a 64-bit kernel before you build the final system - the part done in chroot by conventional LFS).

Basically, you have to decide what you want :) On x86_64 we have at least the following options -

(a) just a fast 32-bit system : build from a 32-bit host, follow the book *exactly* as for i686 including asm-i386 headers and lib/ld-linux.so.2.

(b) pure64 (a fully 64-bit system, using /lib) - if you can stomach lilo as the bootloader, look at my hint at http://www.kenmoffat.uklinux.net/hints - the cross-lfs book is working towards a pure64 option, but using grub (that part and maybe others doesn't build yet).

(c) pure64 plus 32-bit libraries in /lib32 - wait for the cross-lfs book to get there (AFAIK, nobody has produced a detailed explanation of this although I think Ryan has/had patches in his cross-lfs tarballs). At the moment, this has to be regarded as experimental - I have a lot of hopes for it, but it might not fulfil all of them.

(d) multilib as presented by fedora, Suse, mandriva, and others - 64-bit libraries in /lib64, 32-bit in /lib. The cross-lfs book's version of this should work. You have to copy both the asm-i386 and asm-x86_64 headers to subdirectories of include, plus provide stub-headers pointing to the appropriate 32- or 64- bit version : I think cross-lfs has a patch to provide the stub-headers, which reduces the need for scripting skills. The downside to this version of multilib is remembering to use /lib64 for every BLFS package that touches /lib (most respect --libdir, but a few don't).

HTH

Krn
--
 das eine Mal als Tragödie, das andere Mal als Farce
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to