[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: problems under IRIX 6.2, 6.5


On Sat, 9 Jan 1999, Kurt D. Zeilenga wrote:

> Make sure you build DB2 using -D_REENTRANT and whatever else
> IRIX might require to get correct errno behavior in threaded
> environments.  Then build OpenLDAP using same flags using
> CPPFLAGS to add in any *special* flags.  (configure defines
> -D_THREADSAFE, and -DTHREADSAFE automatically, do not put these
> in your CPPFLAGS when building OpenLDAP else you might get
> redefine warnings/errors, however you might add -D_SGI_MP_SOURCE).

IRIX requires -D_SGI_MP_SOURCE, and the DB stuff automatically picks that
up.  -D_REENTRANT serves no purpose whatsoever, as it is not present in
any of the include files on the system.

You might consider adding -D_SGI_MP_SOURCE to your list of flags that
OpenLDAP defines if it finds.  However, it is defined at the end of
/usr/include/pthread.h, if it isn't already defined coming in, so it
shouldn't matter.

> >If I remove that (-lpthread), it fails to find pthread_kill and pthread_join (both in
> >libpthread.so).
> Why?  Check config.log.  A secondary library may be required.

I did check the config.log.  There is no other library necessary.
libpthread.so is the one that contains pthread_kill.  One thing with IRIX
is that is has some definitions for some of the pthread_ routines in
libc.so.  They are weak symbols, but it's not the complete set.  
libpthread.so has more, and they are all strong (global).  The ones that
fail (in config.log) are the ones missing.

> >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 we get configure to properly detect -lpthread then the wait3()
> test should hang (as don't run this test with -lpthread in LIBS).

It should, but possible should be changed to not include the thread
libraries so this won't happen.

> >If I remove it, it manages to find pthread_kill, but
> >won't link correctly.  I had to manually add -lpthread to
> >servers/{slapd,slurpd,slapd/tools}/Makefile.
> I hope you are removing config.cache before rerunning ./configure
> after making environment changes...

Oh most certainly.  I type "rm config.cache" so many times in a week I
should define a macro for it.
> >Under IRIX 6.5, it doesn't find pthread_kill or pthread_join without
> >-lpthread on the LIBS line.
> Again, config.log?
> >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
> >build/platforms/irix-gcc/Make-platform directory.
> You might add this via CPPFLAGS.  You might poke about in the
> headers and see how this interacts with your system headers.
> >> Note: I can easily add a test for -lbind.  I just need to
> >> know what routine to test for.
> How about res_search?

That's in both libresolv.a and libbind.a.  In libresolv.a (bind 4.9.x and
prior), inet_ntoa is formally defined as _inet_ntoa (one underscore),
while in libbind.a (bind 8.x), it has two.  Of course, this is hidden with
the include files.

> >[ on ../configure ]
> >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.
> The VPATH/srdir support definitely needs some work.  I'll put this
> on the todo list.

Ok, now most of this is based on building, but not addressing my problem
of why it runs so bloody slow.  I can get it built, but have to take some
interesting steps.  What can I do to track down why the same query takes
20 seconds under 1.1.2 but 0.96 seconds under UMich 3.3 (with the exact
same set of database files)?

Thanks for your help.

Don Badrak <dbadrak@census.gov>              301.457.1793 work
Telecommunications Office		     301.457.4438 fax
U.S. Bureau of the Census                    301.457.1828 fax
Suitland MD, USA