[mira_talk] Re: how do you get MIRA to compile on OpenSolaris?

On Dienstag 07 Juli 2009 Steven Cozza wrote:
> I'm trying to install MIRA on an OpenSolaris system. I used the command:
> ./configure --enable-64=yes --disable-static
> to configure the install but it still ends up failing to compile. The
> error message is:
> [...]
> I've tried various things to get it to create a shared library (which
> I thought --disable-static would have done anyway) but nothing has
> work. It looks like it is using ar directly and not going through
> libtool, for example:
> > mv -f .deps/ncall.Tpo .deps/ncall.Po
> > rm -f libKNN_abi373.a
> > ar cru libKNN_abi373.a wrong.o under.o add.o over.o nplus.o
> > missing.o ncall.o
> > ranlib libKNN_abi373.a
>
> Does anyone have any suggestions on how to get this to compile? Thanks
> for any help.

Hi Steve,

I've also seen lately that libtool was not used at all by the makefiles 
generated by autoconf/automake combo.

I've made a few changes in an intermediate version, could you please test the 
following version:
  http://www.chevreux.org/tmp/mira-2.9.46x2.tar.bz2

There, ar is still used to make the libraries, but libtool is used to perform 
the final linking stage (where it failed for you). I hope that this should do 
the trick, could you please have a look? Note that in that version, --
en/disable-static does not exist as flag anymore: it's compiled with dynamic 
options per default and must be forced to static with another, new flag (--
enable-mirastatic, but you don't want to use this anyway).

There's something else which is bothering me in the log you sent:

> The output from the configure looks like:
> [...]
> > checking whether long long has 64bit... no
> > checking whether enabling 64bit compilation support... yes
> [...]
> > -------------------------------------------------------------------------
> >------- Summary of MIRA configuration
> > -------------------------------------------------------------------------
> >-------
> >
> > Building version .................................
> > 2.9.46_dev_solaris2.11_i386
> > -n Production or development version?................
> > development
> >
> > We are building on ............................... SunOS
> > CPU supports 64 bit? ......... ................... no
> > Compiler ......................................... gcc
> [...]
> >
> >
> > System: SunOS jupiter 5.11 snv_101b i86pc i386 i86pc Solaris
> > Compiler: 'gcc -v' output:
> > Using built-in specs.
> > Target: i386-pc-solaris2.11
> > Configured with: ./configure --prefix=/opt/gcc4.3.1 --with-gnu-as --
> > with-as=/usr/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --
> > enable-languages=c,c++,fortran,objc --with-mpfr=/usr/local --with-
> > gmp=/usr/local
> > Thread model: posix
> > gcc version 4.3.1 (GCC)

According to configure, your platform does not support 64 bit. I.e., the long 
long type is not 64 bit wide. Additionally, the platform declares itself to be 
"SunOS jupiter 5.11 snv_101b i86pc i386 i86pc Solaris" (output of uname -a) 
... there's not a hint of "64" in this. Finally, gcc also says that the target 
is i386 instead of something with "64".

I have some doubts regarding 64 bit on your target ... that or something is 
going decisively wrong. Could yiou please check?


Regards,
  Bastien

-- 
You have received this mail because you are subscribed to the mira_talk mailing 
list. For information on how to subscribe or unsubscribe, please visit 
http://www.chevreux.org/mira_mailinglists.html

Other related posts: