LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Building glibc 2.5.1 with compiler options for using the SSE/SSE2 module (https://www.linuxquestions.org/questions/linux-software-2/building-glibc-2-5-1-with-compiler-options-for-using-the-sse-sse2-module-690399/)

ykwok 12-13-2008 06:19 PM

Building glibc 2.5.1 with compiler options for using the SSE/SSE2 module
 
Hi,

I am building glibc 2.5.1. My goal is to have the math library /lib/libm-2.5.1.so to performance math operations with the SSE/SSE modules instead of the default 387 FPU, for the reason for numerical quality.

This is how I configure glibc.
Code:

$ ../glibc-2.5.1/configure CFLAGS="-mfpmath=sse -msse -msse2" CXXFLAGS="-mfpmath=sse -msse -msse2" --prefix=/usr
The configure process finished successfully with 0 as the exit code. Then, I make'ed glibc with the following command line.
Code:

$ make -j6
Then, I got the following errors (only the last couple lines are shown but it contains all error messages).

Code:

rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h.new
make[2]: *** [/home/ykwok2/tmp/glibc/src/object-2.5.1/tcb-offsets.h] Error 1
make[2]: *** Waiting for unfinished jobs....
sed -e 's/#.*$//' -e '/^[      ]*$/d' ../abi-tags | \
        while read conf tagos tagver; do \
          test `expr 'i686-pc-linux-gnu' \
                    : "$conf"` != 0 || continue; \
          ( echo "$tagos" | \
            sed -e 's/[^0-9xXa-fA-F    ]//' \
                -e 's/^/#define __ABI_TAG_OS /'; \
            echo "#ifndef __ABI_TAG_VERSION"; \
            echo "$tagver" | \
            sed -e 's/[^0-9xXa-fA-F]/ /g' -e 's/ *$//' \
              -e 's/ /,/g' -e 's/^/# define __ABI_TAG_VERSION /'; \
            echo "#endif" ) > /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-ta
g.h.new; \
        done
if test -r /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h.new; then mv -f
 /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h.new /home/ykwok2/tmp/glib
c/src/object-2.5.1/csu/abi-tag.h; \
        else echo >&2 'This configuration not matched in ../abi-tags'; exit 1; f
i
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/version-info.hT /home/ykwok2/t
mp/glibc/src/object-2.5.1/csu/version-info.h
make[2]: Leaving directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1'
make: *** [all] Error 2

My sys info:
Dual Intel Xeon (2-way HyperTheading)
1GB memory
32-bit CentOS 5.2
2.6.18-92.1.18.el5
gcc 4.1.2
glibc-2.5-24.el5_2.2

Do you have a clue? Please help. Thank you!

weibullguy 12-14-2008 04:21 PM

You didn't post enough of the output. You need to post the actual error message, not just the exit status (Error 1 and Error 2).

ykwok 12-14-2008 04:58 PM

Full output of make
 
Hi,

Thank you very much for pointing it out. Here is the almost full output of

$ make -j6

I cannot post the full output due to the 25000 characters limit of the post. Therefore, I truncated the beginning.

Please pay attention on the following line at almost the end.

This configuration not matched in ../abi-tags'; exit 1


I cannot understand why there is a problem with the ABI. I did not change anything regarding the ABI configuration. For additional info, I got the same error during make if I specify -O0 in CFLAGS and CXXFLAGS.

Please help. I would greatly appreciate.

Code:

sed -e 's@ /home/ykwok2/tmp/glibc/src/object-2\.5\.1/@ $(common-objpfx)@g' -e 's
@^/home/ykwok2/tmp/glibc/src/object-2\.5\.1/@$(common-objpfx)@g' -e 's@  *\([^ \
/$][^  \]*\)@ $(..)\1@g' -e 's@^\([^  \/$][^  \]*\)@$(..)\1@g'              \            /home/ykwok2/tmp/glibc/src/object-2.5.1/bits/stdio_lim.dT > /home/yk
wok2/tmp/glibc/src/object-2.5.1/bits/stdio_lim.dt
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/bits/stdio_lim.dt /home/ykwok2/tmp
/glibc/src/object-2.5.1/bits/stdio_lim.d
fopen_max=`sed -n 's/^#define OPEN_MAX //1p' /home/ykwok2/tmp/glibc/src/object-2
.5.1/bits/stdio_lim.hT`;        \
        filename_max=`sed -n 's/^#define PATH_MAX //1p' /home/ykwok2/tmp/glibc/s
rc/object-2.5.1/bits/stdio_lim.hT`;    \
        iov_max=`sed -n 's/^#define UIO_MAXIOV //p' /home/ykwok2/tmp/glibc/src/o
bject-2.5.1/bits/stdio_lim.hT`; \
        fopen_max=${fopen_max:-16};                                    \
        filename_max=${filename_max:-1024};                            \
        if [ -z "$iov_max" ]; then                                      \
          define_iov_max="# undef IOV_MAX";                            \
        else                                                            \
          define_iov_max="# define IOV_MAX $iov_max";                  \
        fi;                                                            \
        sed -e "s/@FOPEN_MAX@/$fopen_max/"                              \
            -e "s/@FILENAME_MAX@/$filename_max/"                        \
            -e "s/@L_tmpnam@/20/"                              \
            -e "s/@TMP_MAX@/238328/"                            \
            -e "s/@L_ctermid@/9/"                              \
            -e "s/@L_cuserid@/9/"                              \
            -e "s/@define_IOV_MAX@/$define_iov_max/"                    \
            stdio-common/stdio_lim.h.in > /home/ykwok2/tmp/glibc/src/object-2.5.
1/bits/stdio_lim.h.new
/bin/sh scripts/move-if-change /home/ykwok2/tmp/glibc/src/object-2.5.1/bits/stdi
o_lim.h.new /home/ykwok2/tmp/glibc/src/object-2.5.1/bits/stdio_lim.h
rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/bits/stdio_lim.hT /home/ykwok2/tmp
/glibc/src/object-2.5.1/bits/stdio_lim.dT /home/ykwok2/tmp/glibc/src/object-2.5.
1/bits/stdio_lim.dt
touch /home/ykwok2/tmp/glibc/src/object-2.5.1/bits/stdio_lim.st
sed '/^[        ]*#/d;s/^[      ]*%/#/' nptl/shlib-versions nptl_db/shlib-versio
ns shlib-versions \
        | gcc -E -undef  -Iinclude  -I/home/ykwok2/tmp/glibc/src/object-2.5.1 -I
sysdeps/i386/elf -Inptl/sysdeps/unix/sysv/linux/i386/i686 -Inptl/sysdeps/unix/sy
sv/linux/i386 -Isysdeps/unix/sysv/linux/i386 -Inptl/sysdeps/unix/sysv/linux -Inp
tl/sysdeps/pthread -Isysdeps/pthread -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Is
ysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i
386 -Inptl/sysdeps/unix/sysv -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Inptl/sysd
eps/unix -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Inptl/sysdeps/i
386/i686 -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Inptl/sysdeps/i386/i486 -Isysd
eps/i386/fpu -Inptl/sysdeps/i386 -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/
ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee
754 -Isysdeps/generic/elf -Isysdeps/generic -Inptl  -Ilibio -I.  -D_LIBC_REENTR
ANT -include include/libc-symbols.h      -x assembler-with-cpp - \
                  > /home/ykwok2/tmp/glibc/src/object-2.5.1/shlib-versions.v.iT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/shlib-versions.v.iT /home/ykwok2/t
mp/glibc/src/object-2.5.1/shlib-versions.v.i
sed '/^[        ]*#/d;/^[      ]*$/d' /home/ykwok2/tmp/glibc/src/object-2.5.1/s
hlib-versions.v.i > /home/ykwok2/tmp/glibc/src/object-2.5.1/shlib-versions.vT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/shlib-versions.vT /home/ykwok2/tmp
/glibc/src/object-2.5.1/shlib-versions.v
gawk -v default_setname='' \
              -v cpu='i686' \
              -v vendor='pc' \
              -v os='linux-gnu' \
              -f scripts/soversions.awk /home/ykwok2/tmp/glibc/src/object-2.5.1
/shlib-versions.v > /home/ykwok2/tmp/glibc/src/object-2.5.1/soversions.iT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/soversions.iT /home/ykwok2/tmp/gli
bc/src/object-2.5.1/soversions.i
sed '/^[        ]*#/d;s/^[      ]*%/#/' Versions.def \
        | gcc -E -undef  -Iinclude  -I/home/ykwok2/tmp/glibc/src/object-2.5.1 -I
sysdeps/i386/elf -Inptl/sysdeps/unix/sysv/linux/i386/i686 -Inptl/sysdeps/unix/sy
sv/linux/i386 -Isysdeps/unix/sysv/linux/i386 -Inptl/sysdeps/unix/sysv/linux -Inp
tl/sysdeps/pthread -Isysdeps/pthread -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Is
ysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i
386 -Inptl/sysdeps/unix/sysv -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Inptl/sysd
eps/unix -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Inptl/sysdeps/i
386/i686 -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Inptl/sysdeps/i386/i486 -Isysdeps/i386/fpu -Inptl/sysdeps/i386 -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/
ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee
754 -Isysdeps/generic/elf -Isysdeps/generic -Inptl  -Ilibio -I.  -D_LIBC_REENTR
ANT -include include/libc-symbols.h      -x assembler-with-cpp - \
                  > /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.def.v.iT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.def.v.iT /home/ykwok2/tmp
/glibc/src/object-2.5.1/Versions.def.v.i
sed '/^[        ]*#/d;/^[      ]*$/d' /home/ykwok2/tmp/glibc/src/object-2.5.1/V
ersions.def.v.i > /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.def.vT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.def.vT /home/ykwok2/tmp/g
libc/src/object-2.5.1/Versions.def.v
{ while read which lib version setname; do \
            test x"$which" = xDEFAULT || continue; \
            test -z "$setname" || echo "$lib : $setname"; \
          done < /home/ykwok2/tmp/glibc/src/object-2.5.1/soversions.i; \
          cat /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.def.v; \
        } | LC_ALL=C gawk -f scripts/firstversions.awk > /home/ykwok2/tmp/glibc/
src/object-2.5.1/Versions.allT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.allT /home/ykwok2/tmp/gli
bc/src/object-2.5.1/Versions.all
LC_ALL=C gawk -v oldest_abi=default -f scripts/abi-versions.awk /home/ykwok2/tmp
/glibc/src/object-2.5.1/Versions.all > /home/ykwok2/tmp/glibc/src/object-2.5.1/a
bi-versions.hT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/abi-versions.hT /home/ykwok2/tmp/g
libc/src/object-2.5.1/abi-versions.h
rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/tls.makeT /home/ykwok2/tmp/glibc/s
rc/object-2.5.1/tls.make.dT
(echo '# Generated from tls.make.c by Makerules.'; \
        gcc -std=gnu99 -Wall -Winline -Wwrite-strings -fmerge-all-constants -mf
pmath=sse -msse -msse2 -Wstrict-prototypes -mpreferred-stack-boundary=2    -Iin
clude  -I/home/ykwok2/tmp/glibc/src/object-2.5.1 -Isysdeps/i386/elf -Inptl/sysde
ps/unix/sysv/linux/i386/i686 -Inptl/sysdeps/unix/sysv/linux/i386 -Isysdeps/unix/
sysv/linux/i386 -Inptl/sysdeps/unix/sysv/linux -Inptl/sysdeps/pthread -Isysdeps/
pthread -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/
unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Inptl/sysdeps/unix/sysv
-Isysdeps/unix/sysv -Isysdeps/unix/i386 -Inptl/sysdeps/unix -Isysdeps/unix -Isys
deps/posix -Isysdeps/i386/i686/fpu -Inptl/sysdeps/i386/i686 -Isysdeps/i386/i686
-Isysdeps/i386/i486 -Inptl/sysdeps/i386/i486 -Isysdeps/i386/fpu -Inptl/sysdeps/i
386 -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/iee
e754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Is
ysdeps/generic -Inptl  -Ilibio -I.  -D_LIBC_REENTRANT -include include/libc-sym
bols.h      -E -DASSEMBLER tls.make.c \
              -MD -MP -MT '$(common-objpfx)tls.make' -MF /home/ykwok2/tmp/glibc
/src/object-2.5.1/tls.make.dT \
        | sed -n '/@@@/{s/@@@[  ]*\(.*\)@@@/\1/;s/[    ]*$//p;}'; \
        echo 'common-generated += tls.make'; \
        sed -e 's@ /home/ykwok2/tmp/glibc/src/object-2\.5\.1/@ $(common-objpfx)
@g' -e 's@^/home/ykwok2/tmp/glibc/src/object-2\.5\.1/@$(common-objpfx)@g' -e 's@
  *\([^        \/$][^  \]*\)@ $(..)\1@g' -e 's@^\([^  \/$][^  \]*\)@$(..)\1@g'
 /home/ykwok2/tmp/glibc/src/object-2.5.1/tls.make.dT; \
        rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/tls.make.dT) > /home/ykwo
k2/tmp/glibc/src/object-2.5.1/tls.makeT
In file included from ./include/libc-symbols.h:55,
                from <command line>:1:
/home/ykwok2/tmp/glibc/src/object-2.5.1/config.h:3:3: error: #error "glibc canno
t be compiled without optimization"
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/tls.makeT /home/ykwok2/tmp/glibc/s
rc/object-2.5.1/tls.make
sed '/^[        ]*#/d;s/^[      ]*%/#/' csu/Versions iconv/Versions locale/Versi
ons assert/Versions ctype/Versions intl/Versions catgets/Versions math/Versions
setjmp/Versions signal/Versions stdlib/Versions stdio-common/Versions libio/Vers
ions dlfcn/Versions malloc/Versions string/Versions wcsmbs/Versions time/Version
s dirent/Versions grp/Versions pwd/Versions posix/Versions io/Versions termios/V
ersions resource/Versions misc/Versions socket/Versions sysvipc/Versions gmon/Ve
rsions wctype/Versions shadow/Versions argp/Versions crypt/Versions nptl/Version
s resolv/Versions nss/Versions rt/Versions debug/Versions nptl_db/Versions inet/
Versions hesiod/Versions sunrpc/Versions nis/Versions streams/Versions login/Ver
sions elf/Versions sysdeps/i386/elf/Versions sysdeps/unix/sysv/linux/i386/Versio
ns nptl/sysdeps/unix/sysv/linux/Versions sysdeps/pthread/Versions sysdeps/unix/s
ysv/linux/Versions sysdeps/unix/sysv/Versions sysdeps/i386/i486/Versions sysdeps/i386/fpu/Versions sysdeps/i386/Versions sysdeps/wordsize-32/Versions \
        | gcc -E -undef  -Iinclude  -I/home/ykwok2/tmp/glibc/src/object-2.5.1 -I
sysdeps/i386/elf -Inptl/sysdeps/unix/sysv/linux/i386/i686 -Inptl/sysdeps/unix/sy
sv/linux/i386 -Isysdeps/unix/sysv/linux/i386 -Inptl/sysdeps/unix/sysv/linux -Inp
tl/sysdeps/pthread -Isysdeps/pthread -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Is
ysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i
386 -Inptl/sysdeps/unix/sysv -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Inptl/sysd
eps/unix -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Inptl/sysdeps/i
386/i686 -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Inptl/sysdeps/i386/i486 -Isysd
eps/i386/fpu -Inptl/sysdeps/i386 -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/
ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee
754 -Isysdeps/generic/elf -Isysdeps/generic -Inptl  -Ilibio -I.  -D_LIBC_REENTR
ANT -include include/libc-symbols.h      -x assembler-with-cpp - \
                  > /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.v.iT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.v.iT /home/ykwok2/tmp/gli
bc/src/object-2.5.1/Versions.v.i
sed '/^[        ]*#/d;/^[      ]*$/d' /home/ykwok2/tmp/glibc/src/object-2.5.1/V
ersions.v.i > /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.vT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.vT /home/ykwok2/tmp/glibc
/src/object-2.5.1/Versions.v
( echo 'sysd-versions-subdirs = csu iconv iconvdata locale localedata assert cty
pe intl catgets math setjmp signal stdlib stdio-common libio dlfcn malloc string
 wcsmbs timezone time dirent grp pwd posix io termios resource misc socket sysvi
pc gmon gnulib wctype manual shadow po argp crypt nptl resolv nss rt conform deb
ug nptl_db inet hesiod sunrpc nis nscd streams login elf sysdeps/i386/elf nptl/s
ysdeps/unix/sysv/linux/i386/i686 nptl/sysdeps/unix/sysv/linux/i386 sysdeps/unix/
sysv/linux/i386 nptl/sysdeps/unix/sysv/linux nptl/sysdeps/pthread sysdeps/pthrea
d sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysd
eps/unix/inet sysdeps/unix/sysv/i386 nptl/sysdeps/unix/sysv sysdeps/unix/sysv sy
sdeps/unix/i386 nptl/sysdeps/unix sysdeps/unix sysdeps/posix sysdeps/i386/i686/f
pu nptl/sysdeps/i386/i686 sysdeps/i386/i686 sysdeps/i386/i486 nptl/sysdeps/i386/
i486 sysdeps/i386/fpu nptl/sysdeps/i386 sysdeps/i386 sysdeps/wordsize-32 sysdeps
/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 s
ysdeps/generic/elf sysdeps/generic' ; \
          cat /home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.v \
          | LC_ALL=C gawk -v buildroot=/home/ykwok2/tmp/glibc/src/object-2.5.1/
-v defsfile=/home/ykwok2/tmp/glibc/src/object-2.5.1/Versions.all \
                            -v move_if_change='/bin/sh scripts/move-if-change' \
                            -f scripts/versions.awk; \
        ) > /home/ykwok2/tmp/glibc/src/object-2.5.1/sysd-versionsT
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/sysd-versionsT /home/ykwok2/tmp/gl
ibc/src/object-2.5.1/sysd-versions
(seen_DEFAULT=0; seen_WORDSIZE32=0; seen_WORDSIZE64=0; \
        while read which lib number setname; do \
          eval seen_$which=1; \
          test x"$which" = xDEFAULT || continue; \
          case $number in \
            [0-9]*) echo "$lib.so-version=.$number"; \
                    echo "all-sonames+=$lib=$lib.so\$($lib.so-version)";;\
            *)      echo "$lib.so-version=$number"; \
                    echo "all-sonames+=$lib=\$($lib.so-version)";;\
          esac; \
        done; \
        case "$seen_DEFAULT$seen_WORDSIZE32$seen_WORDSIZE64" in \
          100) echo biarch = no;; \
          101) echo biarch = 32;; \
          ?1?) echo biarch = 64;; \
          *) echo >&2 BUG; exit 2;; \
        esac; \
        echo soversions.mk-done = t;) < /home/ykwok2/tmp/glibc/src/object-2.5.1
