Advice on PIC issue

Andreas Metzler ametzler at downhill.at.eu.org
Wed Nov 8 20:27:37 CET 2006


On 2006-11-08 Fabian Fagerholm <fabbe at paniq.net> wrote:
> I went through the first buildd logs of 2.1.22, and found that amd64 and
> hppa have issues with non-PIC objects being linked into PIC shared libs.
[...]

Hello,

I am absolutely no auto* guru, but this in sasldb/Makefile.am

libsasldb.a: libsasldb.la $(SASL_DB_BACKEND_STATIC)
       $(AR) cru .libs/$@ $(SASL_DB_BACKEND_STATIC)

Seems to be very broken. $(SASL_DB_BACKEND_STATIC) expands to
db_berkeley.o allockey.o (don't ask me how, seen in the buildlog.)
Afaict from the buildlog almost everything is built twice, once with
PIC, object file placed in .libs, once without, object file placed in
./.

The above statement executes this command when trying to generate
./libsasldb.a:

ar cru .libs/libsasldb.a db_berkeley.o allockey.o

i.e. it overwrites .libs/libsasldb.a instead of generating ./libsasldb.a
and uses ./db_berkeley.o and ./allockey.o instead of the PIC-built
.libs/db_berkeley.o and .libs/allockey.o.

I do not know whether sasldb/libsasldb.a serves any purpose, I doubt
it, however replacing the above two lines with

libsasldb.a: libsasldb.la $(SASL_DB_BACKEND_STATIC)
        $(AR) cru $@ $(SASL_DB_BACKEND_STATIC)

--------------

I would appreciate if some auto* guru could verify that I not
bollocks. The same error is present in ./lib/Makefile.am. (But nowhere
else according to grep -E '\(AR\)' `find -name Makefile.am`)

cu andreas
-- 
The 'Galactic Cleaning' policy undertaken by Emperor Zhark is a personal
vision of the emperor's, and its inclusion in this work does not constitute
tacit approval by the author or the publisher for any such projects,
howsoever undertaken.                                (c) Jasper Ffforde



More information about the Pkg-cyrus-sasl2-debian-devel mailing list