Brian Gough <bjg(a)gnu.org> writes:
> I don't know what is the correct interpretation of the FHS, but by
> default all other autoconf'ed and GNU packages always use
> libdir=$prefix/lib (with the --libdir option allowing it to be
> overridden if someone wants to use lib64 or whatever).
And the default is broken for multi-abi systems, since it means that a
plain ./configure && make && make install may well overwrite a working
library in /usr/local/lib with a library for a different ABI. With
autoconf defaults, this will happen, e.g., if you compile on Solaris (or
on some gnu/linux siystem which actually obeys the FHS), using a
compiler which by default generates 64-bit code).
Now, most packages are not aware of what ABI they are being compiled
for, but nettle is. It has to figure it out, in order to select the
right assembly files.
> The distributions already have their own ways of using --libdir on
> autoconf'ed packages so you don't need to worry about it yourself.
I don't worry so much for distributors. To use a sane libdir default is
intended to help people who compile nettle from source themselves,
rather than installing their distribution's nettle package.
I'd be happy to have autoconf solve this problem for me, but currently
it doesn't. Library installation is a bit complex, with various
workarounds. Another issue not currently solved by autoconf (nor by
nettle's build system) is w*ndows dlls, which should usually be
installed in bin rather than lib. I've heard that automake (or maybe it
was libtool) uses the workaround to install dlls in $libdir/../bin.
Which is really really ugly, but which appears to work most of the time.
Autoconf simply doesn't solve everything.
Finally: If the current hack doesn't work, I'd appreciate a complete bug
report. What system is it? Which library directories exists (incluing
symlinks)? Which directory is expected to hold libraries for which ABI?
Regards,
/Niels
--
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.