Trusty is far too old an Ubuntu for the testing I need, I really need Bionic or later to get the versions of Ubuntu packages I need – I do not want to get into Docker unless absolutely necessary. However Xenial is what there is, albeit not yet formally available, so I am working round not having all the packages I need – at least it is GTK 3.18 which is an important version of GTK for my tests.
I have a Rust codebase (https://github.com/Me-TV/Me-TV). The build and tests run worked fine on the Trusty albeit with the wrong version of GTK (3.10 instead of 3.18). If I simply add “dist: xenial” to the .travis.yml file and do nothing else, the build fails unable to find one of the shared objects. Things worked fine in Trusty but not in Xenial. I am guessing that there is a difference in the pkg-config files or processing since the problem is clearly a shared object search path one.
When I added a suitable “export LD_LIBRARY_PATH=…” entry in the .travis.yml file the Xenial build works fine.
The three changesets:
show I think the Trusty works, Xenial fails, Xenial works with explicit LD_LIBRARY_PATH sequence with minimal changes.