Błąd przy kompilacji FreeRADIUS 2.2.0 na Solarisie 10

Podczas kompilacji serwera FreeRADIUS w wersji 2.2.0 na systemie Solaris 10 SPARC przy użyciu kompilatorów z SunStudio natknąłem się na błąd braku definicji symbolu lt_preloaded_symbols w modules.o. Powoduje to oczywiście przerwanie kompilacji i podobnym do poniższego komunikatem błędu:

libtool: link: rm -f .libs/radiusd.nm .libs/radiusd.nmS .libs/radiusd.nmT
libtool: link: (cd .libs && cc -fast -c "radiusdS.c")
libtool: link: rm -f ".libs/radiusdS.c" ".libs/radiusd.nm" ".libs/radiusd.nmS" ".libs/radiusd.nmT"
libtool: link: cc .libs/radiusdS.o -o .libs/radiusd .libs/acct.o .libs/auth.o .libs/client.o .libs/conffile.o .libs/crypt.o .libs/exec.o .libs/files.o .libs/listen.o .libs/log.o .libs/mainconfig.o .libs/modules.o .libs/modcall.o .libs/radiusd.o .libs/stats.o .libs/soh.o .libs/session.o .libs/threads.o .libs/util.o .libs/valuepair.o .libs/version.o .libs/xlat.o .libs/event.o .libs/realms.o .libs/evaluate.o .libs/vmps.o .libs/detail.o  -L/usr/local/ssl/lib -L/usr/local/openldap/lib -L/usr/local/lib /home/soft/freeradius/freeradius-server-2.2.0/src/lib/.libs/libfreeradius-radius.so -lnsl -lresolv -lsocket -lposix4 -lpthread -lcrypt /home/soft/freeradius/freeradius-server-2.2.0/libltdl/.libs/libltdl.so -lmtsk -ldl -lssl -lcrypto  -R/usr/local/freeradius-server-2.2.0/lib -R/usr/local/ssl/lib -R/usr/local/openldap/lib -R/usr/local/lib
Undefined			first referenced
 symbol  			    in file
lt_preloaded_symbols                .libs/modules.o
ld: fatal: Symbol referencing errors. No output written to .libs/radiusd
gmake[4]: *** [radiusd] Error 1
gmake[4]: Leaving directory `/home/soft/freeradius/freeradius-server-2.2.0/src/main'
gmake[3]: *** [main] Error 2
gmake[3]: Leaving directory `/home/soft/freeradius/freeradius-server-2.2.0/src'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/home/soft/freeradius/freeradius-server-2.2.0/src'
gmake[1]: *** [src] Error 2
gmake[1]: Leaving directory `/home/soft/freeradius/freeradius-server-2.2.0'
gmake: *** [all] Error 2

Rozwiązania, które znalazłem w sieci nie pasowały do mojego przypadku, ale wskazały mi bibliotekę, która może być przyczyną problemu. Postanowiłem więc dołączyć inną wersję tej biblioteki, która nie była zawarta w źródłach serwera FreeRADIUS, lecz skompilowana w systemie w /usr/local/lib. W tym celu do opcji konfiguracyjnych dopisałem parametr:

--with-system-ltdl

Może Ci się również spodoba

Dodaj komentarz