MAC-OSX [was: bogofilter-1.1.4 - new current release]
David Relson
relson at osagesoftware.com
Tue Jan 9 01:51:05 CET 2007
On Mon, 8 Jan 2007 16:35:11 +0200
Andras Salamon wrote:
> On Mon, Jan 08, 2007 at 07:16:40AM -0500, David Relson wrote:
> > On Mon, 8 Jan 2007 11:12:58 +0200
> > Andras Salamon wrote:
> > > which yields a src/Makefile including the lines:
> > >
> > > am__append_9 = -L/sw/lib -liconv
> > > LDADD = libbogofilter.a $(am__append_8) $(am__append_9) \
> > > $(am__append_11)
> > > bogofilter_DEPENDENCIES = $(LDADD) $(am__append_4)
> > > bogofilter$(EXEEXT): $(bogofilter_OBJECTS)
> > > $(bogofilter_DEPENDENCIES) [...commands to make bogofilter
> > > here...]
> > >
> > > The -L/sw/lib in the dependencies then causes make to fail:
> > > make[3]: *** No rule to make target `-L/sw/lib', needed by
> > > `bogofilter'. Stop.
> >
> > What is the _exact_ configure command you are using?
>
> As above:
> ./configure --with-libsqlite3-prefix=/sw --with-database=sqlite3
> --with-libiconv-prefix=/sw Doing a binary search between 1.1.1 (which
> works fine) and 1.1.4 (which does not), it seems bogofilter-1.1.3
> compiles just fine with the same configure command.
>
> Comparing versions, between 1.1.3 and 1.1.4 the following line
> bogofilter_DEPENDENCIES = $(LDADD)
> was added to src/Makefile.am; this would seem to be the source of
> the problem. LDADD contains the additional arguments to the linker,
> while *_DEPENDENCIES should contain only actual makefile targets.
>
> For completeness, but probably not relevant:
>
> > What is the full path to your sqlite3 library?
>
> /sw/lib/libsqlite3.0.8.6.dylib
> /sw/lib/libsqlite3.0.dylib
> /sw/lib/libsqlite3.a
> /sw/lib/libsqlite3.dylib
> /sw/lib/libsqlite3.la
>
> > What is the output of command
> >
> > egrep -e "^(LDFLAGS|LIBS|LIBDB|GSL_LIBS|LIBICONV)" config.log
>
> GSL_LIBS='libbf_gsl.a'
> LDFLAGS=''
> LIBDB='-L/sw/lib -lsqlite3 -lpthread'
> LIBICONV='-L/sw/lib -liconv'
> LIBS='-lm '
> LIBSQLITE3='-L/sw/lib -lsqlite3 -lpthread'
>
> > and src/Makefile has
> > LIBSQLITE3 = /sw/lib/libsqlite3.a
> > LTLIBSQLITE3 = -L/sw/lib -lsqlite3
>
> LIBSQLITE3 = -L/sw/lib -lsqlite3 -lpthread
> LTLIBSQLITE3 = -L/sw/lib -lsqlite3 -lpthread -R/sw/lib
>
> -- Andras Salamon andras at dns.net
Andras,
Thanks for the detailed analysis. Sounds like I implemented the
libbogofilter dependency incorrectly.
How does the attached patch look to you?
Regards,
David
P.S. The additional dependency was included to support make's -j
option for multi-core systems.
More information about the bogofilter-dev
mailing list