lasso
Versions
2.8.1
- Requires OpenSSL > xxx, but not constrained correctly in configure.ac. This causes “implicit declaration of
PEM_read_bio_PUBKEY
”, etc. at build time
Building Notes
On CentOS-7:
Building from git requires the dependencies below being present, and ./autogen.sh
bootstrapping. The usual autoreconf -fvi
is not enough.
#### “ModuleNotFoundError: No module named ‘six’”
- depends on
python36-six
but not checked in configure.ac:yum install python36-six
#### “/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: cannot find -lltdl”
- depends on
libtool-ltdl-devel
but not checked in configure.ac:yum install libtool-ltdl-devel
#### “implicit declaration of PEM_read_bio_PUBKEY
”
- improper dependency on openssl. required version is not correctly specified.
#### “You don’t have gtk-doc installed, and thus won’t be able to generate the documentation.”
gtk-doc-tools
is required, not recommended:- Causes errors at bootstrapping and configuration:
- “docs/reference/lasso/Makefile.am:118: error: EXTRA_DIST must be set with ‘=’ before using ‘+=’” and,
- “config.status: error: cannot find input file: `docs/reference/lasso/Makefile.in’”
- without it,
automake
cannot generate Makefile templates (Makefile.in files). - If you’ve attempted bootstrapping without it, cleanup is required with
./autogen.sh
- Causes errors at bootstrapping and configuration:
yum install gtk-doc-tools
## Testing Notes
- there are 3 test suites:
tests
,bindings/python/tests
,bindings/perl
- the “
tests
” test suite is disabled silently ifcheck-devel
is not installed:yum install check-devel
- the library tests in
tests/
use forking, making debugging not straight forward.- set
int dont_fork = 1;
in main() to avoid forking. Then a single click on the “debug” button in Testing UI allows single-stepping and breakpoints in the test, or - set “CK_FORK=no” in
TEST_ENVIRONMENTS
## Bootstrap fail
- set
- Bootstrapping is implemented in
autogen.sh
, which also configures the project. The failure of this script can indicate either:- the bootstrapping itself failed or,
- the initial configuration failed
- The initial configuration requires
gtk-doc
:--enable-gtk-doc
Test fail with error 2
- Error 2 is a dependency build failure, ie, the test could not be built.
- Running or debugging a test in the
tests
suite without building ‘all’ first results in:- “make: *** No rule to make target ‘../lasso/liblasso.la’, needed by ‘tests’. Stop.”
- this means the liblasso.la static library is not a dependency of the test. Ie, modifying the source of this library and then running the test means the test does not run on the updated library.
- The
tests/tests.log
andtests/tests2.log
tests belongs in thelasso
subdirectory, where theliblasso.la
is built, as they are unit tests against functions in that library. Moving the unit tests to the appropriate directory would allow the dependencyliblasso.la
to be built/updated if needed when the tests run.
Config fail
- Project has a few dependencies, without which configuration fails.
- Check the Terminal output for a message
"configure: error: Package requirements (...) were not met"
and install the listed dependencies.
- Check the Terminal output for a message
Comments / Updates