LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux From Scratch (https://www.linuxquestions.org/questions/linux-from-scratch-13/)
-   -   LFS 7.0 - Chapter 6.9 building glibc (https://www.linuxquestions.org/questions/linux-from-scratch-13/lfs-7-0-chapter-6-9-building-glibc-915621/)

jimmy_page_89 11-26-2011 07:14 AM

LFS 7.0 - Chapter 6.9 building glibc
 
I'm trying to build glibc, but i receive this error:
Code:

cc1: error: output filename specified twice
cc1: fatal error: 3.d: No such file or directory
compilation terminated.
make[2]: *** [/root/buildir/ifunc-defines.h] Error 1
make[1]: *** [csu/subdir_lib] Error 2
make: *** [all] Error 2

To skip every human error, i made a copy-paste of every command (i have an horrible IT keyboard)

druuna 11-26-2011 07:27 AM

Hi,

Is there anything in the log that was created?

Can you post 5 -10 lines before the cc1: error: output filename specified twice line?

jimmy_page_89 11-26-2011 07:53 AM

the entire log:
Code:

make -r PARALLELMFLAGS="" CVSOPTS="" -C ../glibc-2.14.1 objdir=`pwd` all
make[1]: Entering directory `/root/glibc-2.14.1'
{ echo '#include "posix/bits/posix1_lim.h"';                \
  echo '#define _LIBC 1';                                        \
  echo '#include "misc/sys/uio.h"'; } |                        \
gcc -E -dM -MD -MP -MF /root/buildir/bits/stdio_lim.dT -MT '/root/buildir/bits/stdio_lim.h /root/buildir/bits/stdio_lim.d'        \
      -Iinclude  -I/root/buildir -Isysdeps/i386/elf -Inptl/sysdeps/unix/sysv/linux/i386/i686 -Isysdeps/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 -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686/multiarch -Inptl/sysdeps/i386/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/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -Inptl  -Ilibio -I.  -xc - -o /root/buildir/bits/stdio_lim.hT
sed -e 's@ /root/buildir/@ $(common-objpfx)@g' -e 's@^/root/buildir/@$(common-objpfx)@g' -e 's@  *\([^        \/$][^        \]*\)@ $(..)\1@g' -e 's@^\([^        \/$][^        \]*\)@$(..)\1@g'                        \
    /root/buildir/bits/stdio_lim.dT > /root/buildir/bits/stdio_lim.dt
mv -f /root/buildir/bits/stdio_lim.dt /root/buildir/bits/stdio_lim.d
fopen_max=`sed -n 's/^#define OPEN_MAX //1p' /root/buildir/bits/stdio_lim.hT`;        \
filename_max=`sed -n 's/^#define PATH_MAX //1p' /root/buildir/bits/stdio_lim.hT`;        \
iov_max=`sed -n 's/^#define UIO_MAXIOV //p' /root/buildir/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 > /root/buildir/bits/stdio_lim.h.new
/bin/sh scripts/move-if-change /root/buildir/bits/stdio_lim.h.new /root/buildir/bits/stdio_lim.h
rm -f /root/buildir/bits/stdio_lim.hT /root/buildir/bits/stdio_lim.dT /root/buildir/bits/stdio_lim.dt
touch /root/buildir/bits/stdio_lim.st
LC_ALL=C gawk -f scripts/lib-names.awk /root/buildir/soversions.i > /root/buildir/gnu/lib-names.T
/bin/sh scripts/move-if-change /root/buildir/gnu/lib-names.T /root/buildir/gnu/lib-names.h
touch /root/buildir/gnu/lib-names.stmp
rm -f /root/buildir/tls.makeT /root/buildir/tls.make.dT
(echo '# Generated from tls.make.c by Makerules.'; \
 gcc -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -march=i486 -mtune=native -o3 -pipe -Wstrict-prototypes -mpreferred-stack-boundary=2    -Iinclude  -I/root/buildir -Isysdeps/i386/elf -Inptl/sysdeps/unix/sysv/linux/i386/i686 -Isysdeps/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 -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686/multiarch -Inptl/sysdeps/i386/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/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -Inptl  -Ilibio -I.  -D_LIBC_REENTRANT -include include/libc-symbols.h      -E -DASSEMBLER tls.make.c \
      -MD -MP -MT '$(common-objpfx)tls.make' -MF /root/buildir/tls.make.dT \
 | sed -n '/@@@/{s/@@@[        ]*\(.*\)@@@/\1/;s/[        ]*$//p;}'; \
 echo 'common-generated += tls.make'; \
 sed -e 's@ /root/buildir/@ $(common-objpfx)@g' -e 's@^/root/buildir/@$(common-objpfx)@g' -e 's@  *\([^        \/$][^        \]*\)@ $(..)\1@g' -e 's@^\([^        \/$][^        \]*\)@$(..)\1@g' /root/buildir/tls.make.dT; \
 rm -f /root/buildir/tls.make.dT) > /root/buildir/tls.makeT
mv -f /root/buildir/tls.makeT /root/buildir/tls.make
make[1]: Leaving directory `/root/glibc-2.14.1'
make[1]: Entering directory `/root/glibc-2.14.1'
rm -f /root/buildir/stamp.o; > /root/buildir/stamp.o
rm -f /root/buildir/stamp.os; > /root/buildir/stamp.os
rm -f /root/buildir/stamp.oS; > /root/buildir/stamp.oS
make  subdir=csu -C csu ..=../ subdir_lib
make[2]: Entering directory `/root/glibc-2.14.1/csu'
(case linux-gnu in \
  linux*) version=`(printf '%s\n%s\n' \
                            '#include <linux/version.h>' \
                            UTS_RELEASE \
                    | gcc  -I../include -I/root/buildir/csu -I/root/buildir -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -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/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686/multiarch -I../nptl/sysdeps/i386/i686 -I../sysdeps/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 -O -E -P - -DNOT_IN_libc=1 | \
                    sed -e 's/"\([^"]*\)".*/\1/p' -e d) 2>/dev/null`;\
          if [ -z "$version" ]; then \
            version=`(printf '%s\n%s\n' \
                              '#include <linux/version.h>' \
                              LINUX_VERSION_CODE \
                      | gcc  -I../include -I/root/buildir/csu -I/root/buildir -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -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/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686/multiarch -I../nptl/sysdeps/i386/i686 -I../sysdeps/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 -O -E -P - -DNOT_IN_libc=1 \
                      | sed -n -e '/^[123456789].*/p' \
                      | awk '{v=$1; \
                              printf("%d.%d.%d\n", \
                                      v/65535, v/256%256, v%256)}') \
                        2>/dev/null`; \
          fi; \
          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 ../libidn/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) > /root/buildir/csu/version-info.hT
mv -f /root/buildir/csu/version-info.hT /root/buildir/csu/version-info.h
rm -f /root/buildir/csu/abi-tag.h.new
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" ) > /root/buildir/csu/abi-tag.h.new; \
done
if test -r /root/buildir/csu/abi-tag.h.new; then mv -f /root/buildir/csu/abi-tag.h.new /root/buildir/csu/abi-tag.h; \
else echo >&2 'This configuration not matched in ../abi-tags'; exit 1; fi
gawk -f ../scripts/gen-as-const.awk ../sysdeps/i386/i686/multiarch/ifunc-defines.sym \
| gcc -S -o /root/buildir/ifunc-defines.hT3 -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -march=i486 -mtune=native -o3 -pipe -Wstrict-prototypes -mpreferred-stack-boundary=4    -I../include -I/root/buildir/csu -I/root/buildir -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -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/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686/multiarch -I../nptl/sysdeps/i386/i686 -I../sysdeps/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 /root/buildir/ifunc-defines.h.dT -MT '/root/buildir/ifunc-defines.h.d /root/buildir/ifunc-defines.h'
cc1: error: output filename specified twice
cc1: fatal error: 3.d: No such file or directory
compilation terminated.
make[2]: *** [/root/buildir/ifunc-defines.h] Error 1
make[2]: Leaving directory `/root/glibc-2.14.1/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/root/glibc-2.14.1'
make: *** [all] Error 2


druuna 11-26-2011 08:23 AM

Hi,

Did you rebuild glibc multiple times and if so did you delete the extracted glibc source directory and glibc-build directories that were created between the retries?

If the above is not the case; can you post the config.log that was created?

davecove 11-26-2011 02:26 PM

I am posting this reply just in case someone gets the same error I did at this step and uses the search function on the text of the error.

I was getting this error concerning TLS while making Glibc at this step.
In file included from ../nptl/sysdeps/i386/i686/tls.h:34:0,
from ../include/tls.h:6,
from ../bits/libc-tsd.h:45,
from ../include/../locale/localeinfo.h:210,
from ../include/ctype.h:14,
from ../iconv/gconv_int.h:25,
from gettextP.h:28,
from bindtextdom.c:33:
../nptl/sysdeps/i386/i686/../tls.h:75:3: error: #error "TLS support is required."
bindtextdom.c: In function 'set_binding_values':
bindtextdom.c:118:3: warning: the comparison will always evaluate as 'true' for the address of '__pthread_rwlock_wrlock' will never be NULL [-Waddress]
bindtextdom.c:339:3: warning: the comparison will always evaluate as 'true' for the address of '__pthread_rwlock_unlock' will never be NULL [-Waddress]
make[2]: *** [/sources/glibc-build/intl/bindtextdom.o] Error 1
make[2]: Leaving directory `/sources/glibc-2.14.1/intl'
make[1]: *** [intl/subdir_lib] Error 2
make[1]: Leaving directory `/sources/glibc-2.14.1'
make: *** [all] Error 2
root:/sources/glibc-build#
I caused the problem by not deleting the tar target and build directories left over from Chapter 5. When I started over from the tar file, it worked.

</Dave>

jimmy_page_89 11-27-2011 05:31 AM

Damn, the problem was so simple:
the copy-paste forgot on the configparms file "3 -pipe", so it has inside only the parameter "-O"

(it's the second time that i create a thread for a typing-error, i promise that i'm going to have more attention)


All times are GMT -5. The time now is 09:18 AM.