Re: Git master branch & Debian build
Hi, I am also trying to build Debian packages from git master. On Fri Nov 23 20:52:32 CET 2012, Olivier Beytrison wrote:
I also noticed the following messages during package creation :
dpkg-shlibdeps: warning: couldn't find library libfreeradius-eap.so needed by debian/freeradius/usr/lib/freeradius/rlm_eap_peap.so (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/ freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius/usr/sbin/radmin (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-eap.so needed by debian/freeradius/usr/lib/freeradius/rlm_eap.so (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-eap.so needed by debian/freeradius/usr/lib/freeradius/rlm_eap_tls.so (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius/usr/sbin/freeradius (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-eap.so needed by debian/freeradius/usr/lib/freeradius/rlm_eap_ttls.so (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/radwho (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/smbencrypt (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/radclient (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/rlm_dbm_parser (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/radsniff (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/rlm_ippool_tool (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius').
The packages are built but I also see the warnings the OP noted above. The freeradius binary installed by this package does not run: /usr/sbin/freeradius: error while loading shared libraries: build/lib/.libs/rlm_acctlog.so: cannot open shared object file: No such file or directory # ldd /usr/sbin/freeradius linux-vdso.so.1 => (0x00007fff85fff000) libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007faff937b000) build/lib/.libs/rlm_acctlog.so => not found build/lib/.libs/rlm_always.so => not found build/lib/.libs/rlm_attr_filter.so => not found build/lib/.libs/rlm_attr_rewrite.so => not found build/lib/.libs/rlm_cache.so => not found build/lib/.libs/rlm_chap.so => not found build/lib/.libs/rlm_checkval.so => not found build/lib/.libs/rlm_counter.so => not found build/lib/.libs/rlm_cram.so => not found build/lib/.libs/rlm_dbm.so => not found build/lib/.libs/rlm_detail.so => not found build/lib/.libs/rlm_dhcp.so => not found build/lib/.libs/rlm_digest.so => not found build/lib/.libs/rlm_dynamic_clients.so => not found build/lib/.libs/rlm_eap.so => not found build/lib/.libs/rlm_eap_gtc.so => not found build/lib/.libs/rlm_eap_leap.so => not found build/lib/.libs/rlm_eap_md5.so => not found build/lib/.libs/rlm_eap_mschapv2.so => not found build/lib/.libs/rlm_eap_peap.so => not found build/lib/.libs/rlm_eap_pwd.so => not found build/lib/.libs/rlm_eap_tls.so => not found build/lib/.libs/rlm_eap_ttls.so => not found build/lib/.libs/rlm_exec.so => not found build/lib/.libs/rlm_expiration.so => not found build/lib/.libs/rlm_expr.so => not found build/lib/.libs/rlm_fastusers.so => not found build/lib/.libs/rlm_files.so => not found build/lib/.libs/rlm_ippool.so => not found build/lib/.libs/rlm_jradius.so => not found build/lib/.libs/rlm_krb5.so => not found build/lib/.libs/rlm_ldap.so => not found build/lib/.libs/rlm_linelog.so => not found build/lib/.libs/rlm_logintime.so => not found build/lib/.libs/rlm_mschap.so => not found build/lib/.libs/rlm_otp.so => not found build/lib/.libs/rlm_pam.so => not found build/lib/.libs/rlm_pap.so => not found build/lib/.libs/rlm_passwd.so => not found build/lib/.libs/rlm_perl.so => not found build/lib/.libs/rlm_policy.so => not found build/lib/.libs/rlm_preprocess.so => not found build/lib/.libs/rlm_python.so => not found build/lib/.libs/rlm_radutmp.so => not found build/lib/.libs/rlm_realm.so => not found build/lib/.libs/rlm_replicate.so => not found build/lib/.libs/rlm_sim_files.so => not found build/lib/.libs/rlm_soh.so => not found build/lib/.libs/rlm_sometimes.so => not found build/lib/.libs/rlm_sql.so => not found build/lib/.libs/rlm_sql_iodbc.so => not found build/lib/.libs/rlm_sql_mysql.so => not found build/lib/.libs/rlm_sql_null.so => not found build/lib/.libs/rlm_sql_postgresql.so => not found build/lib/.libs/rlm_sqlcounter.so => not found build/lib/.libs/rlm_sqlippool.so => not found build/lib/.libs/rlm_unix.so => not found build/lib/.libs/rlm_utf8.so => not found build/lib/.libs/rlm_wimax.so => not found libfreeradius-eap.so => /usr/lib/freeradius/libfreeradius-eap.so (0x00007faff915a000) libnsl.so.1 => /lib/libnsl.so.1 (0x00007faff8f3d000) libresolv.so.2 => /lib/libresolv.so.2 (0x00007faff8d27000) libdl.so.2 => /lib/libdl.so.2 (0x00007faff8b22000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007faff8906000) libreadline.so.6 => /lib/libreadline.so.6 (0x00007faff86c2000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007faff848a000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007faff80e9000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007faff7e94000) libc.so.6 => /lib/libc.so.6 (0x00007faff7b31000) /lib64/ld-linux-x86-64.so.2 (0x00007faff95ad000) libncurses.so.5 => /lib/libncurses.so.5 (0x00007faff78eb000) libz.so.1 => /usr/lib/libz.so.1 (0x00007faff76d4000) It looks like something is wrong with the ELF attributes in the binaries: # objdump -p /usr/sbin/freeradius | grep NEEDED NEEDED libfreeradius-radius.so NEEDED build/lib/.libs/rlm_acctlog.so NEEDED build/lib/.libs/rlm_always.so NEEDED build/lib/.libs/rlm_attr_filter.so NEEDED build/lib/.libs/rlm_attr_rewrite.so NEEDED build/lib/.libs/rlm_cache.so NEEDED build/lib/.libs/rlm_chap.so NEEDED build/lib/.libs/rlm_checkval.so NEEDED build/lib/.libs/rlm_counter.so NEEDED build/lib/.libs/rlm_cram.so NEEDED build/lib/.libs/rlm_dbm.so NEEDED build/lib/.libs/rlm_detail.so NEEDED build/lib/.libs/rlm_dhcp.so NEEDED build/lib/.libs/rlm_digest.so NEEDED build/lib/.libs/rlm_dynamic_clients.so NEEDED build/lib/.libs/rlm_eap.so NEEDED build/lib/.libs/rlm_eap_gtc.so NEEDED build/lib/.libs/rlm_eap_leap.so NEEDED build/lib/.libs/rlm_eap_md5.so NEEDED build/lib/.libs/rlm_eap_mschapv2.so NEEDED build/lib/.libs/rlm_eap_peap.so NEEDED build/lib/.libs/rlm_eap_pwd.so NEEDED build/lib/.libs/rlm_eap_tls.so NEEDED build/lib/.libs/rlm_eap_ttls.so NEEDED build/lib/.libs/rlm_exec.so NEEDED build/lib/.libs/rlm_expiration.so NEEDED build/lib/.libs/rlm_expr.so NEEDED build/lib/.libs/rlm_fastusers.so NEEDED build/lib/.libs/rlm_files.so NEEDED build/lib/.libs/rlm_ippool.so NEEDED build/lib/.libs/rlm_jradius.so NEEDED build/lib/.libs/rlm_krb5.so NEEDED build/lib/.libs/rlm_ldap.so NEEDED build/lib/.libs/rlm_linelog.so NEEDED build/lib/.libs/rlm_logintime.so NEEDED build/lib/.libs/rlm_mschap.so NEEDED build/lib/.libs/rlm_otp.so NEEDED build/lib/.libs/rlm_pam.so NEEDED build/lib/.libs/rlm_pap.so NEEDED build/lib/.libs/rlm_passwd.so NEEDED build/lib/.libs/rlm_perl.so NEEDED build/lib/.libs/rlm_policy.so NEEDED build/lib/.libs/rlm_preprocess.so NEEDED build/lib/.libs/rlm_python.so NEEDED build/lib/.libs/rlm_radutmp.so NEEDED build/lib/.libs/rlm_realm.so NEEDED build/lib/.libs/rlm_replicate.so NEEDED build/lib/.libs/rlm_sim_files.so NEEDED build/lib/.libs/rlm_soh.so NEEDED build/lib/.libs/rlm_sometimes.so NEEDED build/lib/.libs/rlm_sql.so NEEDED build/lib/.libs/rlm_sql_iodbc.so NEEDED build/lib/.libs/rlm_sql_mysql.so NEEDED build/lib/.libs/rlm_sql_null.so NEEDED build/lib/.libs/rlm_sql_postgresql.so NEEDED build/lib/.libs/rlm_sqlcounter.so NEEDED build/lib/.libs/rlm_sqlippool.so NEEDED build/lib/.libs/rlm_unix.so NEEDED build/lib/.libs/rlm_utf8.so NEEDED build/lib/.libs/rlm_wimax.so NEEDED libfreeradius-eap.so NEEDED libnsl.so.1 NEEDED libresolv.so.2 NEEDED libdl.so.2 NEEDED libpthread.so.0 NEEDED libreadline.so.6 NEEDED libcrypt.so.1 NEEDED libcrypto.so.0.9.8 NEEDED libssl.so.0.9.8 NEEDED libc.so.6 # objdump -p /usr/lib/freeradius/libfreeradius-radius.so | grep SONAME # objdump -p /usr/lib/freeradius/libfreeradius-eap.so | grep SONAME Compared to Debian's freeradius 2.1.10+dfsg-2+squeeze1: # objdump -p /usr/sbin/freeradius | grep NEEDED NEEDED libfreeradius-radius-2.1.10.so NEEDED libnsl.so.1 NEEDED libresolv.so.2 NEEDED libpthread.so.0 NEEDED libcrypt.so.1 NEEDED libltdl.so.7 NEEDED libssl.so.0.9.8 NEEDED libcrypto.so.0.9.8 NEEDED libc.so.6 # objdump -p /usr/lib/freeradius/libfreeradius-radius-2.1.10.so | grep SONAME SONAME libfreeradius-radius-2.1.10.so # objdump -p /usr/lib/freeradius/libfreeradius-eap-2.1.10.so | grep SONAME SONAME libfreeradius-eap-2.1.10.so Any ideas? Thanks, Z.
Zenon Mousmoulas wrote:
I am also trying to build Debian packages from git master.
Are you sure you're using the latest code from the "master" branch? I added fixes a few days ago which fixed those for me. $ ldd debian/tmp/usr/sbin/radiusd linux-vdso.so.1 => (0x00007fff91fff000) libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007f73bfe53000) I didn't install it because it's my main build server. But the library links *are* correct. Alan DeKok.
On Tue, 27 Nov 2012 11:30:26 -0500, Alan DeKok <aland@deployingradius.com> wrote:
Zenon Mousmoulas wrote:
I am also trying to build Debian packages from git master.
Are you sure you're using the latest code from the "master" branch? I added fixes a few days ago which fixed those for me.
Yes, I am tracking the master branch, pulled shortly before my previous post: * master 996ac3c [origin/master] More dependencies remotes/origin/HEAD -> origin/master remotes/origin/master 996ac3c More dependencies
$ ldd debian/tmp/usr/sbin/radiusd linux-vdso.so.1 => (0x00007fff91fff000) libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007f73bfe53000)
I didn't install it because it's my main build server. But the library links *are* correct.
# ldd debian/tmp/usr/sbin/freeradius linux-vdso.so.1 => (0x00007fff22575000) libfreeradius-radius.so => not found build/lib/.libs/rlm_acctlog.so (0x00007f5fd36d4000) build/lib/.libs/rlm_always.so (0x00007f5fd34d1000) build/lib/.libs/rlm_attr_filter.so (0x00007f5fd32cf000) build/lib/.libs/rlm_attr_rewrite.so (0x00007f5fd30cb000) build/lib/.libs/rlm_cache.so (0x00007f5fd2ec7000) build/lib/.libs/rlm_chap.so (0x00007f5fd2cc5000) build/lib/.libs/rlm_checkval.so (0x00007f5fd2ac2000) build/lib/.libs/rlm_counter.so (0x00007f5fd28bd000) build/lib/.libs/rlm_cram.so (0x00007f5fd26ba000) build/lib/.libs/rlm_dbm.so (0x00007f5fd24b7000) build/lib/.libs/rlm_detail.so (0x00007f5fd22b3000) build/lib/.libs/rlm_dhcp.so (0x00007f5fd20b0000) build/lib/.libs/rlm_digest.so (0x00007f5fd1ead000) build/lib/.libs/rlm_dynamic_clients.so (0x00007f5fd1caa000) build/lib/.libs/rlm_eap.so (0x00007f5fd1aa1000) build/lib/.libs/rlm_eap_gtc.so (0x00007f5fd189f000) build/lib/.libs/rlm_eap_leap.so (0x00007f5fd1699000) build/lib/.libs/rlm_eap_md5.so (0x00007f5fd1496000) build/lib/.libs/rlm_eap_mschapv2.so (0x00007f5fd1291000) build/lib/.libs/rlm_eap_peap.so (0x00007f5fd108a000) build/lib/.libs/rlm_eap_pwd.so (0x00007f5fd0e83000) build/lib/.libs/rlm_eap_tls.so (0x00007f5fd0c7f000) build/lib/.libs/rlm_eap_ttls.so (0x00007f5fd0a79000) build/lib/.libs/rlm_exec.so (0x00007f5fd0875000) build/lib/.libs/rlm_expiration.so (0x00007f5fd0673000) build/lib/.libs/rlm_expr.so (0x00007f5fd046f000) build/lib/.libs/rlm_fastusers.so (0x00007f5fd026b000) build/lib/.libs/rlm_files.so (0x00007f5fd0068000) build/lib/.libs/rlm_ippool.so (0x00007f5fcfe63000) build/lib/.libs/rlm_jradius.so (0x00007f5fcfc5e000) build/lib/.libs/rlm_krb5.so (0x00007f5fcfa5b000) build/lib/.libs/rlm_ldap.so (0x00007f5fcf851000) build/lib/.libs/rlm_linelog.so (0x00007f5fcf64e000) build/lib/.libs/rlm_logintime.so (0x00007f5fcf44a000) build/lib/.libs/rlm_mschap.so (0x00007f5fcf241000) build/lib/.libs/rlm_otp.so (0x00007f5fcf039000) build/lib/.libs/rlm_pam.so (0x00007f5fcee36000) build/lib/.libs/rlm_pap.so (0x00007f5fcec31000) build/lib/.libs/rlm_passwd.so (0x00007f5fcea2d000) build/lib/.libs/rlm_perl.so (0x00007f5fce826000) build/lib/.libs/rlm_policy.so (0x00007f5fce61c000) build/lib/.libs/rlm_preprocess.so (0x00007f5fce418000) build/lib/.libs/rlm_python.so (0x00007f5fce214000) build/lib/.libs/rlm_radutmp.so (0x00007f5fce010000) build/lib/.libs/rlm_realm.so (0x00007f5fcde0d000) build/lib/.libs/rlm_replicate.so (0x00007f5fcdc0b000) build/lib/.libs/rlm_sim_files.so (0x00007f5fcda08000) build/lib/.libs/rlm_soh.so (0x00007f5fcd806000) build/lib/.libs/rlm_sometimes.so (0x00007f5fcd603000) build/lib/.libs/rlm_sql.so (0x00007f5fcd3fa000) build/lib/.libs/rlm_sql_iodbc.so (0x00007f5fcd1f8000) build/lib/.libs/rlm_sql_mysql.so (0x00007f5fccff4000) build/lib/.libs/rlm_sql_null.so (0x00007f5fccdf2000) build/lib/.libs/rlm_sql_postgresql.so (0x00007f5fccbea000) build/lib/.libs/rlm_sqlcounter.so (0x00007f5fcc9e6000) build/lib/.libs/rlm_sqlippool.so (0x00007f5fcc7e2000) build/lib/.libs/rlm_unix.so (0x00007f5fcc5de000) build/lib/.libs/rlm_utf8.so (0x00007f5fcc3dd000) build/lib/.libs/rlm_wimax.so (0x00007f5fcc1d9000) libfreeradius-eap.so => not found libnsl.so.1 => /lib/libnsl.so.1 (0x00007f5fcbfc1000) libresolv.so.2 => /lib/libresolv.so.2 (0x00007f5fcbdab000) libdl.so.2 => /lib/libdl.so.2 (0x00007f5fcbba6000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f5fcb98a000) libreadline.so.6 => /lib/libreadline.so.6 (0x00007f5fcb746000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f5fcb50e000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f5fcb16d000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f5fcaf18000) libc.so.6 => /lib/libc.so.6 (0x00007f5fcabb5000) libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0x00007f5fca9af000) libgdbm_compat.so.3 => /usr/lib/libgdbm_compat.so.3 (0x00007f5fca7ac000) libfreeradius-eap.so => not found libfreeradius-eap.so => not found libfreeradius-eap.so => not found libfreeradius-eap.so => not found libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007f5fca4e2000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x00007f5fca2df000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007f5fca0b9000) libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0x00007f5fc9e6d000) libpam.so.0 => /lib/libpam.so.0 (0x00007f5fc9c61000) libperl.so.5.10 => /usr/lib/libperl.so.5.10 (0x00007f5fc98f3000) libm.so.6 => /lib/libm.so.6 (0x00007f5fc9671000) libz.so.1 => /usr/lib/libz.so.1 (0x00007f5fc945a000) libutil.so.1 => /lib/libutil.so.1 (0x00007f5fc9256000) libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00007f5fc8da5000) libiodbc.so.2 => /usr/lib/libiodbc.so.2 (0x00007f5fc8b51000) libmysqlclient_r.so.16 => /usr/lib/libmysqlclient_r.so.16 (0x00007f5fc872e000) libpq.so.5 => /usr/lib/libpq.so.5 (0x00007f5fc8505000) /lib64/ld-linux-x86-64.so.2 (0x00007f5fd38de000) libncurses.so.5 => /lib/libncurses.so.5 (0x00007f5fc82be000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007f5fc80b6000) libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00007f5fc7eb4000) liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0x00007f5fc7ca5000) libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00007f5fc7a8c000) libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x00007f5fc77ea000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007f5fc75b4000) libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x00007f5fc73a4000) libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x00007f5fc712b000) libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f5fc6f28000) I don't know what I am missing here. But shouldn't the libraries carry a version number, like libfreeradius-radius-3.0.0.so? Z.
Zenon Mousmoulas wrote:
Yes, I am tracking the master branch, pulled shortly before my previous post:
* master 996ac3c [origin/master] More dependencies remotes/origin/HEAD -> origin/master remotes/origin/master 996ac3c More dependencies
Well, that should be OK. Is this from a fresh checkout? I just don't see that on my debian machine.
# ldd debian/tmp/usr/sbin/freeradius
Please don't post dozens of lines of crap. It's good enough just to post one or two lines, to get the idea.
I don't know what I am missing here.
Neither do I.
But shouldn't the libraries carry a version number, like libfreeradius-radius-3.0.0.so?
No. Alan DeKok.
On 27 Nov 2012, at 19:23, Alan DeKok <aland@DEPLOYINGRADIUS.COM> wrote:
Zenon Mousmoulas wrote:
Yes, I am tracking the master branch, pulled shortly before my previous post:
* master 996ac3c [origin/master] More dependencies remotes/origin/HEAD -> origin/master remotes/origin/master 996ac3c More dependencies
Well, that should be OK.
Is this from a fresh checkout? I just don't see that on my debian machine.
# ldd debian/tmp/usr/sbin/freeradius
Please don't post dozens of lines of crap. It's good enough just to post one or two lines, to get the idea.
I just did build on fresh ubuntu 12.10 VM and it looks fine to me.... root@shinyhead-ldap:~/build/freeradius-server# ldd debian/tmp/usr/sbin/freeradius linux-vdso.so.1 => (0x00007fffae945000) libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007fddc5958000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddc574d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fddc552f000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fddc52f6000) libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fddc4f2f000) libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fddc4cd2000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddc4913000) /lib64/ld-linux-x86-64.so.2 (0x00007fddc5b96000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fddc46fc000) -Arran
On 27 Nov 2012, at 23:01, Arran Cudbard-Bell <a.cudbardb@freeradius.org> wrote:
On 27 Nov 2012, at 19:23, Alan DeKok <aland@DEPLOYINGRADIUS.COM> wrote:
Zenon Mousmoulas wrote:
Yes, I am tracking the master branch, pulled shortly before my previous post:
* master 996ac3c [origin/master] More dependencies remotes/origin/HEAD -> origin/master remotes/origin/master 996ac3c More dependencies
Well, that should be OK.
Is this from a fresh checkout? I just don't see that on my debian machine.
# ldd debian/tmp/usr/sbin/freeradius
Please don't post dozens of lines of crap. It's good enough just to post one or two lines, to get the idea.
I just did build on fresh ubuntu 12.10 VM and it looks fine to me....
root@shinyhead-ldap:~/build/freeradius-server# ldd debian/tmp/usr/sbin/freeradius linux-vdso.so.1 => (0x00007fffae945000) libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007fddc5958000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddc574d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fddc552f000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fddc52f6000) libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fddc4f2f000) libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fddc4cd2000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddc4913000) /lib64/ld-linux-x86-64.so.2 (0x00007fddc5b96000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fddc46fc000)
-Arran
Just installed the packages and the server started first time. -Arran
On 28/11/2012 1:07 π.μ., Arran Cudbard-Bell wrote:
I just did build on fresh ubuntu 12.10 VM and it looks fine to me....
root@shinyhead-ldap:~/build/freeradius-server# ldd debian/tmp/usr/sbin/freeradius linux-vdso.so.1 => (0x00007fffae945000) libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007fddc5958000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddc574d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fddc552f000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fddc52f6000) libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fddc4f2f000) libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fddc4cd2000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddc4913000) /lib64/ld-linux-x86-64.so.2 (0x00007fddc5b96000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fddc46fc000)
-Arran Just installed the packages and the server started first time. Indeed it does seem to work on Ubuntu 12.04.
I also tried it on a fresh Debian squeeze system and what I see is consistent to what I posted previously: # ldd build/bin/radiusd linux-vdso.so.1 => (0x00007fffe5bff000) libfreeradius-radius.so => not found build/lib/.libs/rlm_acctlog.so (0x00007ff8685a2000) build/lib/.libs/rlm_always.so (0x00007ff86839f000) [...] I am trying to figure out what tool or build-dep may be causing this.
On 28/11/2012 5:36 μ.μ., Zenon Mousmoulas wrote:
[...] I am trying to figure out what tool or build-dep may be causing this.
So after a lot of trial and error, this is the summary: * Package gets built on Ubuntu 12.04, without touching debian/rules. * Package gets built on Debian Squeeze/Wheezy, but the issue noted previously renders the installed binaries unusable:
# ldd build/bin/radiusd linux-vdso.so.1 => (0x00007fffe5bff000) libfreeradius-radius.so => not found build/lib/.libs/rlm_acctlog.so (0x00007ff8685a2000) build/lib/.libs/rlm_always.so (0x00007ff86839f000) [...]
* The above no longer happens once I take out --enable-boilermake from debian/rules. Package gets installed and freeradius seems to run. Yay :) In all the above cases however, there is the issue I noted in my first post:
# objdump -p /usr/sbin/freeradius | grep NEEDED NEEDED libfreeradius-radius.so NEEDED libfreeradius-eap.so # objdump -p /usr/lib/freeradius/libfreeradius-radius.so | grep SONAME # objdump -p /usr/lib/freeradius/libfreeradius-eap.so | grep SONAME
This means dependency tracking (dh_makeshlibs, dpkg-shlibdeps) does not work. If I add --with-system-libtool and --with-gnu-ld to debian/rules, it goes a step further but it's still wrong: debian/tmp/usr/lib/freeradius/libfreeradius-radius-3.0.0.la -> libfreeradius-radius.la debian/tmp/usr/lib/freeradius/libfreeradius-radius.a debian/tmp/usr/lib/freeradius/libfreeradius-radius.la debian/tmp/usr/lib/freeradius/libfreeradius-radius.so -> libfreeradius-radius.so.0.0.0 debian/tmp/usr/lib/freeradius/libfreeradius-radius.so.0 -> libfreeradius-radius.so.0.0.0 debian/tmp/usr/lib/freeradius/libfreeradius-radius.so.0.0.0 debian/tmp/usr/lib/freeradius/librlm_sql.so -> rlm_sql.so Unfortunately the package fails to build as libtool complains: Making install in src/modules... /root/freeradius/freeradius-3.0.0git+dfsg/install-sh -c -d -m 755 /root/freeradius/freeradius-3.0.0git+dfsg/debian/tmp/usr/lib/freeradius Making install in src/modules/rlm_acctlog... if [ "xrlm_acctlog" != "x" ]; then \ /usr/bin/libtool --mode=install /root/freeradius/freeradius-3.0.0git+dfsg/install-sh -c -c \ rlm_acctlog.la /root/freeradius/freeradius-3.0.0git+dfsg/debian/tmp/usr/lib/freeradius/rlm_acctlog.la || exit $?; \ rm -f /root/freeradius/freeradius-3.0.0git+dfsg/debian/tmp/usr/lib/freeradius/rlm_acctlog-3.0.0.la; \ ln -s rlm_acctlog.la /root/freeradius/freeradius-3.0.0git+dfsg/debian/tmp/usr/lib/freeradius/rlm_acctlog-3.0.0.la || exit $?; \ fi libtool: install: error: cannot install `rlm_acctlog.la' to a directory not ending in [...] dpkg-buildpackage: error: debian/rules binary gave error exit status 2 My understanding of the above is that (a) Boilermake seems to work on Ubuntu, no idea why. (a) Boilermake is unusable on Debian, so once the old build system is phased out, package builds will be impossible. (b) Jlibtool does not work with dependencies, but the alternative (system libtool) is not usable either. As things stand today, I can not build packages to deploy for testing freeradius 3.0 on Debian servers. Please advise. Cheers, Z.
Zenon Mousmoulas wrote:
My understanding of the above is that (a) Boilermake seems to work on Ubuntu, no idea why.
Because it's working as designed.
(a) Boilermake is unusable on Debian, so once the old build system is phased out, package builds will be impossible.
<sigh> Or, you can help us fix the problem.
(b) Jlibtool does not work with dependencies,
What does that mean?
but the alternative (system libtool) is not usable either.
Which is why I removed libtool. It's garbage.
As things stand today, I can not build packages to deploy for testing freeradius 3.0 on Debian servers.
Please advise.
This is open source software. Alan DeKok.
On 05/12/2012 3:44 μ.μ., Alan DeKok wrote:
Zenon Mousmoulas wrote:
My understanding of the above is that (a) Boilermake seems to work on Ubuntu, no idea why. Because it's working as designed.
Any clue as to what is special about Ubuntu 12.04 that enables boilermake to work? The same or slightly newer versions of the same tools (build-deps) are used in Debian Wheezy.
(a) Boilermake is unusable on Debian, so once the old build system is phased out, package builds will be impossible. <sigh> Or, you can help us fix the problem.
I certainly want to, but I need someone more knowledgeable than me about boilermake to guide me to the right direction how to investigate this sort of thing: # ldd build/bin/radiusd build/lib/.libs/rlm_acctlog.so (0x00007ff8685a2000) build/lib/.libs/rlm_always.so (0x00007ff86839f000) [...]
(b) Jlibtool does not work with dependencies, What does that mean? What I meant was that a) the libraries should have a SONAME attribute. b) the ABI version should be included in the SONAME attribute (as well as the library file name), as this would enable coexistence of e.g. libfreeradius2 and libfreeradius3. Without versions, there would be conflicts as both packages would claim /usr/lib/freeradius/libfreeradius-radius.so etc.
I didn't make this up :) I'm just paraphrasing (perhaps badly) the documentation: http://www.debian.org/doc/debian-policy/ch-sharedlibs.html http://www.debian.org/doc/manuals/maint-guide/advanced.en.html A fellow DD noted private libraries, as in /usr/lib/freeradius, are not tracked by dh_makeshlibs, dpkg-shlibdeps etc. so having a SONAME is not necessary. The 2.1.x packages in Debian do have both (a) and (b). In any case, coexistence would be good to have.
This is open source software.
Well understood :) Does this thread also belong to freeradius-devel ? Z.
participants (3)
-
Alan DeKok -
Arran Cudbard-Bell -
Zenon Mousmoulas