On Fri, 2020-07-24 at 13:15 -0600, Jerry James wrote: > I will soon push a change to the z3 package, in Rawhide only, which > will result in an soname bump. The actual contents of libz3 will not > change, however. The only Fedora consumer outside of the z3 package > itself is cppcheck, which currently fails to build due to the recent > cmake change. If the cppcheck maintainers want me to try to fix that, > I will do so; otherwise, I am happy to let them fix it themselves. > > The gory details for those interested: > > The z3 project has two build systems: an old one, based on generating > Makefiles with python scripts, and a new one based on cmake. We have > been using the old one, because the cmake build system does not > support building z3's OCaml interface. However, the old build system > has a number of ... features ... that we had to work around, leading > to a fair amount of uncleanness in the spec file. > > I have decided to take the plunge and switch to using the cmake build > system, with manual steps afterward to build the OCaml interface. The > old build system gave the z3 library an soname of "libz3.so", which > the spec file modified to be "libz3.so.0", with a versioned library > libz3.so.0.0.0. The cmake build system gives the library an soname of > "libz3.so.4.8" (where 4 and 8 are the major and minor version numbers, > respectively), with a versioned library libz3.so.4.8.8.0. This lets > me throw out a bunch of cruft, while introducing a much smaller amount > of cruft due to the OCaml interface. I think it's a win. Just a note on z3. I've been trying to track down what I think is an uninstantiated template issue that's exposed by LTO. I've been chasing it on/off over the last day or two without success. So if you get a build failure that looks like this: /usr/bin/ld: /tmp/z3.16EntH.ltrans1.ltrans.o:(.data.rel.ro+0x110): undefined reference to `lp::lp_solver<double, double>::get_variable_name[abi:cxx11](unsigned int) const' /usr/bin/ld: /tmp/z3.16EntH.ltrans1.ltrans.o:(.data.rel.ro+0x168): undefined reference to `lp::lp_solver<double, double>::get_variable_name[abi:cxx11](unsigned int) const' /usr/bin/ld: /tmp/z3.16EntH.ltrans1.ltrans.o:(.data.rel.ro+0x1b0): undefined reference to `lp::lp_solver<double, double>::get_variable_name[abi:cxx11](unsigned int) const' collect2: error: ld returned 1 exit status Just disable LTO via the usual mechanism (%define _lto_cflags %{nil}). We'll revisit any opt-outs again between F33 and F34 and re-evaluate them. Jeff _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx