Some operating systems separate the 32-bit and 64-bit libraries.
IRIX:
/usr/lib == old 32-bit (MIPS2)
/usr/lib32 == new 32-bit (MIPS3)
/usr/lib64 == 64-bit (MIPS4)
Linux:
Debian is AFU and uses:
/usr/lib == 64-bit
/usr/lib32 == 32-bit
while the rest of the Linux world uses:
/usr/lib == 32-bit
/usr/lib64 == 64-bit
thus preserving binary compatibility on x86_64 systems running
i386 binaries. Looks like we can detect this by looking for
/usr/lib32 on Linux...
Solaris:
/usr/lib == default arch
/usr/lib/32 == 32-bit, normally a symlink to /usr/lib
/usr/lib/64 == 64-bit
Ideally, we want to build all of CUPS for the default architecture and the libcups and libcupsimage libraries for the alternate. We must also make sure that we add a symlink from /usr/lib/cups to /usr/lib{32|64|/32|/64}/cups so that filters, etc. continue to work as expected on all operating systems.
The text was updated successfully, but these errors were encountered:
FWIW, changing CUPS_SERVERBIN to point to $exec_prefix/lib/cups or $exec_prefix/libexec/cups instead of $libdir/cups fixes the latter issue - no need for a symlink anymore.
To summarize the implementation, I've added two new configure directives, --enable-32bit and --enable-64bit, which enable generation of the corresponding separate cups and cupsimage libraries. The --enable-32bit option is implemented for GCC and native compilers on IRIX, Linux, and Solaris. The --enable-64bit option is implemented for GCC and native compilers on IRIX and Solaris.
64-bit Linux compiles now default libdir to /usr/lib64 when present. Similarly, 32-bit libraries are placed in /usr/lib32 when present. This should, hopefully, work around Debian's unfortunate choice to turn their backs on the rest of the Linux community and the long history in the commercial UNIX environment of placing the 64-bit libraries in a separate directory from /usr/lib.
Currently none of the packaging files has been updated to include the alternate libraries, when configured - will create a separate STR for that...
Version: 1.2-feature
CUPS.org User: mike
Some operating systems separate the 32-bit and 64-bit libraries.
IRIX:
Linux:
Solaris:
Ideally, we want to build all of CUPS for the default architecture and the libcups and libcupsimage libraries for the alternate. We must also make sure that we add a symlink from /usr/lib/cups to /usr/lib{32|64|/32|/64}/cups so that filters, etc. continue to work as expected on all operating systems.
The text was updated successfully, but these errors were encountered: