[cups.bugs] [MOD] STR #1524: SEVERBIN hard-coded to /usr/lib/cups (should be /usr/lib64/cups on 64-bit Linux)
Till Kamppeter
till.kamppeter at gmx.net
Thu Mar 30 07:52:23 PST 2006
[STR New]
I build an RPM for CUPS using the following "./configure" command
(%{_libdir} is replaced by /usr/lib on 32 bit and by /usr/lib64 on 64 bit)
../configure --libdir=%{_libdir} --enable-ssl --enable-libpaper
--enable-static --enable-install_static --with-cups-user=lp
--with-cups-group=sys '--with-system-groups=lpadmin root'
--enable-debug=yes --with-docdir=/usr/share/cups/doc
the following "make" command
make CHOWN=":" STRIP="$STRIP" OPTIM="$REAL_CFLAGS" \
REQUESTS=%{buildroot}%{_var}/spool/cups \
LOGDIR=%{buildroot}%{_var}/log/cups \
STATEDIR=%{buildroot}%{_var}/run/cups
and the following "make install" command
make install BUILDROOT=%{buildroot} \
DOCDIR=%{buildroot}%{_datadir}/cups/doc \
CHOWN=":" CHGRP=":" STRIP="$STRIP" \
LOGDIR=%{buildroot}%{_var}/log/cups \
REQUESTS=%{buildroot}%{_var}/spool/cups \
STATEDIR=%{buildroot}%{_var}/run/cups
Then during the install step directories
$(BUILDROOT)/usr/lib/cups/backend, $(BUILDROOT)/usr/lib/cups/filter, ...
are created but files are tried to be installed into
$(BUILDROOT)/usr/lib64/cups/backend, $(BUILDROOT)/usr/lib64/cups/filter,
.... which fails.
As the backends and filters are architecture-dependent executables the
SERVERBIN should be /usr/lib64/cups and not /usr/lib/cups on 64-bit Linux
systems. But this cannot be achieved due to hardcoded "lib/cups" in
config-scripts/cups-directories.m4.
As a quick workaround I have added
perl -p -i -e
's:(CUPS_SERVERBIN=")\$exec_prefix/lib(/cups"):$1%{_libdir}$2:'
config-scripts/cups-directories.m4
aclocal
WANT_AUTOCONF_2_5=1 autoconf
right before the "./configure" command.
The real fix would be to modify the CUPS_SERVERBIN part in
config-scripts/cups-directories.m4 to use $exec_prefix/lib64/cups for
64-bit Linux systems.
Link: http://www.cups.org/str.php?L1524
Version: 1.2-current
More information about the cups
mailing list