/soversions.i > /home/ykwok2/tmp/glibc/src/object-2.5.1/soversions.mkT; exit 0
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/soversions.mkT /home/ykwok2/tmp/gl
ibc/src/object-2.5.1/soversions.mk
make[1]: Leaving directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1'
make[1]: Entering directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1'
./scripts/mkinstalldirs /home/ykwok2/tmp/glibc/src/object-2.5.1/gnu
mkdir /home/ykwok2/tmp/glibc/src/object-2.5.1/gnu
gawk -f scripts/lib-names.awk /home/ykwok2/tmp/glibc/src/object-2.5.1/soversions
.i > /home/ykwok2/tmp/glibc/src/object-2.5.1/gnu/lib-names.T
/bin/sh scripts/move-if-change /home/ykwok2/tmp/glibc/src/object-2.5.1/gnu/lib-names.T /home/ykwok2/tmp/glibc/src/object-2.5.1/gnu/lib-names.h
touch /home/ykwok2/tmp/glibc/src/object-2.5.1/gnu/lib-names.stmp
rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/tls.makeT /home/ykwok2/tmp/glibc/s
rc/object-2.5.1/tls.make.dT
(echo '# Generated from tls.make.c by Makerules.'; \
        gcc -std=gnu99 -Wall -Winline -Wwrite-strings -fmerge-all-constants -mf
pmath=sse -msse -msse2 -Wstrict-prototypes -mpreferred-stack-boundary=2    -Iin
clude  -I/home/ykwok2/tmp/glibc/src/object-2.5.1 -Isysdeps/i386/elf -Inptl/sysde
ps/unix/sysv/linux/i386/i686 -Inptl/sysdeps/unix/sysv/linux/i386 -Isysdeps/unix/
sysv/linux/i386 -Inptl/sysdeps/unix/sysv/linux -Inptl/sysdeps/pthread -Isysdeps/
pthread -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/
unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Inptl/sysdeps/unix/sysv
-Isysdeps/unix/sysv -Isysdeps/unix/i386 -Inptl/sysdeps/unix -Isysdeps/unix -Isys
deps/posix -Isysdeps/i386/i686/fpu -Inptl/sysdeps/i386/i686 -Isysdeps/i386/i686
-Isysdeps/i386/i486 -Inptl/sysdeps/i386/i486 -Isysdeps/i386/fpu -Inptl/sysdeps/i
386 -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/iee
e754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Is
ysdeps/generic -Inptl  -Ilibio -I.  -D_LIBC_REENTRANT -include include/libc-sym
bols.h      -E -DASSEMBLER tls.make.c \
              -MD -MP -MT '$(common-objpfx)tls.make' -MF /home/ykwok2/tmp/glibc
/src/object-2.5.1/tls.make.dT \
        | sed -n '/@@@/{s/@@@[  ]*\(.*\)@@@/\1/;s/[    ]*$//p;}'; \
        echo 'common-generated += tls.make'; \
        sed -e 's@ /home/ykwok2/tmp/glibc/src/object-2\.5\.1/@ $(common-objpfx)
@g' -e 's@^/home/ykwok2/tmp/glibc/src/object-2\.5\.1/@$(common-objpfx)@g' -e 's@
  *\([^        \/$][^  \]*\)@ $(..)\1@g' -e 's@^\([^  \/$][^  \]*\)@$(..)\1@g'
 /home/ykwok2/tmp/glibc/src/object-2.5.1/tls.make.dT; \
        rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/tls.make.dT) > /home/ykwo
k2/tmp/glibc/src/object-2.5.1/tls.makeT
In file included from ./include/libc-symbols.h:55,
                from <command line>:1:
/home/ykwok2/tmp/glibc/src/object-2.5.1/config.h:3:3: error: #error "glibc canno
t be compiled without optimization"
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/tls.makeT /home/ykwok2/tmp/glibc/s
rc/object-2.5.1/tls.make
make[1]: Leaving directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1'
make[1]: Entering directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1'
rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/stamp.o; > /home/ykwok2/tmp/glibc/
src/object-2.5.1/stamp.o
rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/stamp.os; > /home/ykwok2/tmp/glibc
/src/object-2.5.1/stamp.os
rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/stamp.op; > /home/ykwok2/tmp/glibc
/src/object-2.5.1/stamp.op
rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/stamp.oS; > /home/ykwok2/tmp/glibc
/src/object-2.5.1/stamp.oS
make  subdir=csu -C csu ..=../ subdir_lib
make[2]: Entering directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1/csu'
.././scripts/mkinstalldirs /home/ykwok2/tmp/glibc/src/object-2.5.1/csu
.././scripts/mkinstalldirs /home/ykwok2/tmp/glibc/src/object-2.5.1/csu
.././scripts/mkinstalldirs /home/ykwok2/tmp/glibc/src/object-2.5.1/csu
mkdir /home/ykwok2/tmp/glibc/src/object-2.5.1/csu
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/i386/tcb-offsets.sym \
        | gcc -S -o /home/ykwok2/tmp/glibc/src/object-2.5.1/tcb-offsets.hT3 -std
=gnu99 -Wall -Winline -Wwrite-strings -fmerge-all-constants -mfpmath=sse -msse -
msse2 -Wstrict-prototypes -mpreferred-stack-boundary=4    -I../include -I/home/
ykwok2/tmp/glibc/src/object-2.5.1/csu -I/home/ykwok2/tmp/glibc/src/object-2.5.1
-I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysd
eps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/uni
x/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sy
sv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../s
ysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -I../sy
sdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix
-I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../s
ysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps
/i386/fpu -I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I..
/sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl  -
I.. -I../libio -I.  -D_LIBC_REENTRANT -include ../include/libc-symbols.h      -
DHAVE_INITFINI -x c - \
                -MD -MP -MF /home/ykwok2/tmp/glibc/src/object-2.5.1/tcb-offsets.h.dT -MT '/home/ykwok2/tmp/glibc/src/object-2.5.1/tcb-offsets.h.d /home/ykwok2/t
mp/glibc/src/object-2.5.1/tcb-offsets.h'
In file included from ./../include/libc-symbols.h:55,
                from <command line>:1:
/home/ykwok2/tmp/glibc/src/object-2.5.1/config.h:3:3: error: #error "glibc canno
t be compiled without optimization"
(case linux-gnu in \
          linux*) version=`(printf '%s\n%s\n' \
                                    '#include <linux/version.h>' \
                                    UTS_RELEASE \
                            | gcc  -I../include -I/home/ykwok2/tmp/glibc/src/ob
ject-2.5.1/csu -I/home/ykwok2/tmp/glibc/src/object-2.5.1 -I../sysdeps/i386/elf -
I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i38
6 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/
sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/g
nu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../s
ysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sy
sdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I..
/sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../s
ysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sys
deps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-9
6 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -
I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl  -I.. -I../libio -I.  -D_
LIBC_REENTRANT -include ../include/libc-symbols.h      -DHAVE_INITFINI -E -P -
-DNOT_IN_libc=1 | \
                            sed -e 's/"\([^"]*\)".*/\1/p' -e d) 2>/dev/null`;\
                  if [ -z "$version" ]; then \
                    if [ -r /proc/version ]; then \
                      version=`sed 's/.*Linux version \([^ ]*\) .*/>>\1<</' \
                                < /proc/version`; \
                    else \
                      version=`uname -r`; \
                    fi; \
                  fi; \
                  os=`uname -s 2> /dev/null`; \
                  if [ -z "$os" ]; then \
                    os=Linux; \
                  fi; \
                  printf '"Compiled on a %s %s system on %s.\\n"\n' \
                          "$os" "$version" "`date +%Y-%m-%d`";; \
          *) ;; \
        esac; \
        files="../crypt/Banner ../libio/Banner ../nis/Banner ../nptl/Banner ../
resolv/Banner";                        \
        if test -n "$files"; then                              \
          printf '"Available extensions:\\n"\n';              \
          sed -e '/^#/d' -e 's/^[[:space:]]*/  /'              \
              -e 's/^\(.*\)$/\"\1\\n\"/' $files;              \
        fi) > /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/version-info.hT
rm -f /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h.new
make[2]: *** [/home/ykwok2/tmp/glibc/src/object-2.5.1/tcb-offsets.h] Error 1
make[2]: *** Waiting for unfinished jobs....
sed -e 's/#.*$//' -e '/^[      ]*$/d' ../abi-tags | \
        while read conf tagos tagver; do \
          test `expr 'i686-pc-linux-gnu' \
                    : "$conf"` != 0 || continue; \
          ( echo "$tagos" | \
            sed -e 's/[^0-9xXa-fA-F    ]//' \
                -e 's/^/#define __ABI_TAG_OS /'; \
            echo "#ifndef __ABI_TAG_VERSION"; \
            echo "$tagver" | \
            sed -e 's/[^0-9xXa-fA-F]/ /g' -e 's/ *$//' \
              -e 's/ /,/g' -e 's/^/# define __ABI_TAG_VERSION /'; \
            echo "#endif" ) > /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-ta
g.h.new; \
        done
if test -r /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h.new; then mv -f
 /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h.new /home/ykwok2/tmp/glib
c/src/object-2.5.1/csu/abi-tag.h; \
        else echo >&2 'This configuration not matched in ../abi-tags'; exit 1; fi
mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/version-info.hT /home/ykwok2/t
mp/glibc/src/object-2.5.1/csu/version-info.h
make[2]: Leaving directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/home/ykwok2/tmp/glibc/src/glibc-2.5.1'
make: *** [all] Error 2


weibullguy 12-14-2008 07:37 PM

You need to look a little closer at the section you asked me to pay attention to. Let me rewrite it
Code:

if test -r /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h.new; then
  mv -f /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h.new /home/ykwok2/tmp/glibc/src/object-2.5.1/csu/abi-tag.h
else
  echo >&2 'This configuration not matched in ../abi-tags'
  exit 1
fi

You need to look a little closer at the output. Here is your problem
Code:

/home/ykwok2/tmp/glibc/src/object-2.5.1/config.h:3:3: error: #error "glibc cannot be compiled without optimization"
Try adding -O2 to your CFLAGS and CXXFLAGS. It's a reasonable optimization level.


All times are GMT -5. The time now is 05:59 AM.