Debian build fails with current GIT
Hi All, On Friday I started to look at building a Debian package for deployment on a amd64 server. I had been building some development packages on a i686 system up till now. As the git tree has some patches that I need, I grabbed the latest tree. I am having an issue trying to build a Debian package. It looks like some other changes since the 2.1.3 release have broken a few parts for the (Debian) build system. This morning pulling the latest git tree and doing a reset for good measure I (still) get: -*-*-*-*-*-*-*-*-*-*-*-*- git reset --hard Checking out files: 100% (1281/1281), done. HEAD is now at 1cbf67e Added sample commands dpkg-buildpackage -rfakeroot -us -uc dpkg-buildpackage: set CFLAGS to default value: -g -O2 dpkg-buildpackage: set CPPFLAGS to default value: dpkg-buildpackage: set LDFLAGS to default value: dpkg-buildpackage: set FFLAGS to default value: -g -O2 dpkg-buildpackage: set CXXFLAGS to default value: -g -O2 dpkg-buildpackage: source package freeradius dpkg-buildpackage: source version 2.1.1-0 dpkg-buildpackage: source changed by Alan DeKok <aland@freeradius.org> dpkg-buildpackage: host architecture amd64 ... ... dpatch apply-all --verbose applying patch 01-radiusd-to-freeradius to ./ ... patching file Make.inc.in Hunk #1 succeeded at 48 with fuzz 1. patching file raddb/radiusd.conf.in Hunk #1 FAILED at 33. Hunk #2 succeeded at 112 with fuzz 2 (offset 17 lines). Hunk #3 succeeded at 164 with fuzz 2 (offset 43 lines). 1 out of 3 hunks FAILED -- saving rejects to file raddb/radiusd.conf.in.rej make: *** [patch-stamp] Error 1 dpkg-buildpackage: failure: debian/rules build gave error exit status 2 -*-*-*-*-*-*-*-*-*-*-*-*- This patch, I have patched. I tried "git format-patch" this time so I hope it is in the correct format. After this, the build process ran a little further but errors in the configure at: -*-*-*-*-*-*-*-*-*-*-*-*- checking for setkey in -lcipher... no checking gethostbyaddr_r() syntax... GNU-style checking gethostbyname_r() syntax... GNU-style checking ctime_r() syntax... POSIX-style top_builddir=/home/src/git/freeradius-server2 configure: updating cache config.cache configure: error: conditional "INSTALL_LTDL" was never defined. Usually this means the macro was only invoked conditionally. make: *** [configure-stamp] Error 1 dpkg-buildpackage: failure: debian/rules build gave error exit status 2 -*-*-*-*-*-*-*-*-*-*-*-*- Looking into the 'configure' file and the change log I could see that there has been a number of modifications here. I could not see why INSTALL_LTDL_[TRUE|FALSE] was not set. Putting some debug 'echo's into the configure file showed that the "if test x"${enable_ltdl_install-no}" != xno; then" block was not even processed. Info: Debian Lenny (5.0) - Testing All default packages - All up-to-date Kernel: Linux 2.6.26-1-amd64 git version 1.5.6.5 gcc (Debian 4.3.2-1.1) 4.3.2 Regards Chris
Chris Moules wrote:
On Friday I started to look at building a Debian package for deployment on a amd64 server. I had been building some development packages on a i686 system up till now. As the git tree has some patches that I need, I grabbed the latest tree.
I am having an issue trying to build a Debian package. It looks like some other changes since the 2.1.3 release have broken a few parts for the (Debian) build system.
The debian packages rename the server from "radiusd" to "freeradius". In an effort to simplify the configuration, and remove extra patches, we've added a "name=radiusd" configuration entry. That name is now used (almost) everywhere, in preference to hard-coded "radiusd". The patch you supplied changes "${name}.pid" to "freeradius.pid". Instead, it should change the "name=radiusd" to "name=freeradius" line. There are a number of other references to ${name}, so changing that one reference will fix all of the others. Alan DeKok.
Alan DeKok wrote:
Chris Moules wrote:
On Friday I started to look at building a Debian package for deployment on a amd64 server. I had been building some development packages on a i686 system up till now. As the git tree has some patches that I need, I grabbed the latest tree.
I am having an issue trying to build a Debian package. It looks like some other changes since the 2.1.3 release have broken a few parts for the (Debian) build system.
The debian packages rename the server from "radiusd" to "freeradius". In an effort to simplify the configuration, and remove extra patches, we've added a "name=radiusd" configuration entry. That name is now used (almost) everywhere, in preference to hard-coded "radiusd".
The patch you supplied changes "${name}.pid" to "freeradius.pid". Instead, it should change the "name=radiusd" to "name=freeradius" line.
There are a number of other references to ${name}, so changing that one reference will fix all of the others.
Alan DeKok.
Understood. The following patch should correct the Debian patch with this in mind. One other Debian related note, git 'master' branch does not have the latest debian/changelog. This is showing version 2.1.1. I am still learning git and so am not sure how to move things about yet... -- This still leaves, however, the following configure/build issue. I am not sure if this is just Debian related. Below is, what I think is, relevant configure output. As I stated in the previous mail, it looks like neither INSTALL_LTDL_TRUE nor INSTALL_LTDL_FALSE get set. -- $ dpkg-buildpackage -rfakeroot -us -uc dpkg-buildpackage: set CFLAGS to default value: -g -O2 dpkg-buildpackage: set CPPFLAGS to default value: dpkg-buildpackage: set LDFLAGS to default value: dpkg-buildpackage: set FFLAGS to default value: -g -O2 dpkg-buildpackage: set CXXFLAGS to default value: -g -O2 dpkg-buildpackage: source package freeradius dpkg-buildpackage: source version 2.1.1-0 dpkg-buildpackage: source changed by Alan DeKok <aland@freeradius.org> dpkg-buildpackage: host architecture amd64 fakeroot debian/rules clean dpatch deapply-all 02-dialupadmin-help not applied to ./ . 01-radiusd-to-freeradius not applied to ./ . rm -rf patch-stamp patch-stampT debian/patched .. .. ln -s /usr/share/misc/config.guess config.guess ./configure \ --build x86_64-linux-gnu \ --config-cache \ --prefix=/usr \ --exec-prefix=/usr \ --mandir=/usr/share/man \ --sysconfdir=/etc \ --libdir=/usr/lib/freeradius \ --datadir=/usr/share \ --localstatedir=/var \ --with-raddbdir=/etc/freeradius \ --with-logdir=/var/log/freeradius \ --with-system-libtool --disable-ltdl-install \ --with-large-files --with-udpfromto --with-edir \ --enable-developer \ --with-rlm-sql-postgresql-lib-dir=`pg_config --libdir` \ --with-rlm-sql-postgresql-include-dir=`pg_config --includedir` configure: creating cache config.cache checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .. .. checking for make... /usr/bin/make checking for lt_dlinit in -lltdl... yes configure: WARNING: not overwriting libltdl at /usr, force with `--enable-ltdl-install' checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu .. .. checking for TLS... yes checking for crypt in -lcrypt... yes checking for setkey in -lcipher... no checking gethostbyaddr_r() syntax... GNU-style checking gethostbyname_r() syntax... GNU-style checking ctime_r() syntax... POSIX-style top_builddir=/home/src/git/freeradius-server2 configure: updating cache config.cache configure: error: conditional "INSTALL_LTDL" was never defined. Usually this means the macro was only invoked conditionally. make: *** [configure-stamp] Error 1 dpkg-buildpackage: failure: debian/rules build gave error exit status 2
Chris Moules wrote:
Understood. The following patch should correct the Debian patch with this in mind.
Added, thanks.
One other Debian related note, git 'master' branch does not have the latest debian/changelog. This is showing version 2.1.1.
We're not planning on issuing an "official" release from git master for a while. That branch is intended for more experimental work.
I am still learning git and so am not sure how to move things about yet...
Mercurial is easier to use than git. But git is so useful that I can't be bothered to use mercurial any more. Alan DeKok.
participants (2)
-
Alan DeKok -
Chris Moules