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