Solaris 10: wchar_iso.h vs cwchar
Jonathan Wakely
jwakely.gcc@gmail.com
Sat Sep 3 12:21:00 GMT 2011
2011/9/3 Maciej Bliziński <maciej@opencsw.org>:
> 2011/9/2 Marc Glisse <marc.glisse@inria.fr>:
>> On Fri, 2 Sep 2011, Maciej Bliziński wrote:
>>
>>> Here's the output:
>>> http://netra.chopin.edu.pl/~maciej/limits.log
>>
>> That doesn't match the error in PPL. The only difference I can see is
>> -I/opt/csw/include on the command line. Can you try again with it? (and
>> maybe also -dD)
>>
>>> To get it to build, I need to specify a couple more:
>>>
>>> ${src}/configure \
>>> --prefix=/opt/gcctest \
>>> --enable-bootstrap \
>>
>> That one is the default.
>
> OK, removed.
>
>>> --enable-stage1-languages=c \
>>
>> Is that necessary?
>
> Not sure, tested by removing.
>
>>> --enable-languages=c,c++ \
>>> --with-gnu-as \
>>> --with-as=/opt/csw/bin/gas \
>>> --without-gnu-ld \
>>> --with-ld=/usr/ccs/bin/ld \
>>> --with-mpfr=/opt/csw \
>>> --with-gmp=/opt/csw \
>>> --with-mpc=/opt/csw \
>>> --with-libiconv-prefix=/opt/csw
>>
>> Those are fine.
>
> Cool. I started the build and got this error in
> gcc-objdir/sparc-sun-solaris2.10/libgcc/config.log:
>
> configure:3246: checking for suffix of object files
> configure:3268: /home/maciej/src/gcc-objdir/./gcc/xgcc
> -B/home/maciej/src/gcc-objdir/./gcc/
> -B/opt/gcctest/sparc-sun-solaris2.10/bin/ -B/opt/gc
> isystem /opt/gcctest/sparc-sun-solaris2.10/include -isystem
> /opt/gcctest/sparc-sun-solaris2.10/sys-include -c -g -O2
> conftest.c >&5
> ld.so.1: cc1: fatal: libmpc.so.2: open failed: No such file or directory
> xgcc: internal compiler error: Killed (program cc1)
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> configure:3272: $? = 4
>
> Examining the cc1 binary:
>
> maciej@netra ~/src $ /usr/ccs/bin/dump -Lv /home/maciej/src/gcc-objdir/./gcc/cc1
>
> /home/maciej/src/gcc-objdir/./gcc/cc1:
>
> **** DYNAMIC SECTION INFORMATION ****
> .dynamic:
> [INDEX] Tag Value
> [1] NEEDED libmpc.so.2
> [2] NEEDED libmpfr.so.4
> [3] NEEDED libgmp.so.10
> [4] NEEDED libc.so.1
> [5] INIT 0x61f474
> [6] FINI 0x61f490
> [7] HASH 0x100e8
> [8] STRTAB 0x3be5c
> [9] STRSZ 0x24442
> [10] SYMTAB 0x1eabc
> [11] SYMENT 0x10
> [12] CHECKSUM 0xc01b
> [13] VERNEED 0x602a0
> [14] VERNEEDNUM 0x1
> [15] PLTSZ 0xa14
> [16] PLTREL 0x7
> [17] JMPREL 0x60320
> [18] RELA 0x602c0
> [19] RELASZ 0xa74
> [20] RELAENT 0xc
> [21] DEBUG 0
> [22] FEATURE_1 PARINIT
> [23] FLAGS 0
> [24] FLAGS_1 0
> [25] PLTGOT 0x6e7fe4
>
> The binary seems to be missing the RPATH pointing at /opt/csw/lib.
>
> The full script that drives the build is:
>
>
> maciej@netra ~/src $ cat build_gcc.sh
> #!/opt/csw/bin/bash
>
> set -e
> set -u
> set -x
>
> # To help configure find gcc and ar
> export PATH=/opt/csw/gnu:$PATH
>
> src="../gcc-4.6.1"
> objdir="gcc-objdir"
>
> rm -rf "${objdir}"
> mkdir -p "${objdir}"
> pushd ${objdir}
>
> export CC=/opt/csw/gcc3/bin/gcc
>
> ${src}/configure \
> --prefix=/opt/gcctest \
> --enable-languages=c,c++ \
> --with-gnu-as \
> --with-as=/opt/csw/bin/gas \
> --without-gnu-ld \
> --with-ld=/usr/ccs/bin/ld \
> --with-mpfr=/opt/csw \
> --with-gmp=/opt/csw \
> --with-mpc=/opt/csw \
> --with-libiconv-prefix=/opt/csw
>
> gmake
>
> Any ideas why the RPATH might be missing?
>
> Maciej
>
This is a FAQ, read the docs. Your dynamic linker doesn't look in
/opt/csw and gcc does not use a rpath automatically. Building gcc is
not trivial, read the docs! Carefully!
It's much easier to build gmp, mpfr and mpc statically by putting them
in the gcc source tree.
More information about the Gcc-help
mailing list