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