cryptominisat does not buld on Ubuntu 20.04

106 views
Skip to first unread message

Andrey Novoseltsev

unread,
Jul 13, 2020, 4:16:44 PM7/13/20
to sage-devel
Hello,

While switching SageMathCell to Ubuntu 20.04 I am having problems with cryptominisat installation into Sage-9.1. Any ideas what is going on?

Thank you!
Andrey

Tail of the log, full one attached:

...
/usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x28): undefined reference to `boost::program_options::error_with_option_name::what() const'
/usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main_exe.cpp.o: in function `boost::program_options::variables_map::~variables_map()':
/usr/include/boost/program_options/variables_map.hpp:146: undefined reference to `vtable for boost::program_options::variables_map'
collect2: error: ld returned 1 exit status
make[4]: *** [cmsat5-src/CMakeFiles/cryptominisat5-bin.dir/build.make:117: cryptominisat5] Error 1
make[4]: Leaving directory '/home/sc_serv/sage/local/var/tmp/sage/build/cryptominisat-5.6.8/src'
make[3]: *** [CMakeFiles/Makefile2:161: cmsat5-src/CMakeFiles/cryptominisat5-bin.dir/all] Error 2
make[3]: Leaving directory '/home/sc_serv/sage/local/var/tmp/sage/build/cryptominisat-5.6.8/src'
make[2]: *** [Makefile:130: all] Error 2
make[2]: Leaving directory '/home/sc_serv/sage/local/var/tmp/sage/build/cryptominisat-5.6.8/src'
********************************************************************************
Error building cryptominisat-5.6.8
********************************************************************************

cryptominisat-5.6.8.log

Matthias Koeppe

unread,
Jul 13, 2020, 11:11:11 PM7/13/20
to sage-devel
Please also send the top-level config.log 

Lots of optional and experimental packages are broken. See https://trac.sagemath.org/ticket/29900 - which needs help.

Andrey Novoseltsev

unread,
Jul 13, 2020, 11:26:06 PM7/13/20
to sage-devel
On Monday, 13 July 2020 21:11:11 UTC-6, Matthias Koeppe wrote:
Please also send the top-level config.log 

Attached!


Lots of optional and experimental packages are broken. See https://trac.sagemath.org/ticket/29900 - which needs help.

Thank you for working on this! Can't commit to more help than supplying logs...

config.log

Zachary Scherr

unread,
Jul 14, 2020, 1:26:06 AM7/14/20
to sage-devel
I was able to successfully build cryptominisat using an Ubuntu 20.04 docker image.  Some weird things I noticed from your log files:

config log says you have boost lib >= 1.66 yet your cryptominisat log file says "Boost 1.46 found".  On the next line it says:

"-- Found Boost components: program_options"

which seems to be related to all of the errors.

I'll let a more experienced person chime in, but I imagine that if you get the latest version of libboost-dev and cmake from apt and let sage find it via ./configure then maybe cyrptominisat will build.

Andrey Novoseltsev

unread,
Jul 14, 2020, 9:47:12 AM7/14/20
to sage-devel
The way I was trying to do it:

- create Ubuntu 20.04 LXC container (host is the same OS on a fresh GCE instance)
- update & install programs suggested by ./configure
- build Sage

Everything works apart from cryptominisat and whatever the problem is, it is not due to me not updating the system or doing something strange to break it ;-)

Andrey

Dima Pasechnik

unread,
Jul 14, 2020, 10:39:51 AM7/14/20
to sage-devel
On Tue, Jul 14, 2020 at 2:47 PM Andrey Novoseltsev <novo...@gmail.com> wrote:
>
> The way I was trying to do it:
>
> - create Ubuntu 20.04 LXC container (host is the same OS on a fresh GCE instance)
> - update & install programs suggested by ./configure
> - build Sage
>
> Everything works apart from cryptominisat and whatever the problem is, it is not due to me not updating the system or doing something strange to break it ;-)

You apparently got a copy of an old boost library, in
/home/sc_serv/sage/ causing linking problems.

>
> Andrey
>
> On Monday, 13 July 2020 23:26:06 UTC-6, Zachary Scherr wrote:
>>
>> I was able to successfully build cryptominisat using an Ubuntu 20.04 docker image. Some weird things I noticed from your log files:
>>
>> config log says you have boost lib >= 1.66 yet your cryptominisat log file says "Boost 1.46 found". On the next line it says:
>>
>> "-- Found Boost components: program_options"
>>
>> which seems to be related to all of the errors.
>>
>> I'll let a more experienced person chime in, but I imagine that if you get the latest version of libboost-dev and cmake from apt and let sage find it via ./configure then maybe cyrptominisat will build.
>>
>> On Monday, July 13, 2020 at 11:26:06 PM UTC-4 Andrey Novoseltsev wrote:
>>>
>>> On Monday, 13 July 2020 21:11:11 UTC-6, Matthias Koeppe wrote:
>>>>
>>>> Please also send the top-level config.log
>>>
>>>
>>> Attached!
>>>
>>>>
>>>> Lots of optional and experimental packages are broken. See https://trac.sagemath.org/ticket/29900 - which needs help.
>>>
>>>
>>> Thank you for working on this! Can't commit to more help than supplying logs...
>>>
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/5298591f-0961-4aa1-a887-60b5109b9688o%40googlegroups.com.

Matthias Koeppe

unread,
Jul 14, 2020, 12:42:49 PM7/14/20
to sage-devel
Thanks for spotting this.

Andrey: I would suggest to try whether a cryptominisat upgrade (https://trac.sagemath.org/ticket/25374) has better Boost detection.

If not, we should change the boost spkg-configure so that it passes the found boost library location on to cryptominisat.

Andrey Novoseltsev

unread,
Jul 15, 2020, 11:32:12 AM7/15/20
to sage-devel

On Tuesday, 14 July 2020 10:42:49 UTC-6, Matthias Koeppe wrote:
Thanks for spotting this.

Andrey: I would suggest to try whether a cryptominisat upgrade (https://trac.sagemath.org/ticket/25374) has better Boost detection.

If not, we should change the boost spkg-configure so that it passes the found boost library location on to cryptominisat.

I've tried following the directions on the ticket in the same installation that fails current version and the result is the same:

...
[cryptominisat-5.8.0] /usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main.cpp.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueIbcEE[_ZTVN5boost15program_options11typed_valueIbcEE]+0x38): more undefined references to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) const' follow
[cryptominisat-5.8.0] /usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x20): undefined reference to `boost::program_options::error_with_option_name::what() const'
[cryptominisat-5.8.0] /usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
[cryptominisat-5.8.0] /usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x28): undefined reference to `boost::program_options::error_with_option_name::what() const'
[cryptominisat-5.8.0] /usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
[cryptominisat-5.8.0] /usr/bin/ld: CMakeFiles/cryptominisat5-bin.dir/main_exe.cpp.o: in function `boost::program_options::variables_map::~variables_map()':
[cryptominisat-5.8.0] /usr/include/boost/program_options/variables_map.hpp:146: undefined reference to `vtable for boost::program_options::variables_map'
[cryptominisat-5.8.0] collect2: error: ld returned 1 exit status
[cryptominisat-5.8.0] make[4]: *** [cmsat5-src/CMakeFiles/cryptominisat5-bin.dir/build.make:133: cryptominisat5] Error 1
[cryptominisat-5.8.0] make[4]: Leaving directory '/home/sc_serv/sage/local/var/tmp/sage/build/cryptominisat-5.8.0/src'
[cryptominisat-5.8.0] make[3]: *** [CMakeFiles/Makefile2:163: cmsat5-src/CMakeFiles/cryptominisat5-bin.dir/all] Error 2
[cryptominisat-5.8.0] make[3]: Leaving directory '/home/sc_serv/sage/local/var/tmp/sage/build/cryptominisat-5.8.0/src'
[cryptominisat-5.8.0] make[2]: *** [Makefile:130: all] Error 2
[cryptominisat-5.8.0] make[2]: Leaving directory '/home/sc_serv/sage/local/var/tmp/sage/build/cryptominisat-5.8.0/src'

Matthias Koeppe

unread,
Jul 15, 2020, 12:26:39 PM7/15/20
to sage-devel
Thanks. Could you push it to the branch please? We should do this upgrade anyway.

I'll look into the spkg-configure business.

Matthias Koeppe

unread,
Jul 15, 2020, 12:38:46 PM7/15/20
to sage-devel
Andrey, actually could you try if installing "cmake" from the system package manager (and doing "make cmake-clean") fixes this problem?
We ship an ancient version of cmake in sage.

Andrey Novoseltsev

unread,
Jul 15, 2020, 3:38:31 PM7/15/20
to sage-devel
On Wednesday, 15 July 2020 10:38:46 UTC-6, Matthias Koeppe wrote:
Andrey, actually could you try if installing "cmake" from the system package manager (and doing "make cmake-clean") fixes this problem?
We ship an ancient version of cmake in sage.

Does not seem to make any difference!

Matthias Koeppe

unread,
Jul 15, 2020, 3:54:17 PM7/15/20
to sage-devel
Could you post the build log of cryptominisat with the new version of cmake anyway? 

Andrey Novoseltsev

unread,
Jul 15, 2020, 4:02:20 PM7/15/20
to sage-devel
Here it is, for some reason much bigger than before, maybe there are several versions - are logs overwritten on each attempt? I forgot to make cmake-clean first, but the last one was after installing cmake from Ubuntu and then doing "make cmake-clean" in sage root.
cryptominisat-5.8.0.log

Matthias Koeppe

unread,
Jul 15, 2020, 4:21:59 PM7/15/20
to sage-devel
On Wednesday, July 15, 2020 at 1:02:20 PM UTC-7, Andrey Novoseltsev wrote:
Here it is, for some reason much bigger than before, maybe there are several versions - are logs overwritten on each attempt?

The package log files are never deleted. A output from a new build is appended.  

Could you also check the contents of local/lib/cmake/ ?


Matthias Koeppe

unread,
Jul 15, 2020, 4:48:02 PM7/15/20
to sage-devel
Are you sure you did "make cmake-clean"? The last build log still seems to be using a cmake from SAGE_LOCAL

Andrey Novoseltsev

unread,
Jul 15, 2020, 4:48:06 PM7/15/20
to sage-devel
On Wednesday, 15 July 2020 14:21:59 UTC-6, Matthias Koeppe wrote:
sc_serv@precell:~$ ls sage/local/lib/cmake/
openblas

That's it!

Andrey Novoseltsev

unread,
Jul 23, 2020, 11:52:37 PM7/23/20
to sage-devel
For the record: NOT installing system libboost-dev allowed cryptominisat to be installed in Sage. Good enough solution for me, but the reason I was installing libboost-dev was ./configure recommendation...

Matthias Koeppe

unread,
Jul 24, 2020, 1:26:27 PM7/24/20
to sage-devel
Andrey, did you see this comment?

Andrey Novoseltsev

unread,
Jul 24, 2020, 1:55:15 PM7/24/20
to sage-devel
I missed the comment indeed, but I remember doing "make cmake-clean"
Reply all
Reply to author
Forward
0 new messages