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
Welcome to
LinuxQuestions.org , a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free.
Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please
contact us . If you need to reset your password,
click here .
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a
virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month.
Click here for more info.
11-26-2011, 08:14 AM
#1
Member
Registered: Sep 2010
Location: Turin (Italy)
Distribution: Slackware 14.2
Posts: 51
Rep:
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)
11-26-2011, 08:27 AM
#2
LQ Veteran
Registered: Sep 2003
Posts: 10,532
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?
11-26-2011, 08:53 AM
#3
Member
Registered: Sep 2010
Location: Turin (Italy)
Distribution: Slackware 14.2
Posts: 51
Original Poster
Rep:
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
11-26-2011, 09:23 AM
#4
LQ Veteran
Registered: Sep 2003
Posts: 10,532
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?
11-26-2011, 03:26 PM
#5
LQ Newbie
Registered: Nov 2011
Posts: 3
Rep:
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>
11-27-2011, 06:31 AM
#6
Member
Registered: Sep 2010
Location: Turin (Italy)
Distribution: Slackware 14.2
Posts: 51
Original Poster
Rep:
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 04:37 PM .
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know .
Latest Threads
LQ News