Hi
folks,
I am
trying to build OpenLDAP-Release 1.2.3 on HPUX 10.20, hardware platform
HP 9000/s800 G30 series
with all recommended OS patches including Y2K
kit installed.
I can successfully build and run OpenLDAP 1.2.3 on HPUX 11 by
applying the pthread_detach patch that I found on this mail archive to configure
.
But my
problem is we need to run 7 LDAP servers spread across 4 countries and our mail
backbone is built on HPUX 10.20. If necessary we will upgrade our servers to
HPUX 11 but this will delay the project and be logistically quite difficult as
some of the servers are located in "very" remote
locations.
I need
slurpd replication (with the multi-master patch) therefore threads
support, have tried both the native HP DCE threads draft4 and
PMPthreads 1.8.9
Using
native DCE threads draft4 the configure fails in similar ways to HPUX
11
checking for pthread_join in -lpthreads...
no
checking for pthread_create() in HP-UX -lpthread... yes checking for sched_yield... no checking for pthread_yield... no checking for sched_yield in -lrt... no checking for thr_yield... no configure: warning: could not locate sched_yield() or pthread_yield() checking for pthread_kill... no checking for pthread_detach with <pthread.h>... no configure: error: could not locate pthread_detach() # I have
tried my best to get past this step in configure but to no avail. Sure I can get
it past here but only to fail a few lines down with Solaris looking errors like
pthread.h and pthread_create are not compatible.
So
then I turned to PMPthreads 1.8.9 Using
PMPthreads I can get a clean compile but slapd hangs.
Running make test hangs on the second test at this
point:
>>>>> Test succeeded>>>>>
./scripts/test001-ldif2ldbm completed OK. >>>>> waiting 5 seconds
for things to exit >>>>> Starting test002-populate
...
Cleaning up in ./test-db...
Starting slapd on TCP/IP port 9009...
Using ldapsearch to check that slapd is
running...
And
there it stays. ps -ef
| grep slapd shows that slapd is spinning up the cpu cycles at a rate of 1:1 and
at the top of top
pts/4
21258 root 212 20 1312K 652K
run 12:38 89.91 89.75 slapd
Interestingly enough if I run each test manually killing (-9) the slapd
demon between each test then all tests complete successfully but in real life
slapd keeps hanging and spinning.
Some
background is required here, using PMP threads the configure was hanging at the
"checking if select yields using threads" point and I found removing
the V3 lib was the answer.
If the
V3 lib is included then the select yield test would hang, without the V3 lib the
test passes.
At the
time I thought removing the V3 lib would not have any detrimental effect on
OpenLDAP as I thought the sig handling had been moved from V3 to libc on HPUX.
In fact on HPUX 11 and Freebsd the V3 lib is linked to libempty, which I also
tried doing on 10.20.
Considering the problems I have with slapd hanging between the tests and
the fact that each test passes if I kill -9 the demon first, I now suspect I the
V3 lib is needed. But if this is the case how do I get past the "checking
if select yields" test in configure. I tried passing
--without-yielding-select, that got me past the check but the resultant slapd
was totally unusable, could not startup and bind to the
socket.
Since
this point I have tried using every combination I can think of being different
ldbm back ends, gcc, cc, different physical machines, different build
environments, different versions of OpenLDAP, but at the end of the day the I
can't find a working combination on our HPUX 10.20 machines
So my
question to those of you out there that have built OpenLDAP on HPUX 10.20 is how
did you do it?
What
threads package did you use, which compiler, which back-end, what environment,
which version of OpenLDAP, what tricks where involved other than those in the
FAQ, etc?
I
guess also, has anyone built OpenLDAP on HPUX 10.20 after applying theY2K
patches as I suspect that these patches may have introduced the
problem?
All
suggestions and recommendations welcome, please.
To be
honest at this point I have lost my direction, I am not sure what to try next,
some pointers in which build environment I should concentrate on would also be
appreciated.
Thanks
and regards
Matthew Byrne.,
|