# Failed to link to module rlm_ldap



## suggestme (Nov 9, 2011)

Hi,

I am concerned if this error is related to any missing package that I need to install in FreeBSD. 

I am trying to set up freeradius authentication with LDAP. FreeRadius is installed in FreeBSD on one machine and LDAP is in another machine. Everytime I run FreeRadius on debug mode it gives me following error. If I don't use LDAP, FreeRadius debug runs smoothly without any error. 


```
/usr/local/etc/raddb/modules/ldap[29]: Failed to link to module 'rlm_ldap': file not found
/usr/local/etc/raddb/sites-enabled/inner-tunnel[237]: Failed to load module "ldap".
/usr/local/etc/raddb/sites-enabled/inner-tunnel[237]: Failed to parse "ldap" entry.
```

I don't know what is this error about. How can I check the package which contains rlm_ldap is already installed or not? How to find whether LDAP package(ANY VERSION if needed) is already installed or not? I tried to install Openldap from net/openldap24-server thinking that might be the error but it gave me error like below:


```
openldap-sasl-server-2.4.23 cannot install: SASL support requested and openldap-client-2.4.23 is installed.
*** Error code 1
```

Hopefully, I get quick suggestion for this error.


Thanks,


----------



## SirDice (Nov 9, 2011)

Rebuild freeradius with LDAP support turned on. It's off by default. Packages are built with the default options.


----------



## suggestme (Nov 9, 2011)

SirDice,

I checked configurations that is under freeradius which is done when installation was done going inside the file /usr/ports/net/freeradius2 using the command 


```
# make showconfig
```

It shows following:


```
===> The following configuration options are available for freeradius-2.1.10_2:
     USER=on "Run as user freeradius, group freeradius"
     KERBEROS=on "With Kerberos support"
     HEIMDAL=off "With Heimdal Kerberos support"
     LDAP=on "With LDAP database support"
     MYSQL=on "With MySQL database support"
     PGSQL=on "With PostgreSQL database support"
     UNIXODBC=on "With unixODBC database support"
     FIREBIRD=on "With Firebird database support (EXPERIMENTAL)"
     PERL=on "With Perl support"
     PYTHON=on "With Python support"
     OCI8=on "With Oracle support (currently experimental)"
     RUBY=on "With Ruby support (EXPERIMENTAL)"
     DHCP=on "With DHCP support (EXPERIMENTAL)"
     EXPERIMENTAL=on "Build experimental modules"
     UDPFROMTO=on "Compile in UDPFROMTO support"

===> Use 'make config' to modify these settings
```


Doesn't that mean LDAP support was turned on during installation?

Also, Is there any way to make rlm_ldap work by installing any package of LDAP? How to check LDAP version that is installed already. I don't know what to do.......


Thanks,


----------



## SirDice (Nov 9, 2011)

suggestme said:
			
		

> Doesn't that mean LDAP support was turned on during installation?


It does but it wasn't clear from your first post. 



> Also, Is there any way to make rlm_ldap work by installing any package of LDAP?


I've no idea what port installs it, I assumed it was part of FreeRadius.


----------



## DutchDaemon (Nov 9, 2011)

It is:


```
/usr/ports/net] $ find . -type f -name pkg-plist | xargs grep rlm_ldap                                                                       
./freeradius/pkg-plist:%%LDAP%%lib/rlm_ldap-%%PORTVERSION%%.la
./freeradius/pkg-plist:%%LDAP%%lib/rlm_ldap-%%PORTVERSION%%.so
./freeradius/pkg-plist:%%LDAP%%lib/rlm_ldap.a
./freeradius/pkg-plist:%%LDAP%%lib/rlm_ldap.la
./freeradius/pkg-plist:%%LDAP%%lib/rlm_ldap.so
./freeradius/pkg-plist:%%PORTDOCS%%%%DOCSDIR%%/rlm_ldap
./freeradius2/pkg-plist:%%LDAP%%%%LIBDIR%%/rlm_ldap-%%PORTVERSION%%.la
./freeradius2/pkg-plist:%%LDAP%%%%LIBDIR%%/rlm_ldap-%%PORTVERSION%%.so
./freeradius2/pkg-plist:%%LDAP%%%%LIBDIR%%/rlm_ldap.a
./freeradius2/pkg-plist:%%LDAP%%%%LIBDIR%%/rlm_ldap.la
./freeradius2/pkg-plist:%%LDAP%%%%LIBDIR%%/rlm_ldap.so
./freeradius2/pkg-plist:%%PORTDOCS%%%%DOCSDIR%%/rlm_ldap
```


----------



## suggestme (Nov 21, 2011)

Hi,


Thanks DutchDaemon for the above suggestion.

To address the above problem I installed Openldap & OpenSSL successfully by struggling to fetch and build the broken patches and tried to figure out if I can get the library rlm_ldap. But still this problem is occurring. Is there any way to compile any package of FreeBSD to get particular missing library? Searching through the sites I see 
	
	



```
./configure
```
can install particular missing library of any package while compiling. But for me when I do 
	
	



```
./configure
```
it shows "command not found". Since I have already installed and configured Samba, Kerberos, ntlm_auth for authentication against active directory I don't want to deinstall any package completely and get the library after reinstallation. I just want that rlm_ldap library from any package, and I don't know how to get just that single library missing and install. 
Again, I am just the beginner with FreeBSD and just lost inside it and trying to figure out and solve the problem step by step.


Any idea would be greately appreciated.

Thanks,


----------



## rouge16 (Dec 1, 2011)

Try to install the 'freeradius-ldap' package.

It worked for me.


----------



## suggestme (Dec 2, 2011)

rouge16,

Thank you so much for the suggestion. I updated the port-tree and reinstalled FreeRadius and other package accordingly. Now rlm_ldap is there inside FreeRadius library. It solved this problem. It took long time to fix this issue. I had to deinstall and reinstall everything from scratch.


----------

