Subject: mail/imap-uw build problems on Darwin
To: None <tech-pkg@netbsd.org>
From: Mark E. Perkins <perkinsm@bway.net>
List: tech-pkg
Date: 10/29/2005 21:36:46
I'm trying to build mail/imap-uw on MacOS X 10.3.9, but have run into a
few problems. The first was caused by an error in the pkgsrc Makefile,
which was fixed by a patch supplied by JuanRP (thanks!). After applying
the Makefile patch, I run into two problems building c-client:

First problem:
 gcc -pipe -c -g -O -Wno-pointer-sign -O2 -DCREATEPROTO=unixproto
-DEMPTYPROTO=unixproto -DMAILSPOOL=\"/var/mail\"
-DANONYMOUSHOME=\"/var/mail/anonymous\"
-DACTIVEFILE=\"/usr/lib/news/active\" -DNEWSSPOOL=\"/var/spool/news\"
-DRSHPATH=\"/usr/ucb/rsh\" -DLOCKPGM=\"/etc/mlock\" -I/usr/include/krb5
-DMD5ENABLE=\"/etc/cram-md5.pwd\" -I/usr/include/openssl
-I/usr/include/openssl/openssl -DSSL_CERT_DIRECTORY=\"/etc/ssl/certs\"
-DSSL_KEY_DIRECTORY=\"/etc/ssl/private\" -c osdep.c  -fno-common -DPIC
-o .libs/osdep.o
cc1: error: unrecognized option `-Wno-pointer-sign'
*** Error code 1

Stop.
make: stopped in
/Volumes/NetBSD/pkgsrc/mail/imap-uw/work/imap-2004e/c-client

This one can be fixed by creating a new patch-ab. The new version has
all of the changes that are in the distributed patch-ab, but removes the
`-Wno-pointer-sign' from BASECFLAGS for osx.


Second problem:
gcc -pipe -dynamiclib ${wl}-flat_namespace ${wl}-undefined ${wl}suppress
-o .libs/libc-client.4.0.2.dylib  .libs/osdep.o .libs/mail.o
.libs/misc.o .libs/newsrc.o .libs/smanager.o .libs/utf8.o
.libs/siglocal.o .libs/dummy.o .libs/pseudo.o .libs/netmsg.o
.libs/flstring.o .libs/fdstring.o .libs/rfc822.o .libs/nntp.o
.libs/smtp.o .libs/imap4r1.o .libs/pop3.o .libs/unix.o .libs/mbx.o
.libs/mmdf.o .libs/tenex.o .libs/mtx.o .libs/news.o .libs/phile.o
.libs/mh.o .libs/mx.o
-L/Volumes/NetBSD/pkgsrc/local/imap-uw/work/.buildlink/lib -lgssapi
-lkrb5 -lasn1 -lcom_err -lroken -lssl -lcrypto  -install_name
/Volumes/NetBSD/pkg/lib/libc-client.4.dylib -Wl,-compatibility_version
-Wl,5 -Wl,-current_version -Wl,5.2
/usr/bin/libtool: can't locate file for: -lgssapi
/usr/bin/libtool: file: -lgssapi is not an object file (not allowed in a
library)
/usr/bin/libtool: can't locate file for: -lasn1
/usr/bin/libtool: file: -lasn1 is not an object file (not allowed in a
library)
/usr/bin/libtool: can't locate file for: -lroken
/usr/bin/libtool: file: -lroken is not an object file (not allowed in a
library)
*** Error code 1

Stop.
make: stopped in
/Volumes/NetBSD/pkgsrc/local/imap-uw/work/imap-2004e/c-client

This one is caused by patch-aj, which appears to me to be a
NetBSD-centric patch. If I move patch-aj out of the way, the build
completes without a hitch.

I will send-pr all of this, but can someone explain how to use pkgsrc to
apply a patch conditionally?

Thanks,
Mark