Skip to content

terminate called after throwing an instance of ... what(): getrandom #91

Description

@kohldampfer

I comiled a project against boost library 1.68. When starting this project, I get this error message

bash-4.2# ./run.sh
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::uuids::entropy_error> >'
  what():  getrandom
Aborted

After some googling I found out that this error has something to do with the syscall getrandom and that the syscall was introduced in Linux kernel >= 3.17. On the machine, where I start this project, I have this kernel (it's a CentOS 6.7):

bash-4.2# uname -a
Linux xxx 2.6.32-754.10.1.el6.x86_64 #1 SMP Tue Jan 15 17:07:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

bash-4.2# cat /etc/*-release
CentOS release 6.7 (Final)

Then I found out that I can rebuild boost with the parameter BOOST_UUID_RANDOM_PROVIDER_FORCE_POSIX, then I could start my project (#79). So I recompiled boost 1.68. This are the commands in a self-written build script:

./bootstrap.sh --with-libraries=atomic,chrono,container,context,contract,coroutine,date_time,exception,fiber,filesystem,graph,graph_parallel,iostreams,locale,log,math,mpi,program_options,random,regex,serialization,stacktrace,system,test,thread,type_erasure,timer,signals,wave

./b2 --layout=tagged define=BOOST_UUID_RANDOM_PROVIDER_FORCE_POSIX toolset=gcc variant=release threading=multi link=shared address-model=64 -sZLIB_SOURCE=$ZLIB_DIR -q -sBZIP2_SOURCE=$BZIP2_DIR

After recompilation of boost 1.68 and my script, I still get this error written above. Is there something I am missing here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions