On Wed, Sep 20, 2006 at 07:46:04PM +0200, Ralf S. Engelschall wrote:
> On Wed, Sep 20, 2006, Adam D. Morley wrote:
> 
> > On Wed, Sep 20, 2006 at 07:52:03AM +0200, Ralf S. Engelschall wrote:
> > > On Tue, Sep 19, 2006, Adam D. Morley wrote:
> > >
> > > > [...]
> > > > Solaris is apparently not enjoying building OSS this week:
> > > >
> > > > openpkg rpm -bb sasl.spec
> > > > ...
> > > > Making all in sample
> > > > if /opt/openpkg/bin/cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include
> > > > -I/opt/openpkg/include -I/opt/openpkg/include -I/opt/openpkg/include
> > > > -Wall -W -O2 -pipe -I/opt/openpkg/include -MT client.o -MD -MP -MF
> > > > ".deps/client.Tpo" \
> > > >           -c -o client.o `test -f 'client.c' || echo './'`client.c; \
> > > >         then mv ".deps/client.Tpo" ".deps/client.Po"; \
> > > >         else rm -f ".deps/client.Tpo"; exit 1; \
> > > >         fi
> > > > client.c: In function 'getrealm':
> > > > client.c:81: warning: unused parameter 'context'
> > > > client.c: In function 'simple':
> > > > client.c:106: warning: unused parameter 'context'
> > > > client.c: At top level:
> > > > client.c:139: error: static declaration of 'getpassphrase' follows
> > > > non-static declaration
> > > > /usr/include/stdlib.h:206: error: previous declaration of
> > > > 'getpassphrase' was here
> > >
> > > Yes, SASL is broken here. It Autoconf-like wrapped a getpassphrase(3)
> > > function stub with "#ifndef HAVE_GETPASSPHRASE" but the whole
> > > SASL doesn't have any Autoconf checks for this function.
> > > This obviously breaks under platforms like Solaris where
> > > the system provides a getpassphrase(3) function. Now fixed:
> > > http://cvs.openpkg.org/chngview?cn=30150
> > > Thanks for the hint.
> >
> > The excitement continues:
> >
> > mkdir .libs
> > /opt/openpkg/bin/cc -Wall -W -O2 -pipe -I/opt/openpkg/include
> > -L/opt/openpkg/lib -L/opt/openpkg/lib -L/opt/openpkg/lib -o .libs/client
> > client.o common.o ../lib/.libs/libsasl2.so -ldl -lresolv -ldb -lfsl
> > -lsocket -lnsl -lrt -lresolv -lresolv -ldb -lfsl -lsocket -lnsl -lrt
> > -Wl,--rpath -Wl,/opt/openpkg/lib
> > ../lib/.libs/libsasl2.so: undefined reference to [EMAIL PROTECTED]'
> > ../lib/.libs/libsasl2.so: undefined reference to [EMAIL PROTECTED]'
> > ../lib/.libs/libsasl2.so: undefined reference to [EMAIL PROTECTED]'
> > ../lib/.libs/libsasl2.so: undefined reference to [EMAIL PROTECTED]'
> > ../lib/.libs/libsasl2.so: undefined reference to [EMAIL PROTECTED]'
> > collect2: ld returned 1 exit status
> > make[2]: *** [client] Error 1
> > make[1]: *** [all-recursive] Error 1
> > make: *** [all] Error 2
> > error: Bad exit status from /opt/openpkg/RPM/TMP/rpm-tmp.11358 (%build)
> > [...]
> > RPM build errors:
> >     Bad exit status from /opt/openpkg/RPM/TMP/rpm-tmp.11358 (%build)
> >
> > Whole build log is attached.  It seems that libsasl2.so built fine though:
> >
> > /opt/openpkg/bin/cc -shared  auxprop.lo canonusr.lo checkpw.lo client.lo 
> > common.lo config.lo external.lo md5.lo saslutil.lo server.lo seterror.lo 
> > dlopen.lo plugin_common.lo  -L/opt/openpkg/lib -ldl -lresolv -lresolv -ldb 
> > -lfsl -lsocket -lnsl -lrt -lc  -Wl,-soname -Wl,libsasl2.so.2 -o 
> > .libs/libsasl2.so.2.0.22
> > (cd .libs && rm -f libsasl2.so.2 && ln -s libsasl2.so.2.0.22 libsasl2.so.2)
> > (cd .libs && rm -f libsasl2.so && ln -s libsasl2.so.2.0.22 libsasl2.so)
> > ar cru .libs/libsasl2.a  auxprop.o canonusr.o checkpw.o client.o common.o 
> > config.o external.o md5.o saslutil.o server.o seterror.o dlopen.o 
> > plugin_common.o
> 
> The above error is very interesting: dlopen(3) and friends are from
> Solaris' libdl, which in turn really is correctly linked here _AFTER_
> the libsasl2.so. Nevertheless it complains about the undefined symbols.

Indeed, that is weird.

> And on top of all this I've to say that it works just fine for me on
> rm1.openpkg.net (a Solaris 10/x86 box) as the attached logfile shows.

Ok, two questions:

1.  Do you have a SPARC box?
2.  What does /etc/release say, and when was the last time you applied
10_Recommended?  I'm wondering if I'm encountering a libdl bug that is
fixed in a more recent patch, or if a bug was introduced since an older
rev, like with openldap from a few days ago.
        (mine says: "Solaris 10 1/06 s10s_u1wos_19a SPARC" and I applied
         10_Recommended in August)

[I'm trying out bare cyrus-sasl, to check my sanity.]

-- 
adam
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
User Communication List                      [email protected]

Reply via email to