can't build gcc-3.4 source package
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gcc-3.4 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: gcc-3.4
Using the following method gcc-3.4 fails to build
apt-get source gcc-3.4
sudo apt-get build-dep gcc-3.4
cd gcc-3.4-3.4.6/
dpkg-buildpackage -rfakeroot -uc -b
I get the error
Using shell /bin/bash -e
Architecture: i386 (GNU: i486-linux-gnu)
CPPFLAGS:
CFLAGS: -g -O2
LDFLAGS:
BOOT_CFLAGS: -O2
DEBIAN_BUILDARCH:
Install prefix: /usr
Will build the biarch compilers (32/64, defaulting to 32bit)
Will not build the C++ compiler: disabled for the gcc-3.4 build
Will not build the ObjC compiler: disabled for the gcc-3.4 build
Will not build the Fortran77 compiler: disabled for the gcc-3.4 build
Will not build the Java compiler: disabled for the gcc-3.4 build
Will not build the Pascal compiler: disabled for the gcc-3.4 build
Will not build the Ada compiler: disabled for the gcc-3.4 build
Will not build the Treelang compiler: disabled for the gcc-3.4 build
Will not build the FFI library: disabled for the gcc-3.4 build
Will run the testsuite.
/bin/bash: -c: line 0: syntax error near unexpected token `)'
make[1]: *** [stamps/
make[1]: Leaving directory `/tmp/libg2c/
make: *** [stamps/
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
i have attached the full log.
when i try to build gcc-4.3 with this method i do not get the error.
I crashed on the same bug when trying to compile gcc-3.4 on 32-bit installation (compiles fine on 64-bit, but not on 32-bit machines). Possible explanation:
Script debian/runcheck.sh assumes /bin/sh to be bash, which might not be the case.
The script is called in debian/rules.defs (lines 625 .. 631):
ifeq ($(biarch32),yes)
with_32bit_check := $(shell CC="gcc -m32" sh debian/runcheck.sh)
endif
ifeq ($(biarch),yes)
with_64bit_check := $(shell CC="gcc -m64" sh debian/runcheck.sh)
endif
If one changes 'sh' to 'bash' on those lines, everything works again.
Better solution is, of course, to fix debian/runcheck.sh to not depend on /bin/sh implementation.