LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
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.

Notices

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

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


Hi,

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

Why is libgcc_s.so 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 libgcc_s.so for glibc in the next step... so?).

Here are my gcc configure flags:
Code:
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 \
  --enable-languages=c
... and the build flags when linking libgcc_s.so, here:
Code:
/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,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o ./libgcc_s.so.1.tmp -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 ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/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:
Code:
Reading specs from /home/tyler/CLFS/here/build/gcc-build/./gcc/specs
COLLECT_GCC=/home/tyler/CLFS/here/build/gcc-build/./gcc/xgcc
COLLECT_LTO_WRAPPER=/home/tyler/CLFS/here/build/gcc-build/./gcc/lto-wrapper
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) 
COMPILER_PATH=/home/tyler/CLFS/here/build/gcc-build/./gcc/:/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/bin/:/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/lib/:./
LIBRARY_PATH=/home/tyler/CLFS/here/build/gcc-build/./gcc/:/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/bin/:/home/tyler/CLFS/here/cross/i686-pc-linux-gnu/lib/:./
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' './libgcc_s.so.1.tmp' '-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, 02:14 PM   #2
Stachelsk
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

Cheers.
 
  


Reply


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 06:09 PM
gcc: link to a different libc file kinkle Linux - Software 5 04-29-2010 09:45 AM
gcc 4.0.3 first pass - 'libgcc_s.so.1' radiodee1 Linux From Scratch 3 10-13-2006 07:23 PM
questions on GCC-3.4.3 - Pass 2 and Binutils-2.15.94.0.2.2 - Pass 2 satimis Linux From Scratch 7 12-26-2005 10:23 PM


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

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