This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Solaris 10: wchar_iso.h vs cwchar
2011/9/3 Jonathan Wakely <jwakely.gcc@gmail.com>:
> 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.
>
http://gcc.gnu.org/faq.html#rpath
http://gcc.gnu.org/wiki/FAQ#configure_suffix
http://gcc.gnu.org/install/prerequisites.html
http://gcc.gnu.org/install/configure.html
http://advogato.org/person/redi/diary/240.html