LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   openldap make error 1 (https://www.linuxquestions.org/questions/linux-software-2/openldap-make-error-1-a-648497/)

ikinnu 06-11-2008 01:58 AM

openldap make error 1
 
Hi all,

I am trying to compile openldap on my system and the following error results. Can someone help please.

[root@localhost openldap-2.3.42]# make
Making all in /root/openldap-2.3.42
Entering subdirectory include
make[1]: Entering directory `/root/openldap-2.3.42/include'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/openldap-2.3.42/include'

Entering subdirectory libraries
make[1]: Entering directory `/root/openldap-2.3.42/libraries'
Making all in /root/openldap-2.3.42/libraries
Entering subdirectory liblutil
make[2]: Entering directory `/root/openldap-2.3.42/libraries/liblutil'
rm -f version.c
../../build/mkversion -v "2.3.42" liblutil.a > version.c
gcc -g -O2 -I../../include -I../../include -I/usr/local/BerkeleyDB.4.5/include -c -o utils.o utils.c
gcc -g -O2 -I../../include -I../../include -I/usr/local/BerkeleyDB.4.5/include -c -o fetch.o fetch.c
fetch.c: In function âldif_open_urlâ:
fetch.c:52: warning: assignment discards qualifiers from pointer target type
gcc -g -O2 -I../../include -I../../include -I/usr/local/BerkeleyDB.4.5/include -c -o getpeereid.o getpeereid.c
getpeereid.c: In function âgetpeereidâ:
getpeereid.c:52: error: storage size of âpeercredâ isnât known
make[2]: *** [getpeereid.o] Error 1
make[2]: Leaving directory `/root/openldap-2.3.42/libraries/liblutil'
make[1]: *** [all-common] Error 1
make[1]: Leaving directory `/root/openldap-2.3.42/libraries'
make: *** [all-common] Error 1
[root@localhost openldap-2.3.42]#

bathory 06-11-2008 02:16 AM

Did you run
Code:

make depend
before running "make"?

ikinnu 06-11-2008 03:01 AM

yes i have run make depend before make

ikinnu 06-11-2008 03:03 AM

1 more thing is, i see openldap installed already on my fedora core 9 installation but i do not see slapd. Is my opendldap software installed properly? or do i need to install it agian?

bathory 06-11-2008 03:21 AM

About the error you get:
I think you've hit this bug. Use the patch proposed to see if it works. Or you can use openldap 2.4.10 to see if it works.
About Fedora's openldap:
I don't use Fedora, but I think you mean the Directory Server that comes with Fedora and RH.

Regards

ikinnu 06-11-2008 05:04 AM

this patch, how should i apply? Please guide.
yes about the fedora, it came with that particular package which doesn't contain slapd.
Thanks a lot for your quick reply :)

bathory 06-11-2008 05:27 AM

Create a file e.g. opeldap.patch into /root/openldap-2.3.42 (I guess you've extracted the openldap.tgz there) containing:
Quote:

--- openldap-2.3.42.orig/libraries/liblutil/getpeereid.c
+++ openldap-2.3.42/libraries/liblutil/getpeereid.c
@@ -14,6 +14,8 @@
* <http://www.OpenLDAP.org/license.html>.
*/

+#define _GNU_SOURCE
+
#include "portable.h"

#ifndef HAVE_GETPEEREID
Then run:
Code:

patch -Np1 -i opeldap.patch
Run "make distclean" and start from the beginning with ./configure etc.

ikinnu 06-11-2008 08:20 AM

While applying patch, i got this error

[root@localhost openldap-2.3.39]# patch -Np1 -i openldap.patch
patching file libraries/liblutil/getpeereid.c
patch: **** malformed patch at line 4: * <http://www.OpenLDAP.org/license.html>.

[root@localhost openldap-2.3.39]#

bathory 06-11-2008 08:36 AM

My fault. The QUOTE tag does not keep the spaces. There are 2 spaces in the beginning of lines 4,5 (those staring with the *)
See if this is better
Code:

--- openldap-2.4.8.orig/libraries/liblutil/getpeereid.c
+++ openldap-2.4.8/libraries/liblutil/getpeereid.c
@@ -14,6 +14,8 @@
  * <http://www.OpenLDAP.org/license.html>.
  */
 
+#define _GNU_SOURCE
+
 #include "portable.h"
 
 #ifndef HAVE_GETPEEREID

What version are you trying to install btw. Because in you first post the prompt is "root@localhost openldap-2.3.42" and now it is "root@localhost openldap-2.3.39". Why don't you try to install the 2.4.10?

ikinnu 06-12-2008 01:22 AM

sorry for the confusion in the version. First in installed the 2.4 version but i found the latest stable version is 2.3.39 so i guessed that could be the problem and installed the old one. Is it okay if i try 2.3.42?

bathory 06-12-2008 01:38 AM

I think using the latest release is better, since it resolves various problems (either bugs or security issues). You can read here the changes of 2.4.x branch.
Anyway, did you managed to patch getpeereid.c and build the sources?

ikinnu 06-12-2008 02:30 AM

THANKS A TON!!!!

Its working now . Now, can you tell me what this code is? I mean what does that --- and +++ mean? i can make out something like add the lines beginning with +?

Again, Thank you very much...

ikinnu 06-12-2008 02:32 AM

yes i've installed the latest version again openldap-2.4.10. And i patched it also with the given patch.

bathory 06-12-2008 02:56 AM

Quote:

THANKS A TON!!!!

Its working now . Now, can you tell me what this code is? I mean what does that --- and +++ mean? i can make out something like add the lines beginning with +?
Glad to see you've made it.
Now about the code in the patch file: --- means the original file and +++ the patched file. The numbers between the @@ are the line numbers to change and + mean add what follows (a "-" mean remove).
You could add just the line "#define _GNU_SOURCE" followed by a blank line to get the same result.
Btw what is your distro, that has this problem?

ikinnu 06-12-2008 03:59 AM

The distro is Fedora core 9.


All times are GMT -5. The time now is 04:30 AM.