Issue 6945 - nssov does not build on older Linux distributions (RHEL3, RHEL4)
Summary: nssov does not build on older Linux distributions (RHEL3, RHEL4)
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: 2.4.25
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-19 10:24 UTC by Buchan Milne
Modified: 2017-04-12 20:45 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Buchan Milne 2011-05-19 10:24:42 UTC
Full_Name: Buchan Milne
Version: 2.4.25
OS: Red Hat Enterprise Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (196.25.124.16)


I am aware that these are old, and almost (or already) EOL distributions, but
nssov does not build on RHEL3 and RHEL4. On RHEL3, I get:


+ make -C contrib/slapd-modules/nssov libdir=/usr/lib
moduledir=/usr/lib/openldap2.4
make: Entering directory
`/home/bgmilne/rpm/BUILD.rh3/openldap-2.4.25/contrib/slapd-modules/nssov'
../../../libtool --mode=compile gcc -g -O2  -I../../../include
-I../../../include -I../../../servers/slapd -Inss-pam-ldapd -c alias.c
mkdir .libs
 gcc -g -O2 -I../../../include -I../../../include -I../../../servers/slapd
-Inss-pam-ldapd -c alias.c  -fPIC -DPIC -o .libs/alias.o
In file included from ../../../include/ldap_pvt_thread.h:21,
                 from ../../../servers/slapd/slap.h:57,
                 from nssov.h:43,
                 from alias.c:23:
../../../include/ldap_int_thread.h:69: syntax error before
"ldap_int_thread_rdwr_t"
../../../include/ldap_int_thread.h:69: warning: data definition has no type or
storage class
In file included from ../../../servers/slapd/slap.h:57,
                 from nssov.h:43,
                 from alias.c:23:
../../../include/ldap_pvt_thread.h:36: syntax error before
"ldap_pvt_thread_rdwr_t"
../../../include/ldap_pvt_thread.h:36: warning: data definition has no type or
storage class
../../../include/ldap_pvt_thread.h:154: syntax error before '*' token
../../../include/ldap_pvt_thread.h:157: syntax error before '*' token
../../../include/ldap_pvt_thread.h:160: syntax error before '*' token
../../../include/ldap_pvt_thread.h:163: syntax error before '*' token
../../../include/ldap_pvt_thread.h:166: syntax error before '*' token
../../../include/ldap_pvt_thread.h:169: syntax error before '*' token
../../../include/ldap_pvt_thread.h:172: syntax error before '*' token
../../../include/ldap_pvt_thread.h:175: syntax error before '*' token
../../../include/ldap_pvt_thread.h:191: syntax error before '*' token
../../../include/ldap_pvt_thread.h:194: syntax error before '*' token
../../../include/ldap_pvt_thread.h:197: syntax error before '*' token
make: *** [alias.lo] Error 1
make: Leaving directory
`/home/bgmilne/rpm/BUILD.rh3/openldap-2.4.25/contrib/slapd-modules/nssov'

ldap_int_thread.h:69
#if defined( HAVE_PTHREAD_RWLOCK_DESTROY )
#define LDAP_THREAD_HAVE_RDWR 1
typedef pthread_rwlock_t ldap_int_thread_rdwr_t;
#endif

ldap_int_thread.h includes pthread.h, which includes bits/pthreadtypes.h which
defines pthread_rwlock_t ...

I can't see why this use fails, where the rest of OpenLDAP builds just fine
prior to this.

smbk5pwd is also affected.

I don't have time to investigate further now, but wanted to capture what info I
have now.
Comment 1 Hallvard Furuseth 2012-02-19 08:20:10 UTC
smbk5pwd is the strangest failure, since there are no #includes
preceding portable.h and slap.h to interfere.  My guess is RHEL[34] need
a compilation flag like -pthread to enable threading.  If you can still
test this, check against which options OpenLDAP uses when compiling an
overlay in slapd/overlays/.

If that's not it, run the gcc compile command but replace '-c (-o
foo.o)' with '-E -dD -o foo.i' This puts the preprocessor output plus
macro definitions in foo.i, which should ease comparing with the
/usr/include/ files and see why the pthread_rwlock_t def is excluded.

-- 
Hallvard

Comment 2 Hallvard Furuseth 2012-02-19 08:24:41 UTC
I wrote:

> If that's not it, run the gcc compile command but replace '-c (-o
> foo.o)' with '-E -dD -o foo.i' 

Hm... or '-E -dD > foo.i' which doesn't delete foo.i on failure.

-- 
Hallvard

Comment 3 OpenLDAP project 2017-04-12 20:45:25 UTC
deprecated OSes, won't fix.
Comment 4 Quanah Gibson-Mount 2017-04-12 20:45:25 UTC
changed notes
changed state Open to Closed
moved from Incoming to Software Bugs