cyrus-sasl-2.1.20 and db-4.3.27 problem (almost figured out)
Oliver Aruväli
chaser at hot.ee
Sat Feb 5 07:36:40 EST 2005
Hi,
I wrote quite a long story considering all the suggestions and after
thinking it through I deleted it all. Seems I just had to think it
through aloud. So this is what I came up with: cyrus-sasl 2.1.20's
configure file was the first landmine. At line 5135 or so it lists
versions of the lib files, just the numbers nothing else and as 4.3 is
not listed as an option, it gets a number comparison error. So by adding
db-4.3, db4.3 and db43 to the list (in one line, nextline gave me an
error), 4.3.27 will be accepted. The next landmine was this:
from: pico /usr/src/webserver/cyrus-sasl-2.1.20-with-bdb.4.3.27/config.log
configure:5092: checking for db.h
configure:5099: result: yes
configure:5149: gcc -o conftest -Wall -W -g -O2
-I/usr/local/bdb/4.3.27/include -L/usr/local/bdb/4.3.27/lib
-Wl,-rpath,/usr/local$
/usr/local/bdb/4.3.27/lib/libdb-4.3.so: undefined reference to
`pthread_condattr_setpshared'
/usr/local/bdb/4.3.27/lib/libdb-4.3.so: undefined reference to
`pthread_mutexattr_destroy'
/usr/local/bdb/4.3.27/lib/libdb-4.3.so: undefined reference to
`pthread_mutexattr_setpshared'
/usr/local/bdb/4.3.27/lib/libdb-4.3.so: undefined reference to
`pthread_mutexattr_init'
/usr/local/bdb/4.3.27/lib/libdb-4.3.so: undefined reference to
`pthread_mutex_trylock'
collect2: ld returned 1 exit status
(BTW the same error appears when I run configure with 4.2.52
(respectevly libdb-4.2.so ) so it must be be version independant )
this magical 'pthread' was a thing which gave me something to google
with, so I found this http://www.postfix.org/DB_README.html and at the
end You see the same error not in configure phase but in build phase and
the solution:
Add the "-lpthread" library to the "make makefiles" command.
% make makefiles .... AUXLIBS="... -lpthread"
I know that with this knowladge my problem could be solved but as this
is now out of my league I turn to Your help again :)
Oliver
OpenMacNews wrote:
> hi oliver,
>
> fwiw, sasl-2.1.20 + bdb-4.3.27 runs just great on my OSX 10.3.7 sys
> ... which, alas, is diff from yours.
>
> that said, i've had a similar issue b4 that may be worth mentioning
> here; dunno if it's your solution =)
>
> if you poke around in sasl's code, you'll note that the sasl code,
> walks "-ldb-4.2 -ldb-4 -ldb" for ID'ing DB libs ...
>
> trouble is, a fresh build of bdb 4.3.27 has *no* "-ldb-4.2" (at least
> 4 me), so if you've got db-4.2, etc. (i.e., your OLD or DEFAULT
> install ...) in another dir in your default path, e.g. /usr/lib etc.,
> the Makefile seemingly/eventually picks up THAT _default_install,
> hence not finding your intended install.
>
> the workaround's fairly simple ...
>
> after your DB 4.3.27 build,
>
> % cd ...berkeley-db-4.3.27/lib
>
> % ln -sf libdb-4.3.a libdb-4.2.a
> % ln -sf libdb-4.3.dylib libdb-4.2.dylib
> % ln -sf libdb-4.3.la libdb-4.2.la
>
> or, of course, the equivalent for your platform extensions ...
>
> add to that:
>
> setenv CPPFLAGS "-I/usr/local/DarkMatter/berkeley-db/include ..."
> setenv LDFLAGS "-L/usr/local/DarkMatter/berkeley-db/lib -ldb ..."
>
> ./configure \
> ...
> --with-dblib=berkeley \
> --with-bdb-libdir=/usr/local/DarkMatter/berkeley-db/lib \
> --with-bdb-incdir=/usr/local/DarkMatter/berkeley-db/include \
> ...
>
> &, so far, this has done the trick for me:
>
> % otool -L libsasl2.dylib
> libsasl2.dylib:
> /usr/local/cyrus-sasl/lib/libsasl2.2.dylib (compatibility
> version 3.0.0, current version 3.20.0)
> /usr/local/berkeley-db/lib/libdb-4.3.dylib (compatibility
> version 0.0.0, current version 0.0.0)
> /usr/lib/libdl.1.dylib (compatibility version 1.0.0, current
> version 1.0.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,
> current version 71.1.1)
> /usr/lib/libresolv.9.dylib (compatibility version 1.0.0,
> current version 324.9.0)
>
>
> for all I know, this has been addressed in sasl-CVS, but,
> unfortunately, it does not build successfully for me ... so can't
> testify.
>
> hope this actually helps
>
> cheers,
>
> richard
>
> -- On February 4, 2005 12:08:14 PM -0500 Igor Brezac <igor at ipass.net>
> wrote:
>
>
>>
>> Check config.log for more clues, however I do not think
>> cyrus-sasl-2.1.20
>> build script supports berkeley 4.3.x. You need to fetch the cvs
>> version.
>>
>> -Igor
>>
>> On Fri, 4 Feb 2005, [ISO-8859-1] Oliver Aruväli wrote:
>>
>>> Hi,
>>> I am trying to compile cyrus-sasl-2.1.20, but during the configure I
>>> get
>>>
>>> --------------------------------
>>>
>>> checking db.h usability... yes
>>> checking db.h presence... yes
>>> checking for db.h... yes
>>> checking DB library to use... no
>>> configure: WARNING: Disabling SASL authentication database support
>>>
>>> ---------------------------------
>>>
>>>
>>> why can't it find the library? the ./configure line I use is:
>>> ./configure \
>>> --enable-anon \
>>> --enable-plain \
>>> --enable-login \
>>> --disable-krb4 \
>>> --disable-otp \
>>> --disable-cram \
>>> --disable-digest \
>>> --with-saslauthd=/var/run/saslauthd \
>>> --with-pam=/lib/security \
>>> --with-dblib=berkeley \
>>> --with-bdb-libdir=/usr/local/bdb/current/lib \
>>> --with-bdb-incdir=/usr/local/bdb/current/include \
>>> --with-openssl=/usr/local/ssl \
>>> --with-plugindir=/usr/local/lib/sasl2 \
>>> --with-pgsql=/usr/local/pgsql/current \
>>> --with-mysql=/usr/local/mysql/current
>>>
>>> This is a problem with Berkeley, right? I have compiled and installed
>>> version 4.3.27. (/usr/local/bdb/current/lib is in /etc/ld.so.conf
>>> and I
>>> have done ldconfig)
>>>
>>> atlantis:/usr/src/cyrus-sasl-2.1.20# ls -la /usr/local/bdb/current/lib/
>>> total 5640
>>> drwxr-xr-x 2 chaser chaser 4096 Feb 4 12:29 .
>>> drwxr-xr-x 6 chaser staff 4096 Feb 4 12:29 ..
>>> -r--r--r-- 1 chaser chaser 193857 Feb 4 12:29 db.jar
>>> -rw-r--r-- 1 chaser src 1132142 Feb 4 12:29 libdb-4.3.a
>>> -rw-r--r-- 1 chaser src 806 Feb 4 12:27 libdb-4.3.la
>>> -rwxr-xr-x 1 chaser src 910934 Feb 4 12:27 libdb-4.3.so
>>> lrwxr-xr-x 1 chaser chaser 12 Feb 4 12:29 libdb-4.so ->
>>> libdb-4.3.so
>>> -rw-r--r-- 1 chaser src 1132142 Feb 4 12:29 libdb.a
>>> lrwxr-xr-x 1 chaser chaser 12 Feb 4 12:29 libdb.so ->
>>> libdb-4.3.so
>>> -rw-r--r-- 1 chaser src 1280498 Feb 4 12:29 libdb_java-4.3.a
>>> -rw-r--r-- 1 chaser src 851 Feb 4 12:28 libdb_java-4.3.la
>>> -rwxr-xr-x 1 chaser src 1070486 Feb 4 12:28 libdb_java-4.3.so
>>> lrwxr-xr-x 1 chaser chaser 17 Feb 4 12:29 libdb_java-4.3_g.so ->
>>> libdb_java-4.3.so
>>> lrwxr-xr-x 1 chaser chaser 17 Feb 4 12:29 libdb_java-4.so ->
>>> libdb_java-4.3.so
>>> lrwxr-xr-x 1 chaser chaser 17 Feb 4 12:29 libdb_java.so ->
>>> libdb_java-4.3.so
>>> atlantis:/usr/src/cyrus-sasl-2.1.20#
>>>
>>> Seems that the libraries are there, maybe my problem is in something
>>> else,
>>> but I suspect berkeley. Any kind of help is welcome.
>>>
>>> PS. I have searched the mailing-list for the past half a year and
>>> done some
>>> googleing, but haven't found a solution.
>>> PS2. Trying to follow this howto
>>> http://howtos.linux.com/howtos/Postfix-Cyrus-Web-cyradm-HOWTO/install.shtml#
>>>
>>> CYRUS-INSTALL PS3. Running Debian testing, kernel 2.6.8 , i686
>>>
>>> Thank You all in advance,
>>> Oliver
>>>
>>> ---
>>> Cyrus Home Page: http://asg.web.cmu.edu/cyrus
>>> Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
>>> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>>
>
>
>
>
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list