INN 2.6.0 release candidate

Dennis Preiser dp-inn at d--p.de
Fri May 1 20:39:35 UTC 2015


On Mon, Mar 30, 2015 at 10:39:02PM +0200, Julien ÉLIE wrote:
> A release candidate for INN 2.6.0 has just been made available
> for download on ftp.isc.org:
> 
>     http://ftp.isc.org/isc/inn/testing/
> 
> Please report any issue you may encounter, especially during
> the upgrade process from INN 2.5.x.

I've built inn-2.6.0rc1 on Mac OS X and here is a brief report:

At first, make has stopped here:

| libtool: link: clang -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libinn.3.dylib  .libs/setproctitle.o .libs/reallocarray.o .libs/argparse.o .libs/buffer.o .libs/cleanfrom.o .libs/clientactive.o .libs/clientlib.o .libs/commands.o .libs/concat.o .libs/conffile.o .libs/confparse.o .libs/daemonize.o .libs/date.o .libs/dbz.o .libs/defdist.o .libs/dispatch.o .libs/fdflag.o .libs/fdlimit.o .libs/getfqdn.o .libs/getmodaddr.o .libs/hash.o .libs/hashtab.o .libs/headers.o .libs/hex.o .libs/innconf.o .libs/inndcomm.o .libs/list.o .libs/localopen.o .libs/lockfile.o .libs/makedir.o .libs/md5.o .libs/messageid.o .libs/messages.o .libs/mmap.o .libs/network.o .libs/network-innbind.o .libs/newsuser.o .libs/nntp.o .libs/numbers.o .libs/qio.o .libs/radix32.o .libs/readin.o .libs/remopen.o .libs/reservedfd.o .libs/resource.o .libs/sendarticle.o .libs/sendpass.o .libs/sequence.o .libs/timer.o .libs/tst.o .libs/uwildmat.o .libs/vector.o .libs/wire.o .libs/xfopena.o .libs/xmalloc.o .libs/xsignal.o .libs/xwrite.o    -multiply_defined   -install_name  /usr/local/news/lib/libinn.3.dylib -compatibility_version 4 -current_version 4.0 -Wl,-single_module
| clang: error: no such file or directory: '/usr/local/news/lib/libinn.3.dylib'
| make[1]: *** [libinn.la] Error 1
| make: *** [all-lib] Error 2

The reason is the '-multiply_defined'-part of the command line. I guess
this should be '-multiply_defined suppress' and has to be passed to the
linker with '-Wl'. Here is the corresponding snippet from configure.ac:

| dnl OSX needs -multiply_defined suppress.
| *darwin*)
|     LDFLAGS="$LDFLAGS -multiply_defined suppress"
|     ;;

However, at least in Mac OS X 10.10 this switch is marked as obsolete.
From ld(1): 

|    -multiply_defined treatment
|                Previously provided a way to warn or error if any of the sym-
|                bols used from a dynamic library were also available in
|                another linked dynamic library.  This option is obsolete.

To continue, I've removed this from Makefile.global:

| -LDFLAGS		=  -multiply_defined suppress
| +LDFLAGS		=

After that, make has stopped at this point:

| libtool: link: clang -o .libs/innfeed article.o buffer.o config_l.o config_y.o endpoint.o host.o innlistener.o main.o misc.o tape.o connection.o  /Users/dennis/src/inn-2.6.0rc1/history/.libs/libinnhist.dylib /Users/dennis/src/inn-2.6.0rc1/storage/.libs/libstorage.dylib /Users/dennis/src/inn-2.6.0rc1/lib/.libs/libinn.dylib
| imap_connection.c:57:15: error: typedef redefinition with different types
|       ('int (*)(void)' vs 'int (*)()')
| typedef int (*sasl_callback_ft)(void);
|               ^
| /usr/include/sasl/saslplug.h:36:15: note: previous definition is here
| typedef int (*sasl_callback_ft)(); // APPLE: remove void
|               ^
| 1 error generated.
| make[1]: *** [imap_connection.o] Error 1
| make: *** [all-innfeed] Error 2

The comment indicates that the change was made intentionally (for
whatever reason).

After removing the typedef:

| -typedef int (*sasl_callback_ft)(void);
| +//typedef int (*sasl_callback_ft)(void);

in innfeed/imap_connection.c I was eventually able to build inn.

inn-2.5.5rc1 has the same issues on Mac OS X when configured with
--with-sasl and --enable-libtool.

Dennis


More information about the inn-workers mailing list