Git master branch & Debian build
Zenon Mousmoulas
zmousm at noc.grnet.gr
Thu Nov 29 13:06:22 CET 2012
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.
More information about the Freeradius-Users
mailing list