[Date Prev][Date Next]
Re: problems under IRIX 6.2, 6.5
On Fri, 8 Jan 1999, Kurt D. Zeilenga wrote:
> At 05:32 PM 1/8/99 -0500, Don Badrak wrote:
> >However, now it is not performing at all. It is *very* slow. I haven't
> >changed the configuration files (same indexes). I've tried it against DB
> >2.4.14, 2.5.9, 2.6.4, and then even went back to 2.3.16, and it's all the
> We currently are recommending Berkeley DB 2.3.16. Our code for
> later versions is still experimental (in fact DB 2.6.4 itself
> is a BETA TEST).
Right, I've been reading that. But, when I first went to DB 2.x, I went
to 2.4.14 with Umich 3.3 (plus some patches). Today, with my current
database, a query like this:
ldapsearch -h localhost department=geo\* mail >/dev/null
takes 1.87 seconds with the Umich-3.3+DB-2.4.14. I just rebuild OpenLDAP
1.1.2 with DB-2.4.14 (after making the small db.c patch). I get 20
seconds for the same query. Same thing with 1.1.2 and DB-2.3.16. BTW,
2.4.14 is the Sleepycat "stable" version. Before I made the db.c patch,
it took 30 seconds.
These numbers are why I am reluctant to believe DB is the problem. I put
1.1.2 and DB 2.3.16 on a very fast machine, and still the query took 6
seconds. The same database on a slightly slower Sun running Solaris 2.6
took 0.87 seconds.
> >I tried it under IRIX 6.5 on a 225MHz R10000 Octane (well, all
> >Octanes are R10Ks). Slow there, too.
> You may be running into a DB2 bug. Try applying our DB2 patch,
> here a link to the FAQ answer with details.
> I assume all ldbm options are the same on all benched systems...
Yes. And the same pthread library.
> >Here's how I configure the current release (1.1.2):
> > setenv CFLAGS "-I /usr/local/include"
> > setenv LDFLAGS "-L/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib"
> > setenv LDFLAGS "-Wl,-woff,84 -Wl,-woff,85 $LDFLAGS"
> > setenv LIBS "-lbind -lpthread"
> I don't recommend putting -lpthread in your $LIBS (or $LDFLAGS).
> If you let configure find -lpthread by itself then only those
> utilities requiring -lpthread will be linked with it. But
> this isn't the problem.
If I remove that, it fails to find pthread_kill and pthread_join (both in
libpthread.so). After some playing and investigation, I found that on
IRIX 6.2, if I include -lpthread in the LIBS variable, configure hangs on
the wait3() test. If I remove it, it manages to find pthread_kill, but
won't link correctly. I had to manually add -lpthread to
Under IRIX 6.5, it doesn't find pthread_kill or pthread_join without
-lpthread on the LIBS line. It doesn't hang in the wait3 like 6.2 does.
But, this way, as you say, everything is linked with -lpthread. So I
configured with -lpthread in the LIBS, saved the include/portable.h,
reconfigured without it, used the previous portable.h, and manually added
-lpthread as above in IRIX 6.2.
One thing I noticed that was missing was -D_SGI_MP_SOURCE, which used to
exist in earlier versions of OpenLDAP in the
> Note: I can easily add a test for -lbind. I just need to
> know what routine to test for.
__inet_ntoa() should do. libresolv.a has this as inet_ntoa(). One of the
things I see most with people having problems with their links missing
__inet_ntoa is because of failure to use -lbind (the bind 8.1.2 library).
This is cheating, assuming a private routine, I know. You can also check
the macro __RES to be at least 19960801. I don't remember off the top of
my head when Bind 8 came out, but this sounds like a good date. I can get
you a list of routines from libresolv.a (bind 4.9.x) and libbind.a (bind
8.x) if you want (or a better one to check).
> >BTW, using autoconf with a subdirectory (for multi-machine builds in the
> >same source tree) doesn't seem to work. Something like:
> > mkdir r10k-irix-6.5
> > cd r10k-irix-6.5
> > ../configure --srcdir=../ [other options]
> >fails when you do a "make" with (from configure.log)
> Not sure why it trying to link with libldap.la and liblber.la here.
> Check your LIBS and LDFLAGS.
> I use ../configure (with or without the --srcdir argument) and
> it runs fine (on FreeBSD) and the system even builds correctly.
> However, mkdep doesn't work, but that's another issue.
make depend doesn't work for me, either. I just did it again without the
--srcdir, and the tests directory is missing scripts and data (links), and
the man pages and other docs didn't get installed.
> > configure:1765: gcc -o conftest -I /usr/local/include -I -I./include -DHAVE_CONFIG_H conftest.c -L/home/csb/dbadrak/build-local/openldap-1.1.2/ldap/libraries -lldif /home/csb/dbadrak/build-local/openldap-1.1.2/ldap/libraries/libldap/libldap.la /home/csb/dbadrak/build-local/openldap-1.1.2/ldap/libraries/liblber/liblber.la -Wl,-woff,84 -Wl,-woff,85 -L/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -lbind 1>&5
> > gcc: /home/csb/dbadrak/build-local/openldap-1.1.2/ldap/libraries/libldap/libldap.la: No such file or directory
> > gcc: /home/csb/dbadrak/build-local/openldap-1.1.2/ldap/libraries/liblber/liblber.la: No such file or directory
Don Badrak <firstname.lastname@example.org> 301.457.1793 work
Telecommunications Office 301.457.4438 fax
U.S. Bureau of the Census 301.457.1828 fax
Suitland MD, USA