1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
Here is some information about a few common problems when building on
Sun Solaris platforms:
========================================================================
Forte compiler suite (aka Workshop)
1 The Forte compiler suite for SunOS/Solaris might complain about
undefined symbols when trying to link Coin. When these symbols
contains the string "Crun", it means that libCrun is not linked in
on the link line, but should be.
The workaround for this problem is to either add LIBS="-lCrun" at
the end of the Coin configure invocation line, or LIBS="-lCstd
-lCrun -lc", i.e. something like this:
$ <srcdir>/configure <youroptions> LIBS="-lCrun"
or
$ <srcdir>/configure <youroptions> LIBS="-lCstd -lCrun -lc"
To get -lCrun to work, you might also need to specify the linker
path to that library. Exactly where you will find it is system
dependent, but somewhere under the Forte installation directory
would be a good place to look.
One user had libCrun in /opt/forte-6.1/SUNWspro/WS6U1/lib/. As
usual, "locate" and "find" are your friends.
(To let configure know about this extra path, add LDFLAGS="-L<path>"
at the end of the configure invocation, like explained for the LIBS
setting above.)
2 We have reports of problems with the final link stage if the C
compiler in the Forte suite is used instead of the C++ compiler for
compiling Coin's C sources. This might be a Libtool bug. To work
around it, set up for building everything with the C++ compiler,
something like this:
$ <srcdir>/configure <youroptions> CC=CC CXX=CC
========================================================================
GNU GCC
1 When building with gcc, (we've tested with gcc 3.3) configuring and
building Coin is a breeze. You just need to have /opt/csw/gcc3/bin
in your PATH environment variable, and /opt/csw/gcc3/lib in your
LD_LIBRARY_PATH environment variable (needed for libstdc++). In
addition, you must set the AR environment variable to /usr/ccs/bin/ar
This can be done when configuring.
pederb, 2003-07-04
2 If you nevertheless get linker errors, like the below:
base/.libs/libbase.a(bitset.o): In function `std::_Base_bitset<(unsigned)1>::_M_do_find_next(unsigned, unsigned) const': /cdl/CDL01/kp/obj/sparc-sun-solaris2.9/libstdc++-v3/src/../../../../gcc-3.3.2/libstdc++-v3/src/bitset.cc:73: multiple definition of `std::_Base_bitset<(unsigned)1>::_M_do_find_first(unsigned) const'
actions/.libs/libactions.a(bitset.o):/cdl/CDL01/kp/obj/sparc-sun-solaris2.9/libstdc++-v3/src/../../../../gcc-3.3.2/libstdc++-v3/src/bitset.cc:73: first defined here
base/.libs/libbase.a(bitset.o): In function `std::_Base_bitset<(unsigned)1>::_M_do_find_next(unsigned, unsigned) const': /cdl/CDL01/kp/obj/sparc-sun-solaris2.9/libstdc++-v3/src/../../../../gcc-3.3.2/libstdc++-v3/src/bitset.cc:73: multiple definition of `std::_S_first_one'
actions/.libs/libactions.a(bitset.o):/cdl/CDL01/kp/obj/sparc-sun-solaris2.9/libstdc++-v3/src/../../../../gcc-3.3.2/libstdc++-v3/src/bitset.cc:73: first defined here
...then you should build Coin from scratch again, and make sure you
do not try to build with "g++" (a gcc-wrapper that pulls in all kinds
of things implicitly), but build with plain "gcc". Re-run configure
like this:
.../Coin/configure CC=gcc CXX=gcc ...
========================================================================
These are so far the problems we are aware of on Sun Solaris platforms
when trying to configure and build Coin. If you bump into any other
problems, please let us know. If you find problems, and manage to
solve them on your own, we'll be interested in knowing about them too.
--
coin-support@sim.no
|