Linkerproblem mit Source von web500gw (Browser2LDAP Gateway)

Jan-Benedict Glaw jbglaw at lug-owl.de
Thu Jul 22 19:53:02 CEST 1999


On Thu, Jul 22, 1999 at 07:43:04PM +0200, Frank Matthieß wrote:
> Ich versuche eine Source zu kompilieren. Beim Linken der Module findet er die 
> Lib's nicht.
> 
> [ruth at server web500gw-2.1b3]# make
> gcc   -o web500gw web500gw.o read.o search.o bind.o modify.o add.o delete.o 
> modrdn.o navigation.o util.o web_util.o dir_util.o ldap2html.o messages.o 
> init.o config.o detach.o setproctitle.o gwversion.o  -llibldap -lliblber
> /usr/bin/ld: cannot open -llibldap: Datei oder Verzeichnis nicht gefunden
> collect2: ld returned 1 exit status
> make: *** [web500gw] Error 1
> 
> Mit ls habe ich die Existenz überprüft:
> [ruth at server web500gw-2.1b3]#ls /usr/lib/libl*
> /usr/lib/liblber.a         /usr/lib/liblber.so.1     
> /usr/lib/libldap.a         
> /usr/lib/libldap.so.1      /usr/lib/liblber.so       
> /usr/lib/liblber.so.1.0.0
> /usr/lib/libldap.so        /usr/lib/libldap.so.1.0.0
> 
> Aus dem Makefile:
> ---schipp---
> ########################################################
> #    What LDAP package you have installed ... and where?
> ########################################################
> #
> ## If you use OpenLDAP 1.0 or U-Mich LDAP 3.3 package (recommended)
> # If the LDAP include files and libraries installed in standard places
> # (/usr/lib, /usr/include) use this:
> LDAPINCL =
> LDAPLIBS = -llibldap -lliblber
> # set LDAPVERSION (32 for ldap-3.2, 33 for 3.3 etc)
> LDAPVERSION = 33
> VERSION = 3.3
> ---schnapp---
> 
> Die Zeile mit LDAPLIBS = -lldap -llber
> habe ich auf LDAPLIBS = -llibldap -lliblber
> verändert, da ich die 'alten' nicht habe. 
> Was hat er nun ? Die Lib's liegen im Standarddir, aber der Linker findet sie
> nicht? 
> Is mir zu hoch.

Also:
------------- man ld --------------
       -Lsearchdir
              This command adds path searchdir  to  the  list  of
              paths  that  ld  will search for archive libraries.
              You may use this option any number of times.
------------- /man ld --------------
(ach ja, der Parameter "-L" gilt auch für den gcc)

und 
---------- man ld -------------
       -lar     Add  an  archive  file ar to the list of files to
              link.  This option may be used any number of times.
              ld  will  search  its  path-list for occurrences of
              libar.a for every ar specified.

---------- /man ld -------------

...damit läßt Du also nach der lib "liblibldap.irgendwas" suchen. Die
gibt's wirklich nicht... ...und wenn Du mal auf die Zeile guckst, mit
der der gcc aufgerufen wird, dann ist da kein "-L"... Versuch's mal damit,
den irgendwo zu definieren, ist egal wo, hauptsache, er steht dann da;)

MfG, JBG

-- 
Hi! I'm a .signature virus! cp me into your .signature file to help me spread!



More information about the Linux mailing list