sosy-lab / java-smt

JavaSMT - Unified Java API for SMT solvers.
Apache License 2.0
179 stars 44 forks source link

Ensure that we do not publish native solver binaries with unwanted library dependencies #74

Open PhilippWendler opened 8 years ago

PhilippWendler commented 8 years ago

The current build targets for publishing solver binaries are suboptimal because they make it easy to (accidentally) build and publish solver binaries that are broken or depend on libraries on which we do not want them to depend.

PhilippWendler commented 7 years ago

An automatic check for unwanted dependencies would be really good, because building the binaries is getting more and more complex. For example, currently we need to build MathSAT on something like Ubuntu 16.04, which has gcc >= 4.9, but we need to build Z3 on Ubuntu 14.04, because it does not have libgomp >= 4.

PhilippWendler commented 5 years ago

This script could be used as inspiration for such a check.

PhilippWendler commented 5 years ago

Other scripts that could be an inspiration are in these LWN comments.

Of course, if we use a container solution to implement #125 this check is not so important anymore.

PhilippWendler commented 5 years ago

AppImages have the same problems and they have some documentation with hints.

bingcc is a GCC wrapper that might allow us to compile binaries on newer systems without introducing a dependency on newer libraries.