I’m trying run a full deb package creation of 5.30.03 (using the tagged version from SVN). I’m currently running in Ubuntu 11.10.
ROOT version: root-5.30.03
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6.1/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
First, I downloaded the code,
I run, the following:
It fails (I have to replace #!/bin/sh -> #!/bin/bash). After changing this, I attempt a build using:
Fails to start build because of errors in the debian/rules file (i.e. clean: rule is failing)
tar -xvzf math/unuran/src/unuran*
#if change, correct unurar version
mv unuran-1.8.0-root ./math/unuran/src/.
Change this to:
tar -xvzf math/unuran/src/unuran*.tar.gz
#if change, correct unurar version
rm -rf ./math/unuran/src/unuran-1.8.0-root
mv unuran-1.8.0-root ./math/unuran/src/.
After correcting the above, and attempting to build again; fails to build because of issue related to krb5:
....
Checking for for globusdir ... /usr
Checking for globus_gss_assist.h ... /usr/include/globus
Checking for globus_common.h ... /usr/include/globus
Checking for globus_gsi_credential.h ... /usr/include/globus
Checking for gsi version ... yes
Checking for libglobus_gss_assist ... /usr/lib
Checking for libglobus_gssapi_gsi ... /usr/lib
Checking for libglobus_gsi_credential ... /usr/lib
Checking for libglobus_common ... /usr/lib
Checking for libglobus_gsi_callback ... /usr/lib
Checking for libglobus_proxy_ssl ... /usr/lib
Checking for libglobus_gsi_sysconfig ... /usr/lib
Checking for libglobus_openssl_error ... /usr/lib
Checking for libglobus_gssapi_gsi ... /usr/lib
Checking for libglobus_gsi_callback ... /usr/lib
Checking for libglobus_oldgaa ... /usr/lib
Checking for libglobus_gsi_cert_utils ... /usr/lib
Checking for libglobus_openssl ... /usr/lib
Checking for libglobus_gsi_proxy_core ... /usr/lib
Checking for libglobus_callout ... /usr/lib
Checking for libltdl ... /usr/lib
Checking for libssl ... /usr/lib/i386-linux-gnu
Checking for libcrypto ... /usr/lib/i386-linux-gnu
Checking whether /usr/lib/globus/include should be added to header path ... yes
Checking for globus-user-env.sh ... no
Checking for grid-proxy-init ... /usr/bin
Checking for globus-gsi-credential version ... 3.5
Checking for need of globus patch ... no
Checking for libssl ... /usr/lib/i386-linux-gnu
Checking for libcrypto ... /usr/lib/i386-linux-gnu
Checking for openssl/bio.h ... /usr/include
Checking for openssl/blowfish.h ... /usr/include
Checking for openssl/err.h ... /usr/include
Checking for openssl/pem.h ... /usr/include
Checking for openssl/rand.h ... /usr/include
Checking for openssl/rsa.h ... /usr/include
Checking for krb5.h ... /usr/include
Checking for krb5.h redirect ... /usr/include/krb5/krb5.h
Checking for krb5_c_valid_cksumtype in krb5.h ... yes
[b]
Checking for valid_cksumtype in krb5.h ... no
Checking for libk5crypto ... /usr/lib/i386-linux-gnu
Checking whether we're using MIT Kerberos ... yes
Checking for krb5_c_valid_cksumtype in /usr/lib/i386-linux-gnu/libk5crypto.so ... no
Checking for valid_cksumtype in /usr/lib/i386-linux-gnu/libk5crypto.so ... no
Either 'krb5_c_valid_cksumtype' or 'valid_cksumtype' are available; disabling krb5
Explicitly required Kerberos5 dependencies not fulfilled
make: *** [config.status] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
[/b]
I believe this is an incompatibility with the Kerberos being distributed by debian/ubuntu (unresolved krb5_c_valid_cksumtype and valid_cksumtype) and ROOT. I haven’t tried using the heimdal-dev (or heimdal-multidev) - I was expecting that libkrb5-dev would be enough.
To resolve this, comment out the lines related to krb5 in debian/rules:
--enable-krb5 \
...
root-plugin-net-krb5 \
Becomes:
# --enable-krb5 \
...
# root-plugin-net-krb5 \
The compile and linking of ROOT starts. However it fails due to an unresolved library error (libPyRoot.5.so); this appears to either be a naming issue, or missing a symbolic link to the libPyRoot.so which does exist).
dh_install -s \
--list-missing \
--sourcedir=debian/tmp \
-X/usr/include/root/config.h \
-X/usr/include/root/rootcint.pri \
-X/usr/include/root/rootcintrule.pri \
-X/usr/include/root/rootlibs.pri \
-X/usr/include/root/precompile.h \
-X/usr/include/root/precompile.h.gch \
-X/usr/include/root/TQtWidget.cw \
-X/usr/share/root/fonts \
-X/usr/share/doc/root \
-X/usr/share/man/man1/system.rootdaemonrc.1 \
-X/usr/bin/thisroot.sh \
-X/usr/bin/thisroot.csh \
-X/usr/share/root/icons/ \
-X/etc/root/rootd \
-X/etc/root/daemons/ \
-X/etc/root/proof/ \
-X/etc/root/html \
-X/etc/root/RadioNuclides.txt \
-X/etc/root/gdb-backtrace-script \
-X/etc/root/gdb-backtrace.sh \
-X/etc/root/hostcert.conf \
-X/etc/root/pdg_table.txt \
-X/etc/root/root.mimes \
-X/etc/root/system.rootrc \
-X/etc/root/system.rootauthrc \
-X/etc/root/system.rootdaemonrc \
-X/usr/lib/root/5.30/libAfterImage.a \
-X/usr/lib/root/5.30/PyCintex.pyc \
-X/usr/lib/root/5.30/PyCintex.pyo \
-X/usr/lib/root/5.30/ROOT.pyc \
-X/usr/lib/root/5.30/ROOT.pyo \
-X/usr/lib/root/5.30/cint7 \
-X/usr/include/root/Minuit2
install -d debian/libroot-bindings-python5.30///usr/lib/root/5.30
cp -a debian/tmp//usr/lib/root/5.30/libPyROOT.rootmap debian/libroot-bindings-python5.30///usr/lib/root/5.30/
cp -a debian/tmp//usr/lib/root/5.30/libPyROOT.so debian/libroot-bindings-python5.30///usr/lib/root/5.30/
cp -a debian/tmp//usr/lib/root/5.30/libPyROOT.so.5 debian/libroot-bindings-python5.30///usr/lib/root/5.30/
cp: cannot stat `debian/tmp//usr/lib/root/5.30/libPyROOT.so.5': No such file or directory
dh_install: cp -a debian/tmp//usr/lib/root/5.30/libPyROOT.so.5 debian/libroot-bindings-python5.30///usr/lib/root/5.30/ returned exit code 1
make: *** [install-arch] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
I don’t want to start creating symbolic links within the deb build area.
What is the correct way to resolve this?