Build problem with library locations in 2.5.7
ellie at fastmail.com
Sun Apr 10 20:00:22 EDT 2016
This seems to be a consequence of Red Hat not providing a config.site
for its libdir setup, so autoconf just does its usual thing -- which,
under Red Hat's libdir setup, is incorrect.
There's a fairly long-standing bug for this here:
If I'm reading it correctly, it only affects builds from source with
--prefix=/usr, so one workaround would be to install cyrus to a
different prefix (I believe '/usr/cyrus' is fairly traditional)
Another workaround would be, if you're configuring with --prefix=/usr,
then also specify --libdir=/usr/lib64
If you build a lot of packages from source and then install them to
/usr, you could install your own config.site until RH provide one.
There's an old discussion on the autoconf mailing list here, the result
of which is documentation updates in autoconf including an example
config.site that takes this case into account:
On Sat, Apr 9, 2016, at 12:45 AM, Giles Malet via Cyrus-devel wrote:
> Further to an earlier posting:
> > We recently upgraded to Cyrus IMAP v2.5.7 (compiled from 0ca3a92)
> After a 'make; make install' the program 'master' would not start as it
> could not find all its shared libraries. Specifically libcyrus_min.so.0
> was missing.
> Running ldd on master now shows:
> libcyrus_min.so.0 => /usr/lib64/libcyrus_min.so.0 (0x0000003713a00000)
> however, the make install put that 64-bit library (and a bunch of others)
> into /usr/lib, which is not included in the loader path for a 64-bit
> executable, at least for our RHES 6.7. So I did:
> # mv /usr/lib/libcyrus* /usr/lib64
> and everything worked. Is this a problem in the configure scripts for
> 64-bit machines?
More information about the Cyrus-devel