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 Maciej BliziÅski:
> 2011/9/3 Jonathan Wakely <jwakely.gcc@gmail.com>:
>>> 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.