print/cups: 10.0-CURRENT renders cups unusable / recompilation fails due to missing libiconv

Dimitry Andric dim at FreeBSD.org
Mon Aug 26 14:24:40 UTC 2013


On Aug 26, 2013, at 15:54, O. Hartmann <ohartman at zedat.fu-berlin.de> wrote:
> Today I update a box to 10.0-CURRENT #0 r254896: Mon Aug 26 09:42:48
> CEST 2013 amd64. Bevor the update this morning, I ran a box with the
> sources from around last Friday and port print/cups was working fine
> so far.
> 
> After building/installation of world/kernel today as of r254896 the
> cups daemon didn't respond when accessd locally via port 631, printing
> is rejected with messages like "reset by peer"

I can't help you with this...


> and furthermore, when I
> thought the cups binary might be out of sync with the environment, I
> tried to recompile the whole preint/cups installation, but this fails
> now in a close to EPICAL way not finding "libiconv" 
> 
> [...]
> cc -L../cgi-bin -L../cups -L../filter -L../ppdc -L../scheduler
> -L/usr/local/lib -Wl,-rpath=/usr/lib:/usr/local/lib
> -Wl,-R/usr/local/lib   -Wall -Wno-format-y2k -Wunused -fPIC -Os -g
> -fstack-protector -Wno-tautological-compare -o bannertops bannertops.o
> pstext.o common.o -lcupsimage \ -lcups  -lssl -lcrypto  -lz -pthread
> -lcrypt -lm -lssp_nonshared ../cups/libcups.so: undefined reference to
> `libiconv' ../cups/libcups.so: undefined reference to
> `libiconv_close' ../cups/libcups.so: undefined reference to
> `libiconv_open'

... but maybe I can help here.  This is due to iconv being enabled in
the base system, as I pointed out here:

http://lists.freebsd.org/pipermail/freebsd-ports/2013-August/085459.html

The easiest workaround for now is to force LDFLAGS to contain -liconv
in the port's Makefile, e.g.:

Index: print/cups-base/Makefile
===================================================================
--- print/cups-base/Makefile	(revision 324846)
+++ print/cups-base/Makefile	(working copy)
@@ -23,7 +23,7 @@
 GNU_CONFIGURE=	yes
 CFLAGS+=	${PTHREAD_CFLAGS}
 CPPFLAGS+=	-I${LOCALBASE}/include
-LDFLAGS+=	-L${LOCALBASE}/lib
+LDFLAGS+=	-L${LOCALBASE}/lib -liconv
 DSOFLAGS=	-Wl,-rpath,${PREFIX}/lib -L${PREFIX}/lib ${LDFLAGS}
 CONFIGURE_ENV=	DSOFLAGS="${DSOFLAGS}"
 CONFIGURE_ARGS+=	--localstatedir=/var			\

-Dimitry



More information about the freebsd-current mailing list