Hi all,
I compiled LFS on a Pentium dual-core system, then moved the completed installation over to my Sony PictureBook with Transmeta Crusoe processor. I compiled the kernel with the Crusoe optimizations, but I did not take any other specific steps in compiling the LFS.
The LFS boots fine, and everything works, and on the laptop itself most programs have compiled and ran without any issue. The one exception so far I've found to this is iptables:
Code:
root [ /usr/src/iptables-1.4.18 ]# make
make all-recursive
make[1]: Entering directory `/usr/src/iptables-1.4.18'
Making all in libiptc
make[2]: Entering directory `/usr/src/iptables-1.4.18/libiptc'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libip4tc.lo -MD -MP -MF .deps/libip4tc.Tpo -c -o libip4tc.lo libip4tc.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libip4tc.lo -MD -MP -MF .deps/libip4tc.Tpo -c libip4tc.c -fPIC -DPIC -o .libs/libip4tc.o
mv -f .deps/libip4tc.Tpo .deps/libip4tc.Plo
/bin/sh ../libtool --tag=CC --mode=link gcc -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -version-info 1:0:1 -o libip4tc.la -rpath /lib libip4tc.lo
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
libtool: link: gcc -shared -fPIC -DPIC .libs/libip4tc.la.lnkscript -O2 -Wl,-soname -Wl,libip4tc.so.0 -o .libs/libip4tc.so.0.1.0
libtool: link: rm -f .libs/libip4tc.la.lnkscript
libtool: link: (cd ".libs" && rm -f "libip4tc.so.0" && ln -s "libip4tc.so.0.1.0" "libip4tc.so.0")
libtool: link: (cd ".libs" && rm -f "libip4tc.so" && ln -s "libip4tc.so.0.1.0" "libip4tc.so")
libtool: link: ( cd ".libs" && rm -f "libip4tc.la" && ln -s "../libip4tc.la" "libip4tc.la" )
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libip6tc.lo -MD -MP -MF .deps/libip6tc.Tpo -c -o libip6tc.lo libip6tc.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libip6tc.lo -MD -MP -MF .deps/libip6tc.Tpo -c libip6tc.c -fPIC -DPIC -o .libs/libip6tc.o
mv -f .deps/libip6tc.Tpo .deps/libip6tc.Plo
/bin/sh ../libtool --tag=CC --mode=link gcc -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -version-info 1:0:1 -Wl,--no-as-needed -o libip6tc.la -rpath /lib libip6tc.lo
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
libtool: link: gcc -shared -fPIC -DPIC .libs/libip6tc.la.lnkscript -O2 -Wl,--no-as-needed -Wl,-soname -Wl,libip6tc.so.0 -o .libs/libip6tc.so.0.1.0
libtool: link: rm -f .libs/libip6tc.la.lnkscript
libtool: link: (cd ".libs" && rm -f "libip6tc.so.0" && ln -s "libip6tc.so.0.1.0" "libip6tc.so.0")
libtool: link: (cd ".libs" && rm -f "libip6tc.so" && ln -s "libip6tc.so.0.1.0" "libip6tc.so")
libtool: link: ( cd ".libs" && rm -f "libip6tc.la" && ln -s "../libip6tc.la" "libip6tc.la" )
/bin/sh ../libtool --tag=CC --mode=link gcc -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -version-info 0:0:0 -Wl,--no-as-needed -o libiptc.la -rpath /lib libip4tc.la libip6tc.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
libtool: link: gcc -shared -fPIC -DPIC -Wl,-rpath -Wl,/usr/src/iptables-1.4.18/libiptc/.libs ./.libs/libip4tc.so ./.libs/libip6tc.so -O2 -Wl,--no-as-needed -Wl,-soname -Wl,libiptc.so.0 -o .libs/libiptc.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libiptc.so.0" && ln -s "libiptc.so.0.0.0" "libiptc.so.0")
libtool: link: (cd ".libs" && rm -f "libiptc.so" && ln -s "libiptc.so.0.0.0" "libiptc.so")
libtool: link: ( cd ".libs" && rm -f "libiptc.la" && ln -s "../libiptc.la" "libiptc.la" )
make[2]: Leaving directory `/usr/src/iptables-1.4.18/libiptc'
Making all in libxtables
make[2]: Entering directory `/usr/src/iptables-1.4.18/libxtables'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -I../iptables -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libxtables_la-xtables.lo -MD -MP -MF .deps/libxtables_la-xtables.Tpo -c -o libxtables_la-xtables.lo `test -f 'xtables.c' || echo './'`xtables.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -I../iptables -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libxtables_la-xtables.lo -MD -MP -MF .deps/libxtables_la-xtables.Tpo -c xtables.c -fPIC -DPIC -o .libs/libxtables_la-xtables.o
mv -f .deps/libxtables_la-xtables.Tpo .deps/libxtables_la-xtables.Plo
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -I../iptables -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libxtables_la-xtoptions.lo -MD -MP -MF .deps/libxtables_la-xtoptions.Tpo -c -o libxtables_la-xtoptions.lo `test -f 'xtoptions.c' || echo './'`xtoptions.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -I../iptables -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libxtables_la-xtoptions.lo -MD -MP -MF .deps/libxtables_la-xtoptions.Tpo -c xtoptions.c -fPIC -DPIC -o .libs/libxtables_la-xtoptions.o
mv -f .deps/libxtables_la-xtoptions.Tpo .deps/libxtables_la-xtoptions.Plo
/bin/sh ../libtool --tag=CC --mode=link gcc -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -version-info 10:0:0 -o libxtables.la -rpath /lib libxtables_la-xtables.lo libxtables_la-xtoptions.lo -ldl
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
libtool: link: gcc -shared -fPIC -DPIC .libs/libxtables.la.lnkscript -ldl -O2 -Wl,-soname -Wl,libxtables.so.10 -o .libs/libxtables.so.10.0.0
libtool: link: rm -f .libs/libxtables.la.lnkscript
libtool: link: (cd ".libs" && rm -f "libxtables.so.10" && ln -s "libxtables.so.10.0.0" "libxtables.so.10")
libtool: link: (cd ".libs" && rm -f "libxtables.so" && ln -s "libxtables.so.10.0.0" "libxtables.so")
libtool: link: ( cd ".libs" && rm -f "libxtables.la" && ln -s "../libxtables.la" "libxtables.la" )
make[2]: Leaving directory `/usr/src/iptables-1.4.18/libxtables'
Making all in include
make[2]: Entering directory `/usr/src/iptables-1.4.18/include'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/iptables-1.4.18/include'
Making all in libipq
make[2]: Entering directory `/usr/src/iptables-1.4.18/libipq'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libipq.lo -MD -MP -MF .deps/libipq.Tpo -c -o libipq.lo libipq.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DXTABLES_LIBDIR=\"/lib/xtables\" -DXTABLES_INTERNAL -I../include -I../include -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -MT libipq.lo -MD -MP -MF .deps/libipq.Tpo -c libipq.c -fPIC -DPIC -o .libs/libipq.o
mv -f .deps/libipq.Tpo .deps/libipq.Plo
/bin/sh ../libtool --tag=CC --mode=link gcc -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -g -O2 -o libipq.la -rpath /lib libipq.lo
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
libtool: link: gcc -shared -fPIC -DPIC .libs/libipq.la.lnkscript -O2 -Wl,-soname -Wl,libipq.so.0 -o .libs/libipq.so.0.0.0
libtool: link: rm -f .libs/libipq.la.lnkscript
libtool: link: (cd ".libs" && rm -f "libipq.so.0" && ln -s "libipq.so.0.0.0" "libipq.so.0")
libtool: link: (cd ".libs" && rm -f "libipq.so" && ln -s "libipq.so.0.0.0" "libipq.so")
libtool: link: ( cd ".libs" && rm -f "libipq.la" && ln -s "../libipq.la" "libipq.la" )
make[2]: Leaving directory `/usr/src/iptables-1.4.18/libipq'
Making all in extensions
make[2]: Entering directory `/usr/src/iptables-1.4.18/extensions'
GEN initext.c
CC initext.o
AR libext.a
GEN initext4.c
CC initext4.o
AR libext4.a
GEN initext6.c
CC initext6.o
AR libext6.a
GEN matches.man
+ ./libxt_addrtype.man
+ ./libip6t_ah.man
+ ./libipt_ah.man
+ ./libxt_cluster.man
+ ./libxt_comment.man
+ ./libxt_connbytes.man
+ ./libxt_connlimit.man
+ ./libxt_connmark.man
+ ./libxt_conntrack.man
+ ./libxt_cpu.man
+ ./libxt_dccp.man
+ ./libxt_devgroup.man
+ ./libxt_dscp.man
+ ./libip6t_dst.man
+ ./libxt_ecn.man
+ ./libxt_esp.man
+ ./libip6t_eui64.man
+ ./libip6t_frag.man
+ ./libxt_hashlimit.man
+ ./libip6t_hbh.man
+ ./libxt_helper.man
+ ./libip6t_hl.man
+ ./libipt_icmp.man
+ ./libip6t_icmp6.man
+ ./libxt_iprange.man
+ ./libip6t_ipv6header.man
+ ./libxt_ipvs.man
+ ./libxt_length.man
+ ./libxt_limit.man
+ ./libxt_mac.man
+ ./libxt_mark.man
+ ./libip6t_mh.man
+ ./libxt_multiport.man
+ ./libxt_nfacct.man
+ ./libxt_osf.man
+ ./libxt_owner.man
+ ./libxt_physdev.man
+ ./libxt_pkttype.man
+ ./libxt_policy.man
+ ./libxt_quota.man
+ ./libxt_rateest.man
+ ./libipt_realm.man
+ ./libxt_recent.man
+ ./libxt_rpfilter.man
+ ./libip6t_rt.man
+ ./libxt_sctp.man
+ ./libxt_set.man
+ ./libxt_socket.man
+ ./libxt_state.man
+ ./libxt_statistic.man
+ ./libxt_string.man
+ ./libxt_tcp.man
+ ./libxt_tcpmss.man
+ ./libxt_time.man
+ ./libxt_tos.man
+ ./libipt_ttl.man
+ ./libxt_u32.man
+ ./libxt_udp.man
+ ./libipt_unclean.man
GEN targets.man
+ ./libxt_AUDIT.man
+ ./libxt_CHECKSUM.man
+ ./libxt_CLASSIFY.man
+ ./libipt_CLUSTERIP.man
+ ./libxt_CONNMARK.man
+ ./libxt_CONNSECMARK.man
+ ./libxt_CT.man
+ ./libipt_DNAT.man
+ ./libxt_DSCP.man
+ ./libipt_ECN.man
+ ./libip6t_HL.man
+ ./libxt_HMARK.man
+ ./libxt_IDLETIMER.man
+ ./libxt_LED.man
+ ./libip6t_LOG.man
+ ./libipt_LOG.man
+ ./libxt_MARK.man
+ ./libip6t_MASQUERADE.man
+ ./libipt_MASQUERADE.man
+ ./libipt_MIRROR.man
+ ./libipt_NETMAP.man
+ ./libxt_NFLOG.man
+ ./libxt_NFQUEUE.man
+ ./libxt_NOTRACK.man
+ ./libxt_RATEEST.man
+ ./libipt_REDIRECT.man
+ ./libip6t_REJECT.man
+ ./libipt_REJECT.man
+ ./libipt_SAME.man
+ ./libxt_SECMARK.man
+ ./libxt_SET.man
+ ./libipt_SNAT.man
+ ./libxt_TCPMSS.man
+ ./libxt_TCPOPTSTRIP.man
+ ./libxt_TEE.man
+ ./libxt_TOS.man
+ ./libxt_TPROXY.man
+ ./libxt_TRACE.man
+ ./libipt_TTL.man
+ ./libipt_ULOG.man
CC libxt_AUDIT.lo
CCLD libxt_AUDIT.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_CHECKSUM.lo
CCLD libxt_CHECKSUM.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_CLASSIFY.lo
CCLD libxt_CLASSIFY.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_CONNMARK.lo
CCLD libxt_CONNMARK.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_CONNSECMARK.lo
CCLD libxt_CONNSECMARK.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_CT.lo
CCLD libxt_CT.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_DSCP.lo
CCLD libxt_DSCP.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_HMARK.lo
CCLD libxt_HMARK.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_IDLETIMER.lo
CCLD libxt_IDLETIMER.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_LED.lo
CCLD libxt_LED.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_MARK.lo
CCLD libxt_MARK.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_NFLOG.lo
CCLD libxt_NFLOG.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_NFQUEUE.lo
CCLD libxt_NFQUEUE.la
../libtool: line 8733: test: : integer expression expected
../libtool: line 8733: test: : integer expression expected
CC libxt_RATEEST.lo
libxt_RATEEST.c: In function 'RATEEST_final_check':
libxt_RATEEST.c:108:13: internal compiler error: Illegal instruction
static void RATEEST_final_check(struct xt_fcheck_call *cb)
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [libxt_RATEEST.lo] Error 1
make[2]: Leaving directory `/usr/src/iptables-1.4.18/extensions'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/iptables-1.4.18'
make: *** [all] Error 2
I didn't compile the LFS right on the laptop because it only has 192MB RAM (its maximum) and much of the compiles for system software will choke in this little amount of ram; or, if I create sufficient swap, will drag on and on and on while the drive is smashed with all the swapping activity. (The final build of glibc and gcc comes to mind... Even on a 512MB system I had to create a 512MB swap partition just to get the compile to succeed without the kernel killing processes due to lack of RAM.)
Any advice here?
Thanks
F