Re: Solaris 10: wchar_iso.h vs cwchar

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2011/9/3 Maciej Bliziński:
> 2011/9/3 Jonathan Wakely <jwakely.gcc@xxxxxxxxx>:
>>> Any ideas why the RPATH might be missing?
>>
>> 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!
>
> I have read the docs. The configuration stage instructions explain this part:
>
> "...also the --with-mpc=mpcinstalldir option is shorthand for
> --with-mpc-lib=mpcinstalldir/lib and
> --with-mpc-include=mpcinstalldir/include"
>
> On my system, these locations are correct, the following files exist:
>
> /opt/csw/include/mpc.h
> /opt/csw/lib/libmpc.so -> libmpc.so.2.0.0
> /opt/csw/lib/libmpc.so.2 -> libmpc.so.2.0.0

Did you read the whole of that paragraph?  Right there it says "You
might also need to ensure the shared libraries can be found by the
dynamic linker when building and using GCC, for example by setting the
runtime shared library path variable (LD_LIBRARY_PATH on GNU/Linux and
Solaris systems). "

> I assumed that the information about libmpc.so.2 location is passed to
> the intermediate binaries.

You assume wrong, and the docs pretty clearly say you might need to
ensure the dynamic linker can find the libs.  Since your problem is
that the dynamic linker can't find the libs, maybe those docs are
relevant :)

> You linked to a FAQ item about the runpath[2], if I understand
> correctly, it doesn't concern building/bootstrapping GCC, it's about
> binaries built by GCC.

When you bootstrap GCC it *is* a binary built by GCC, so that applies.

>  It says that if e.g. libstdc++.so.6 is in
> /opt/foo, you need to compile your binary with the -R/opt/foo option
> (at least on some systems).  In case of the GCC bootstrap, it runs
> ./configure subinvocations, and I would assume that it knows about
> passing the -R flag.

You assume wrong.  As that FAQ says, GCC doesn't pass that flag, by design.

>> It's much easier to build gmp, mpfr and mpc statically by putting them in
>> the gcc source tree.
>
> Thanks for the hint.  So far, I have intentionally avoided this,
> preferring the divide-and-conquer model.  Porting to Solaris can be
> tedious, so I generally prefer to build the dependencies once and be
> done with it.

Exactly how many other packages on your system depend on GMP, MPFR or
MPC?  I'm guessing it's none.

You say "porting to Solaris" but Solaris is a fully supported and
tested platform for GCC, it's one of the primary platforms that needs
to work as part of the release criteria:
http://gcc.gnu.org/gcc-4.6/criteria.html

Loads of people build GCC on Solaris successfully, I've done so dozens
of times, so you shouldn't need to do any porting for GCC or any of
its dependencies.  You seem to be making life unnecessarily difficult
for yourself.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux