Bill Hart wrote:
2010/1/28 Dr. David Kirkby <[email protected]>:
Bill Hart wrote:
2010/1/28 Dr. David Kirkby <[email protected]>:
The problem is that 64-bit libraries should never be in /usr/local/lib.
Instead they should be in /usr/local/lib/sparcv9.
I am not installing MPIR on these machines, as I do not have root
access on either. Thus whatever is in /usr/local/lib is not my
responsibility.
But I was using a compiler installed in /usr/local. When that compiler was
installed, by default it uses

/usr/local/man - man pages
/usr/local/bin - binaries
/usr/local/lib  - 32-bit libraries
/usr/local/lib/sparcv9 - 64-bit libraries.

To answer your other question about 't2'. Agreed it has no
/usr/local/lib/sparcv9, but gcc is not installed in /usr/local.

Instead gcc is installed under /usr/local/gcc-4.4.1-sun-linker/

So the 32-bit libraries will be under /usr/local/gcc-4.4.1-sun-linker/lib
and the 64-bit libraries under /usr/local/gcc-4.4.1-sun-linker/lib/sparcv9.

And indeed if I add this to LD_LIBRARY_PATH, MPIR passes its tests.

Is this a standard directory that libtool should know to look in?

No, the compiler should know this.

$ ls /usr/local/gcc-4.4.1-sun-linker/lib/sparcv9
libgcc_s.so           libgomp.so.1          libssp.so.0.0.0
libgcc_s.so.1         libgomp.so.1.0.0      libstdc++.a
libgfortran.a         libgomp.spec          libstdc++.la
libgfortran.la        libiberty.a           libstdc++.so
libgfortran.so        libssp.a              libstdc++.so.6
libgfortran.so.3      libssp.la             libstdc++.so.6.0.12
libgfortran.so.3.0.0  libssp_nonshared.a    libsupc++.a
libgomp.a             libssp_nonshared.la   libsupc++.la
libgomp.la            libssp.so
libgomp.so            libssp.so.0

Libtool builds the MPIR library in a directory in the MPIR source
tree, then links against that. This works on every other architecture
I am aware of.
libtool picks the right libraries under many programs in Solaris. I would
suggest there is some error in how libtool is being used. I would ask on the
libtool mailing list, and see if they can help you.

Most platforms do not support both 32 and 64-bit builds, so most platforms
do not have to have different directories for 32 and 64-bit libraries.

The compiler should know to pick up the correct library. I've no idea why it
is not in this case, but I can assure you there are many programs I've built
as 64-bit under Solaris on SPARC which use libtool.

It's because LD_LIBRARY_PATH is set incorrectly on t2.

No, it is not.

If LD_LIBRARY_PATH is set to a lib/sparcv9 directory, then 32-bit builds would fail. It might be useful to add LD_LIBRARY_PATH_64, which will only affect 64-bit builds, not 32-bit ones.

That might be the reason.

Dave

--
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to