[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Autoconf on Solaris 10 64-bit Sparcv9
From: |
Ralf Wildenhues |
Subject: |
Re: Autoconf on Solaris 10 64-bit Sparcv9 |
Date: |
Sat, 29 Apr 2006 09:01:51 +0200 |
User-agent: |
Mutt/1.5.11+cvs20060403 |
Hi Chino,
* Chino Aureus wrote on Sat, Apr 29, 2006 at 06:36:25AM CEST:
>
> I 'm currently porting my application (shared library actually) to 64-bit.
> I'm using autotools (i.e. automake, autoconf, etc...).
The issue you're having is a Libtool one.
> In Solaris 10, I was able to compile (doing ./configure, make and make
> install) my shared library ok but as 32-bit. However, since I want this to
> be compiled as 64-bit, I added the -m64 and -Wl,-64 options to CPPFLAGS and
> LDFLAGS respectively. When I compile:
It should suffice to
./configure CPPFLAGS=-m64 LDFLAGS=-m64
and not change any files.
> ld: fatal: file .libs/libNecropolis_la-Logger.o: wrong ELF class: ELFCLASS64
Get libtool-1.5.22 and rebootstrap your code with it (this involves
rerunning libtoolize, and aclocal, after making sure it finds the newly
installed libtool.m4, etc. Your package may use autoreconf, or a custom
script for it, often named bootstrap or autogen.sh).
Note that if your package uses convenience archives also: there was a
bug fix post 1.5.22 that affects Solaris with the native compiler (I
think with GCC it was ok).
> # Use this Makefile.am when compiling on SunOS5.10 64-bit sparcv9 system
> libNecropolis_la_CPPFLAGS = -D_REENTRANT -m64
> libNecropolis_la_LDFLAGS = -module -shared -version-info 1:1:0
> -Wl,-soname=libNecropolis,-64
I would not put the 64 bit stuff hard-coded in Makefile.am.
Neither the soname; libtool should figure this all out by itself.
(Not the -D_REENTRANT part; I don't know if some macro like
AX_PTHREAD.m4 from the Autoconf Macro Archive would be useful for you.)
Cheers,
Ralf