BIND 10 #1640: incomplete pc file for botan and wrong filename for botan-config
BIND 10 Development
do-not-reply at isc.org
Sat Feb 11 16:25:31 UTC 2012
#1640: incomplete pc file for botan and wrong filename for botan-config
-------------------------------------+-------------------------------------
Reporter: jreed | Owner: UnAssigned
Type: | Status: new
defect | Milestone:
Priority: minor | Sprint-20120221
Component: build | Resolution:
system | Sensitive: 0
Keywords: | Sub-Project: Core
Defect Severity: N/A | Estimated Difficulty: 4
Feature Depending on Ticket: | Total Hours: 0
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jaspain):
I did some additional testing on Ubuntu Oneiric of bind10 configure in
relation to botan. Starting with botan 1.10.1 built from source and
installed, and the package pkg-config removed, I got the following
excerpted output from bind10 configure:
checking for pkg-config... no
checking for botan-config... no
./configure: line 15911: --libs: command not found
./configure: line 15912: --cflags: command not found
checking botan/botan.h usability... no
checking botan/botan.h presence... no
checking for botan/botan.h... no
configure: error: Missing required header files.
Now to simulate bind10 configure being able to find botan-
config-<version>, I executed:
ln /usr/bin/botan-config-1.10 /usr/bin/botan-config
Now bind10 configure behaved as follows:
checking for pkg-config... no
checking for botan-config... /usr/bin/botan-config
checking botan/botan.h usability... no
checking botan/botan.h presence... no
checking for botan/botan.h... no
configure: error: Missing required header files.
The output of botan-config is as follows:
root at oneiric:~/bind10-devel-20120119# botan-config --prefix
/usr
root at oneiric:~/bind10-devel-20120119# botan-config --cflags
root at oneiric:~/bind10-devel-20120119# botan-config --libs
-lbotan-1.10 -lbz2 -lcrypto -ldl -lgmp -lpthread -lrt -lz
Note that 'botan-config --cflags' returns null. Looking at botan-config
itself, the relevant code is:
--cflags)
if [ $prefix != "/usr" -a $prefix != "/usr/local" ]
then
echo -I$prefix/$includedir
fi
;;
I'm not sure why the botan people don't want to return any cflags when
--prefix is /usr or /usr/local. Perhaps -I/usr/include/botan-1.10 or
-I/usr/local/include/botan-1.10 would be considered default paths by g++?
Anyway, I commented out the conditional logic in botan-config for --cflags
with the following result:
root at oneiric:~/bind10-devel-20120119# botan-config --cflags
-I/usr/include/botan-1.10
Now bind10 configure succeeds with botan:
checking for pkg-config... no
checking for botan-config... /usr/bin/botan-config
checking botan/botan.h usability... yes
checking botan/botan.h presence... yes
checking for botan/botan.h... yes
checking for Botan library... yes
But a little later:
checking boost/function.hpp usability... yes
checking boost/function.hpp presence... yes
checking for boost/function.hpp... yes
checking for pthread_create in -lpthread... yes
checking for pkg-config... no
configure: error: Please install pkg-config
The easiest solution to this problem, since pkg-config seems to be
required anyway, might be to cause bind10 configure to error out when it
checks for and doesn't find pkg-config just prior to checking for botan.
Otherwise if it is desirable to detect botan versions greater than 1.8
without pkg-config, then the following will be required:
1. Check for and be able to use $prefix/bin/botan-config-(.*) as well as
just $prefix/bin/botan-config. Here (.*) is a regular expression intended
to capture the botan version number, hereinafter referred to as $botanVer.
2. If 'botan-config-$botanVer --cflags' returns null, then manually look
for the presence of the directory $prefix/include/botan-$botanVer. This
directory should contain a botan directory which in turn should contain
all the botan *.h files.
Hopefully this will be easy to implement. Note that Ubuntu Precise
Pangolin (12.04LTS) due for release at the end of April will provide botan
1.10.0 as a standard package. Thanks. Jeff.
--
Ticket URL: <http://bind10.isc.org/ticket/1640#comment:6>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list