Review your favorite Linux distribution.
Go Back > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Linux From Scratch This Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.


  Search this Thread
Old 08-31-2012, 12:29 PM   #1
LQ Newbie
Registered: May 2009
Posts: 6

Rep: Reputation: 0
CLFS: gcc pass 1: Cannot link because missing crts and libc


I should put out a warning that I'm not following the CLFS books to a tee.

Why is trying to link against crts? I specified --with-newlib for my gcc configure flags. The only way I can get libgcc to compile is by passing --disable-shared (but I need for glibc in the next step... so?).

Here are my gcc configure flags:
AR=ar LDFLAGS="-Wl,-rpath,${CLFS_DIR}/cross/lib" \
../gcc-4.7.1/configure --prefix=${CLFS_DIR}/cross \
  --build=${CLFS_HOST} \
  --host=${CLFS_HOST} \
  --target=${CLFS_TARGET} \
  --with-sysroot=${CLFS_DIR} \
  --with-local-prefix=/tools \
  --with-native-system-header-dir=/tools/include \
  --with-gmp=${CLFS_DIR}/cross \
  --with-mpfr=${CLFS_DIR}/cross \
  --with-mpc=${CLFS_DIR}/cross \
  --with-ppl=${CLFS_DIR}/cross \
  --with-cloog=${CLFS_DIR}/cross \
  --with-newlib \
  --without-headers \
  --disable-decimal-float \
  --disable-libgomp \
  --disable-libmudflap \
  --disable-libquadmath \
  --disable-libssp \
  --disable-multilib \
  --disable-threads \
  --enable-cloog-backend=isl \
... and the build flags when linking, here:
/home/tyler/CLFS/here/build/gcc-build/./gcc/xgcc -B/home/tyler/CLFS/here/build/gcc-build/./gcc/ -B/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/bin/ -B/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/lib/ -isystem /home/tyler/CLFS/here/cross/i686-pc-linux-gnu/include -isystem /home/tyler/CLFS/here/cross/i686-pc-linux-gnu/sys-include    -O2  -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fpic -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -shared -nodefaultlibs -Wl, -Wl, -o ./ -g -O2 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o tf-signs_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o enable-execute-stack_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o -lc && rm -f ./ && if [ -f ./ ]; then mv -f ./ ./; else true; fi && mv ./ ./ && ln -s ./
/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/bin/ld: cannot find crti.o: No such file or directory
/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/bin/ld: cannot find -lc
/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/bin/ld: cannot find crtn.o: No such file or directory
Here is the output of the above command with --verbose passed to xgcc:
Reading specs from /home/tyler/CLFS/here/build/gcc-build/./gcc/specs
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.7.1/configure --prefix=/home/tyler/CLFS/here/cross --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu --target=i686-pc-linux-gnu --with-sysroot=/home/tyler/CLFS/here --with-local-prefix=/tools --with-native-system-header-dir=/tools/include --with-gmp=/home/tyler/CLFS/here/cross --with-mpfr=/home/tyler/CLFS/here/cross --with-mpc=/home/tyler/CLFS/here/cross --with-ppl=/home/tyler/CLFS/here/cross --with-cloog=/home/tyler/CLFS/here/cross --with-newlib --without-headers --disable-decimal-float --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-multilib --disable-static --disable-threads --enable-cloog-backend=isl --enable-languages=c
Thread model: single
gcc version 4.7.1 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-B' '/home/tyler/CLFS/here/build/gcc-build/./gcc/' '-B' '/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/bin/' '-B' '/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/lib/' '-isystem' '/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/include' '-isystem' '/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/sys-include' '-O2' '-g' '-O2' '-D' 'IN_GCC' '-D' 'CROSS_DIRECTORY_STRUCTURE' '-Wextra' '-Wall' '-Wwrite-strings' '-Wcast-qual' '-Wstrict-prototypes' '-Wmissing-prototypes' '-Wold-style-definition' '-isystem' './include' '-fpic' '-g' '-D' 'IN_LIBGCC2' '-fbuilding-libgcc' '-fno-stack-protector' '-D' 'inhibit_libc' '-shared' '-nodefaultlibs' '-o' './' '-g' '-O2' '-B' './' '-mtune=generic' '-march=pentiumpro'
I have a feeling might be the fact that it's attempting to use the cross compiler's linker (instead of the system linker).

Thanks for your time!
Old 08-31-2012, 01:14 PM   #2
LQ Newbie
Registered: May 2009
Posts: 6

Original Poster
Rep: Reputation: 0
Oops... solved my own problem. I should have built with --disable-shared as I thought!

It's a bug when building gcc-4.7.1 with glibc-2.16. Executing the following line fixed the problem:
sed -i 's/ -lgcc_s//' Makeconfig



Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Makefile:274: *** missing separator. Stop. LFS, Chapter 5, GCC-4.5.1 Pass 2 b.morgan.296 Linux From Scratch 6 01-05-2011 05:09 PM
gcc: link to a different libc file kinkle Linux - Software 5 04-29-2010 08:45 AM
gcc 4.0.3 first pass - '' radiodee1 Linux From Scratch 3 10-13-2006 06:23 PM
questions on GCC-3.4.3 - Pass 2 and Binutils- - Pass 2 satimis Linux From Scratch 7 12-26-2005 09:23 PM

All times are GMT -5. The time now is 01:20 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration