Subject: pkg/24775: build of gcc-2.95.3nb5 and gcc-2.95.3nb4 broken on 1.5.4_ALPHA
To: None <gnats-bugs@gnats.netbsd.org>
From: Klaus Heinz <k.heinz.maer.vier@onlinehome.de>
List: netbsd-bugs
Date: 03/14/2004 10:00:39
>Number: 24775
>Category: pkg
>Synopsis: build of gcc-2.95.3nb5 and gcc-2.95.3nb4 broken on 1.5.4_ALPHA
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Mar 14 09:05:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Klaus Heinz
>Release: NetBSD 1.5.4_ALPHA
>Organization:
none
>Environment:
System: NetBSD silence.homedns.org 1.5.4_ALPHA NetBSD 1.5.4_ALPHA (SILENCE) #0: Tue Feb 3 22:46:26 MET 2004 heinz@silence.homedns.org:/var/tmp2/src-1.5.4_ALPHA/src/sys/arch/i386/compile/SILENCE i386
Architecture: i386
Machine: i386
>Description:
I believe the build gcc-2.95.3nb5 is broken on 1.5.4_ALPHA. It
builds fine on 1.6.
With pkgsrc from a few hours ago it stops here:
===> Checking for vulnerabilities in gcc-2.95.3nb5
=> Checksum OK for gcc-2.95.3.tar.gz.
=> Checksum OK for gcc-2.95.3-diff-2002-08-29.gz.
work.i386 -> /var/tmp2/workobj-pkgsrc/lang/gcc/work.i386
===> Extracting for gcc-2.95.3nb5
===> Required installed package gmake>=3.78: gmake-3.80nb2 found
...
touch bigstmp-complx
rm -f tlist
touch tlist
echo *.o >> tlist
for f in `cat ../libio/iostream.list` ; do \
echo "../libio/$f" >> tlist ; \
done
for f in `cat ../libiberty/needed-list` strerror.o ; do \
echo "../libiberty/$f" >> tlist ; \
done
mv tlist stdlist
rm -f tlibstdc++.a.4.0
ar rc tlibstdc++.a.4.0 `cat stdlist`
mv tlibstdc++.a.4.0 libstdc++.a.4.0
ranlib libstdc++.a.4.0
rm -f libstdc++.a
ln -s libstdc++.a.4.0 libstdc++.a || cp libstdc++.a.4.0 libstdc++.a
rm -f tlist
cp stdlist tlist
if [ x"yes" = xyes ]; then \
sed 's,\([A-Za-z_]*\.o\),pic/\1,g' tlist > tlist2 ; \
mv tlist2 tlist ; \
else true ; fi
mv tlist piclist
/var/tmp2/workobj-pkgsrc/lang/gcc/work.i386/objdir/gcc/xgcc -B/var/tmp2/workobj-pkgsrc/lang/gcc/work.i386/objdir/gcc/ -B/usr/pkg/gcc-2.95.3/i386--netbsdelf/bin/ -O2 -I/usr/pkg/include -fno-implicit-templates -shared -o libstdc++.so.4.0 `cat piclist`
/usr/bin/ld: cannot open -lgcc_pic: No such file or directory
collect2: ld returned 1 exit status
gmake[1]: *** [libstdc++.so.4.0] Error 1
gmake[1]: Leaving directory `/var/tmp2/workobj-pkgsrc/lang/gcc/work.i386/objdir/i386--netbsdelf/libstdc++'
gmake: *** [all-target-libstdc++] Error 2
*** Error code 2
Stop.
*** Error code 1
Stop.
The same problem occurs if I try to build gcc-2.95.3nb4. The
build of gcc-2.95.3nb3 succeeds but does _not_ include
libgcc_pic.a, only libgcc.a.
I do not know whether this is related to the problem, but the reason
why I wanted to rebuild gcc-2.95.3 was libgcc_pic.a as well. My old
compiler package (plain gcc-2.95) did not link the shared library
of devel/smpeg with libgcc_pic.a or libgcc.a which seem to be
required to resolve the symbol __pure_virtual. The system compiler
on 1.5.x (egcs-1.1.2) could not compile the library correctly, either.
At least one package depending on libsmpeg.so complained about the
missing symbol __pure_virtual.
The binary packages on ftp.NetBSD.org for 1.5.1 (smpeg-0.4.1 and
smpeg-0.4.1) miss the symbol as well, while binary packages for
1.6* (smpeg-0.4.3 and smpeg-0.4.4*) provide it.
>How-To-Repeat:
$ uname -sr
NetBSD 1.5.4_ALPHA
$ cd /usr/pkgsrc/lang/gcc
$ make
>Fix:
None.
>Release-Note:
>Audit-Trail:
>Unformatted: