Hi Michael, i was able to build freeradius (at least without any sql support) just yesterday from the latests cvs snapshot without any modifications. maybe you could try this or wait (one day or two?) until the next release (1.1.3). regards markus Zitat von Michael Check <michaelr.check@gmail.com>:
Hi all,
We've tried to compile fr v1.1.2 on os x.4.7 with no luck. We've followed the instructions at doc/MACOSX (using --disable_shared - the mod for the makefile for rlm_sql is already done in this version) but get the following errors during make (this is the tail of the make):
/usr/bin/ld: multiple definitions of symbol _CRYPTO_lock /usr/lib/libcrypto.dylib(cryptlib.o) definition of _CRYPTO_lock /usr/local/mysql/lib/libmysqlclient_r.a(libtaocrypt_la-misc.o) definition of _CRYPTO_lock in section (__TEXT,__text) collect2: ld returned 1 exit status rm -f .libs/radiusdS.o make[4]: *** [radiusd] Error 1 make[3]: *** [common] Error 2 make[2]: *** [all] Error 2 make[1]: *** [common] Error 2 make: *** [all] Error 2
And cannot proceed further.
---
If you try and compile _without_ --disable_shared, the we get through make with this at the end:
/usr/local/src/freeradius-1.1.2/libtool --mode=link gcc -o radwho radwho.lo util.lo log.lo conffile.lo -lresolv -lpthread ../lib/libradius.la gcc -o .libs/radwho radwho.o util.o log.o conffile.o -lresolv -lpthread -L../lib/.libs -lradius creating radwho Making all in raddb... make[2]: Nothing to be done for `all'. Making all in scripts... make[2]: Nothing to be done for `all'. Making all in doc... Making all in examples... /usr/bin/make -C examples all make[4]: Nothing to be done for `all'. Making all in rfc... /usr/bin/make -C rfc all make[4]: Nothing to be done for `all'.
The make install has these ominous warning while linking all the libraries for each rlm:
---------------------------------------------------------------------- Making install in rlm_realm... if [ "xrlm_realm" != "x" ]; then \ /usr/local/src/freeradius-1.1.2/libtool --mode=install /usr/local/src/freeradius-1.1.2/install-sh -c -c \ rlm_realm.la /usr/local/lib/rlm_realm.la || exit $?; \ rm -f /usr/local/lib/rlm_realm-1.1.2.la; \ ln -s rlm_realm.la /usr/local/lib/rlm_realm-1.1.2.la || exit $?; \ fi libtool: install: warning: relinking `rlm_realm.la' (cd /usr/local/src/freeradius-1.1.2/src/modules/rlm_realm; /bin/sh /usr/local/src/freeradius-1.1.2/libtool --mode=relink gcc -release 1.1.2 -module -export-dynamic -o rlm_realm.la -rpath /usr/local/lib rlm_realm.lo rlm_realm.c /usr/local/src/freeradius-1.1.2/src/lib/libradius.la -lresolv -lpthread) gcc -dynamiclib -flat_namespace -undefined suppress -o .libs/rlm_realm-1.1.2.so rlm_realm.lo /usr/local/lib/libradius.dylib -lresolv -lpthread -lc -install_name /usr/local/lib/rlm_realm-1.1.2.so /usr/local/src/freeradius-1.1.2/install-sh -c -c .libs/rlm_realm-1.1.2.soT /usr/local/lib/rlm_realm-1.1.2.so (cd /usr/local/lib && rm -f rlm_realm.so && ln -s rlm_realm-1.1.2.so rlm_realm.so) /usr/local/src/freeradius-1.1.2/install-sh -c -c .libs/rlm_realm.lai /usr/local/lib/rlm_realm.la /usr/local/src/freeradius-1.1.2/install-sh -c -c .libs/rlm_realm.a /usr/local/lib/rlm_realm.a ranlib /usr/local/lib/rlm_realm.a chmod 644 /usr/local/lib/rlm_realm.a ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/lib
If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `DYLD_LIBRARY_PATH' environment variable during execution
See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ----------------------------------------------------------------------
AND FOR PERL:
Making install in rlm_perl... /usr/local/src/freeradius-1.1.2/install-sh -c -m 755 example.pl /usr/local/etc/raddb if [ "xrlm_perl" != "x" ]; then \ /usr/local/src/freeradius-1.1.2/libtool --mode=install /usr/local/src/freeradius-1.1.2/install-sh -c -c \ rlm_perl.la /usr/local/lib/rlm_perl.la || exit $?; \ rm -f /usr/local/lib/rlm_perl-1.1.2.la; \ ln -s rlm_perl.la /usr/local/lib/rlm_perl-1.1.2.la || exit $?; \ fi libtool: install: warning: relinking `rlm_perl.la' (cd /usr/local/src/freeradius-1.1.2/src/modules/rlm_perl; /bin/sh /usr/local/src/freeradius-1.1.2/libtool --mode=relink gcc -release 1.1.2 -module -export-dynamic -o rlm_perl.la -rpath /usr/local/lib rlm_perl.lo rlm_perl.c /usr/local/src/freeradius-1.1.2/src/lib/libradius.la -L/usr/local/lib
/System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a
-L/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE -lperl -ldl -lm -lc -lresolv -lpthread)
*** Warning: This library needs some functionality provided by
/System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a.
*** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. gcc -dynamiclib -flat_namespace -undefined suppress -o .libs/rlm_perl-1.1.2.so rlm_perl.lo /usr/local/lib/libradius.dylib -L/usr/local/lib -L/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE -lperl -ldl -lm -lc -lresolv -lpthread -lc -install_name /usr/local/lib/rlm_perl-1.1.2.so /usr/local/src/freeradius-1.1.2/install-sh -c -c .libs/rlm_perl-1.1.2.soT /usr/local/lib/rlm_perl-1.1.2.so (cd /usr/local/lib && rm -f rlm_perl.so && ln -s rlm_perl-1.1.2.so rlm_perl.so) /usr/local/src/freeradius-1.1.2/install-sh -c -c .libs/rlm_perl.lai /usr/local/lib/rlm_perl.la /usr/local/src/freeradius-1.1.2/install-sh -c -c .libs/rlm_perl.a /usr/local/lib/rlm_perl.a ranlib /usr/local/lib/rlm_perl.a chmod 644 /usr/local/lib/rlm_perl.a
AND RUNNING sudo radiusd -X, the following error results:
read_config_files: reading dictionary read_config_files: reading naslist Using deprecated naslist file. Support for this will go away soon. read_config_files: reading clients read_config_files: reading realms radiusd: entering modules setup Module: Library search path is /usr/local/lib radiusd.conf[1565] Failed to link to module 'rlm_exec': dlopen(/usr/local/lib/rlm_exec-1.1.2.so, 9): Symbol not found: _debug_flag Referenced from: /usr/local/lib/rlm_exec-1.1.2.so Expected in: flat namespace
AND QUITS IMMEDIATELY
---
We tried googling around and we're happy to hear that freeradius will be a part of 10.5, but we'd like to get it running now... There really is no other docs we've found on getting it compiled (after difficulty like the above) and installed. Certainly nothing recent anyway. Is it true that it _should_ just work? :)
Thanks in advance for any assistance,
Michael Check - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- Markus Krause email: krause@biochem.mpg.de Mogli-Soft: Support for Mac OS X, Webmail/Horde, LDAP, RADIUS by order of the Computing Center of the Max-Planck-Institute of Biochemistry Tel.: 089 - 89 40 85 99 Fax.: 089 - 89 40 85 98 --------------------------------------------------------------------- This message was sent using https://webmail.biochem.mpg.de If you encounter any problems please report to rz-linux@biochem.mpg.de