Anyone running UM LDAP 3.3 on Digital Unix?

John Mann (John.Mann@cc.monash.edu.au)
Mon, 27 May 1996 18:53:22 +1000

Hi,

Is anyone running UM LDAP 3.3 on Digital Unix?

I have some problems doing it, which culminate in the various slapd
tools not running. This is unfortunate, since a disk-based database is
the reason I want to try LDAP 3.3.

1) Minor glitch

On my system,
.make-platform
gets linked to
./build/platforms/osf1-gcc/Make-platform
which wasn't supplied.

So I made one up
------
...
CC= gcc
PLATFORMCFLAGS= -Dosf1
PLATFORMLDFLAGS=

THREADS= -DTHREAD_DCE_PTHREADS
THREADSLIB= -lpthreads

# the BSD-like install under OSF/1 is called installbsd
INSTALL=installbsd
------

2) Compile warnings

A representative sample is:
----------
...
cd libavl; make -w all
make[2]: Entering directory `/net/local/src/ldap-3.3/libraries/libavl'
gcc -I../../include -Dosf1 -DLDAP_DEBUG -DLDAP_REFERRALS -DLDAP_LDBM
-DLDAP_SHELL -DLDAP_PASSWD -DLDBM_USE_DBBTREE -I/usr/local/include -c avl.c
-o avl.o
avl.c: In function `ravl_insert':
avl.c:62: warning: cast to pointer from integer of different size
avl.c: In function `avl_buildlist':
avl.c:710: warning: cast to pointer from integer of different size
avl.c:716: warning: cast to pointer from integer of different size
...

cd libldap; make -w all
...
gcc -I../../include -Dosf1 -DLDAP_DEBUG -DLDAP_REFERRALS -DLDAP_LDBM
-DLDAP_SHELL -DLDAP_PASSWD -DLDBM_USE_DBBTREE -I/usr/local/include -DFILTERFIL
E="L/net/local/etc/ldapfilter.conf_U -DTEMPLATEFILE="//net/local/etc/ldaptemp
lates.confoc -c result.c -o result.o
result.c: In function `read1msg':
result.c:452: warning: comparison is always 0 due to limited range of data type
result.c:473: warning: cast to pointer from integer of different size
result.c: In function `build_result_ber':
result.c:564: warning: comparison is always 0 due to limited range of data type
...

cd libldbm; make -w all
make[2]: Entering directory `/net/local/src/ldap-3.3/libraries/libldbm'
gcc -I../../include -Dosf1 -DLDAP_DEBUG -DLDAP_REFERRALS -DLDAP_LDBM
-DLDAP_SHELL -DLDAP_PASSWD -DLDBM_USE_DBBTREE -I/usr/local/include -c ldbm.
c -o ldbm.o
ldbm.c: In function `ldbm_datum_dup':
ldbm.c:177: warning: cast to pointer from integer of different size
ldbm.c:178: warning: type mismatch in implicit declaration for built-in function
`memcpy'
...

cd fax500; make -w all
...
gcc -o rp500 faxtotpc.o rp500.o rpversion.o
-L../../libraries -lldap -llber
/usr/ucb/ld:
Warning: Linking some objects which contain exception information sections
and some which do not. This may cause fatal runtime exception handling
problems (last obj encountered without exceptions was rpversion.o).
...

make[3]: Entering directory `/net/local/src/ldap-3.3/servers/slapd/tools'
uncomment the HAVEISODE=yes line in the Make-common file to build edb2ldif
gcc -I. -I../../../include -Dosf1 -DLDAP_DEBUG -DLDAP_REFERRALS -DLD
AP_LDBM -DLDAP_SHELL -DLDAP_PASSWD -DLDBM_USE_DBBTREE -I/usr/local/include
-DTHREAD_DCE_PTHREADS -c ldif2index.c -o ldif2index.o
gcc -o ldif2index ldif2index.o ../config.o ../ch_malloc.o ../backend.o ../char
ray.o ../aclparse.o ../schema.o ../result.o ../filterentry.o ../acl.o ../phoneti
c.o ../attr.o ../value.o ../entry.o ../dn.o ../filter.o ../str2filter.o ../ava.o
../init.o ../schemaparse.o ../regex.o ../strdup.o
../libbackends.a -L../../../libraries -lldif -lldbm -lavl -ldb -llber
-llthread -lpthreads
/usr/ucb/ld:
Warning: Linking some objects which contain exception information sections
and some which do not. This may cause fatal runtime exception handling
problems (last obj encountered without exceptions was ../strdup.o).
...

------

3) Core dumps

I tried running the tests but the programs wouldn't run.
------
/net/local/src/ldap-3.3/tests 307> make
Initiating LDAP tests...
>>>>> Executing all LDAP tests...
>>>>> Starting ./scripts/test001-ldif2ldbm ...
Cleaning up in ./test-db...
Running ldif2ldbm to build slapd database...
./scripts/test001-ldif2ldbm: 13222 Memory fault - core dumped
ldif2ldbm failed!
>>>>> ./scripts/test001-ldif2ldbm failed (exit 139)
make: *** [all] Error 139
------

In fact, many of the ldap-3.3/servers/slapd/tools programs don't even
get as far as printing their "usage" message!
Note that these programs also got "ld" Warning: as above.
------
/net/local/src/ldap-3.3/servers/slapd/tools 291> ls
./ core ldbmtest.o ldif2id2entry.o
../ edb2ldif.c ldif* ldif2index*
Make-template ldapsyntax.c ldif.c ldif2index.c
Makefile ldapsyntax.h ldif.o ldif2index.o
Vers-edb2.c ldbmcat* ldif2id2children* ldif2ldbm*
centipede* ldbmcat.c ldif2id2children.c ldif2ldbm.c
centipede.c ldbmcat.o ldif2id2children.o ldif2ldbm.sed.c
centipede.o ldbmtest* ldif2id2entry* ldif2ldbm.sed.o
chlog2replog.c ldbmtest.c ldif2id2entry.c sizecount.c
/net/local/src/ldap-3.3/servers/slapd/tools 292> ./centipede
usage: ./centipede [options] -s url -d url attributes
where:
-s url [[ldap://][host[:port]]/]searchbasedn
-d url [[ldap://][host[:port]]/]centroidentrydn
options:
-v turn on verbose mode
-n generate, but do not install index info
-f filter entry selection filter
-F generate a full centroid
-R generate a relative centroid
-w generate a word-based centroid
-t directory centroid directory
-b binddn source bind dn
-p passwd source bind passwd (for simple auth)
-m authmethod source authmethod "simple" or "kerberos"
-B binddn destination bind dn
-P passwd destination bind passwd (for simple auth)
-M authmethod destination authmethod "simple" or "kerberos"
-c size ldbm cache size
/net/local/src/ldap-3.3/servers/slapd/tools 293> ./ldbmcat
usage: ./ldbmcat [-n] <filename>
/net/local/src/ldap-3.3/servers/slapd/tools 294> ./ldbmtest
Segmentation fault (core dumped)
/net/local/src/ldap-3.3/servers/slapd/tools 295> ./ldif
Segmentation fault (core dumped)
/net/local/src/ldap-3.3/servers/slapd/tools 296> ./ldif2id2children
Segmentation fault (core dumped)
/net/local/src/ldap-3.3/servers/slapd/tools 297> ./ldif2id2entry
Segmentation fault (core dumped)
/net/local/src/ldap-3.3/servers/slapd/tools 298> ./ldif2index
Segmentation fault (core dumped)
/net/local/src/ldap-3.3/servers/slapd/tools 299> ./ldif2ldbm
Segmentation fault (core dumped)
------

A more detailed case, after rebuilding everything with "-g".
-----
/net/local/src/ldap-3.3/servers/slapd/tools 377> ./ldif2ldbm
Segmentation fault (core dumped)
/net/local/src/ldap-3.3/servers/slapd/tools 378> gdb ldif2ldbm core
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.14 (alpha-dec-osf3.0), Copyright 1995 Free Software Foundation, Inc...
Core was generated by `ldif2ldbm'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/shlib/libpthreads.so...done.
Reading symbols from /usr/shlib/libc.so...done.
Reading symbols from /usr/shlib/libmach.so...done.
Reading symbols from /usr/shlib/libc_r.so...done.
#0 0x3ff80528f5c in port_allocate ()
(gdb) where
#0 0x3ff80528f5c in port_allocate ()
#1 0x3ff80524a38 in mig_get_reply_port ()
#2 0x3ff80528f94 in port_allocate ()
#3 0x3ff80524a38 in mig_get_reply_port ()
#4 0x3ff80528f94 in port_allocate ()
#5 0x3ff80524a38 in mig_get_reply_port ()
#6 0x3ff80528f94 in port_allocate ()
...
...
-----

Any suggestions?

Thanks,
John

--
John Mann
Postmaster, Hostmaster, Webmaster, DSA manager, MBONE, ...
Network Services Activity           Net: John.Mann@cc.monash.edu.au
Computer Centre, Monash University  Tel: +61 3 990 54774
Clayton, Victoria 3168, Australia   Fax: +61 3 990 54746