Problem compiling Freeradius 3.0 Master branch after 2012-06-29
Hello, I had been able to successfully compile Freeradius 3.0 Master branch from github up until 2012-07-04 with the following options, on Mac OS X 10.7. The last commit in the source code at that time was from 2012-06-29. ./configure \ --prefix=/usr/local/freeradius \ --mandir=/usr/local/share/man \ --libdir=/usr/local/lib/freeradius \ --includedir=/usr/local/include \ --without-rlm_perl \ --without-rlm_sql_mysql \ --with-rlm_pam \ --with-rlm_ldap \ --with-openldap-include-dir=/usr/include \ --without-rlm_counter \ --without-rlm_dbm \ --without-rlm_ippool \ --without-rlm_krb5 \ --without-rlm_otp \ --without-rlm_python \ --without-rlm_sql \ --without-rlm_unixodbc \ --without-rlm_sql_iodbc \ --without-rlm_sql_postgresql \ --without-rlm_sql_oracle \ --without-rlm_sqlcounter \ --without-rlm_sqlippool \ --without-rlm_eap_tnc \ --without-rlm_eap_ikev2 \ --with-udpfromto \ --disable-static \ --enable-shared \ --enable-strict-dependencies \ --enable-developer \ --enable-ltdl-install=yes \ The next time I attempted a build, on 2012-07-13, I ran into two issues: 1) ./configure keeps complaining of: configure: WARNING: unrecognized options: --without-rlm_perl, --without-rlm_sql_mysql, --with-rlm_pam, --with-rlm_ldap, --with-openldap-include-dir, --without-rlm_counter, --without-rlm_dbm, --without-rlm_ippool, --without-rlm_krb5, --without-rlm_otp, --without-rlm_python, --without-rlm_sql, --without-rlm_unixodbc, --without-rlm_sql_iodbc, --without-rlm_sql_postgresql, --without-rlm_sql_oracle, --without-rlm_sqlcounter, --without-rlm_sqlippool, --without-rlm_eap_tnc, --without-rlm_eap_ikev2, --enable-shared, --disable-static, --enable-ltdl-install 2) "make" eventually errors out: ... Making all in src/modules/rlm_sometimes... Making all in src/main... /Users/raymont/freeradius-server/libtool --quiet --mode=link gcc -export-dynamic -dlopen self \ -o radiusd acct.lo auth.lo client.lo conffile.lo crypt.lo exec.lo files.lo listen.lo log.lo mainconfig.lo modules.lo modcall.lo radiusd.lo stats.lo soh.lo connection.lo session.lo threads.lo util.lo valuepair.lo version.lo xlat.lo process.lo realms.lo evaluate.lo vmps.lo detail.lo cb.lo tls.lo tls_listen.lo \ /Users/raymont/freeradius-server/src/lib/libfreeradius-radius.la -framework DirectoryService -lresolv -lpthread \ /Users/raymont/freeradius-server/libltdl/libltdl.la -lcrypto -lssl -lcrypto Undefined symbols for architecture x86_64: "_SSL_CTX_set_psk_client_callback", referenced from: _init_tls_ctx in tls.o "_SSL_CTX_set_psk_server_callback", referenced from: _init_tls_ctx in tls.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[4]: *** [radiusd] Error 1 make[3]: *** [main] Error 2 make[2]: *** [all] Error 2 make[1]: *** [src] Error 2 make: *** [all] Error 2 With the 3.0 src today (2012-07-17), the first issue from 07-13 seems to be gone, but the second one still persists. Suspecting it might be related to the OS X 10.7 system-bundled openssl in /usr/ being decrepated by Apple (see http://ludovicrousseau.blogspot.com/2011/08/mac-os-x-lion-and-openssl.html), I tried specifying the following ./configure options to no avail (same outcome): --with-openssl-includes=/usr/local/include/openssl \ --with-openssl-libraries=/usr/local/ssl/lib \ I've also tried using various combinations of the following ./configure options instead, which caused "make" to fail with other errors (I could start separate threads about those later). --disable-ltdl-install \ --enable-ltdl-install=no \ --with-system-libtool \ --with-system-libltdl \ Looking at the commits between 6/29 and 7/13, I don't really see anything obvious (to me) that'd point to any change in how libltdl behaves. Between those two dates, I've updated GNU automake to 1.11.6 and my openssl (in /usr/local) from 0.9.8r to 1.0.1c. Any pointer on how to get the latest FR 3.0 Master branch to compile on my box would be much appreciated. Best Regards, Y.J. Zhang
YJZ wrote:
1) ./configure keeps complaining of: configure: WARNING: unrecognized options: --without-rlm_perl, --without-rlm_sql_mysql, --with-rlm_pam, --with-rlm_ldap, --with-openldap-include-dir, --without-rlm_counter, --without-rlm_dbm, --without-rlm_ippool, --without-rlm_krb5, --without-rlm_otp, --without-rlm_python, --without-rlm_sql, --without-rlm_unixodbc, --without-rlm_sql_iodbc, --without-rlm_sql_postgresql, --without-rlm_sql_oracle, --without-rlm_sqlcounter, --without-rlm_sqlippool, --without-rlm_eap_tnc, --without-rlm_eap_ikev2, --enable-shared, --disable-static, --enable-ltdl-install
I have no idea what causes that. It can be ignored, though.
2) "make" eventually errors out: ... Making all in src/modules/rlm_sometimes... Making all in src/main... /Users/raymont/freeradius-server/libtool --quiet --mode=link gcc -export-dynamic -dlopen self \ -o radiusd acct.lo auth.lo client.lo conffile.lo crypt.lo exec.lo files.lo listen.lo log.lo mainconfig.lo modules.lo modcall.lo radiusd.lo stats.lo soh.lo connection.lo session.lo threads.lo util.lo valuepair.lo version.lo xlat.lo process.lo realms.lo evaluate.lo vmps.lo detail.lo cb.lo tls.lo tls_listen.lo \ /Users/raymont/freeradius-server/src/lib/libfreeradius-radius.la -framework DirectoryService -lresolv -lpthread \ /Users/raymont/freeradius-server/libltdl/libltdl.la -lcrypto -lssl -lcrypto Undefined symbols for architecture x86_64: "_SSL_CTX_set_psk_client_callback", referenced from: _init_tls_ctx in tls.o "_SSL_CTX_set_psk_server_callback", referenced from: _init_tls_ctx in tls.o
You have two versions of OpenSSL installed. Fix that. Edit Make.inc. Look for lines referencing OPENSSL, and fix them to have the correct C compiler / linker flags. Alan DeKok.
2) "make" eventually errors out: ... Making all in src/modules/rlm_sometimes... Making all in src/main... /Users/raymont/freeradius-server/libtool --quiet --mode=link gcc -export-dynamic -dlopen self \ -o radiusd acct.lo auth.lo client.lo conffile.lo crypt.lo exec.lo files.lo listen.lo log.lo mainconfig.lo modules.lo modcall.lo radiusd.lo stats.lo soh.lo connection.lo session.lo threads.lo util.lo valuepair.lo version.lo xlat.lo process.lo realms.lo evaluate.lo vmps.lo detail.lo cb.lo tls.lo tls_listen.lo \ /Users/raymont/freeradius-server/src/lib/libfreeradius-radius.la -framework DirectoryService -lresolv -lpthread \ /Users/raymont/freeradius-server/libltdl/libltdl.la -lcrypto -lssl -lcrypto Undefined symbols for architecture x86_64: "_SSL_CTX_set_psk_client_callback", referenced from: _init_tls_ctx in tls.o "_SSL_CTX_set_psk_server_callback", referenced from: _init_tls_ctx in tls.o
You have two versions of OpenSSL installed. Fix that.
Edit Make.inc. Look for lines referencing OPENSSL, and fix them to have the correct C compiler / linker flags.
Alan DeKok. -
Thank you. After straightening out the paths to openssl lib & include, I'm now able to compile FR 3.0 successfully. Best Regards, Y.J. Zhang
participants (2)
-
Alan DeKok -
YJZ