Boost logo

Boost Users :

Subject: [Boost-users] New user : Help on Solaris
From: Dechaux Eric CEN (BCQ STIG) (eric.dechaux_at_[hidden])
Date: 2019-01-03 13:41:54


Hello everyone,

I am a Solaris user and need to build pgAgent 4.0 on a Solaris 11.4
X86_64 box. pgAgent require boost withthreading.

I have build boost 1.69 with no issue :

sol114:/tmp/build/boost_1_69_0$ ./b2 threading=multi -d+2 -a
Performing configuration checks

     - default address-model : 64-bit
     - default architecture : x86

Building the Boost C++ Libraries.

     - C++11 mutex : yes
     - lockfree boost::atomic_flag : yes
     - Boost.Config Feature Check: cxx11_auto_declarations : yes
     - Boost.Config Feature Check: cxx11_constexpr : yes
     - Boost.Config Feature Check: cxx11_defaulted_functions : yes
     - Boost.Config Feature Check: cxx11_final : yes
     - Boost.Config Feature Check: cxx11_hdr_mutex : yes
     - Boost.Config Feature Check: cxx11_hdr_tuple : yes
     - Boost.Config Feature Check: cxx11_lambdas : yes
     - Boost.Config Feature Check: cxx11_noexcept : yes
     - Boost.Config Feature Check: cxx11_nullptr : yes
     - Boost.Config Feature Check: cxx11_rvalue_references : yes
     - Boost.Config Feature Check: cxx11_template_aliases : yes
     - Boost.Config Feature Check: cxx11_thread_local : yes
     - Boost.Config Feature Check: cxx11_variadic_templates : yes
     - has_icu builds : yes
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
     - zlib : yes
     - bzip2 : yes
     - lzma : yes
     - zstd : no
     - icu : yes
warning: non-free usage requirements <runtime-link>shared ignored
warning: in main-target build_options at libs/locale/build/Jamfile.v2:414
warning: non-free usage requirements <runtime-link>shared ignored
warning: in main-target build_flags at libs/locale/build/Jamfile.v2:415
     - xopen-source-600-supported : yes
     - native-atomic-int32-supported : yes
     - native-syslog-supported : yes
     - pthread-supports-robust-mutexes : yes
     - compiler-supports-ssse3 : yes
     - compiler-supports-avx2 : yes
     - gcc visibility : yes
     - long double support : yes
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
     - libbacktrace builds : no
     - addr2line builds : yes
     - WinDbg builds : no
     - WinDbgCached builds : no
     - BOOST_COMP_GNUC >= 4.3.0 : no
     - zlib : yes
     - bzip2 : yes
     - lzma : yes
     - zstd : no

Component configuration:

     - atomic : building
     - chrono : building
     - container : building
     - context : building
     - contract : building
     - coroutine : building
     - date_time : building
     - exception : building
     - fiber : building
     - filesystem : building
     - graph : building
     - graph_parallel : building
     - iostreams : building
     - locale : building
     - log : building
     - math : building
     - mpi : building
     - program_options : building
     - python : building
     - random : building
     - regex : building
     - serialization : building
     - stacktrace : building
     - system : building
     - test : building
     - thread : building
     - timer : building
     - type_erasure : building
     - wave : building

[...]

     "g++" -fvisibility-inlines-hidden -fPIC -m64 -pthreads -O3
-finline-functions -Wno-inline -w -fvisibility=hidden
-DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/cpplexer/re2clex/cpp_re.o"
"libs/wave/src/cpplexer/re2clex/cpp_re.cpp"

gcc.link.dll
bin.v2/libs/wave/build/gcc-7.3.0/release/threadapi-pthread/threading-multi/visibility-hidden/libboost_wave.so.1.69.0

     "g++"
-L"/tmp/build/boost_1_69_0/bin.v2/libs/chrono/build/gcc-7.3.0/release/threading-multi/visibility-hidden"
-L"/tmp/build/boost_1_69_0/bin.v2/libs/date_time/build/gcc-7.3.0/release/threading-multi/visibility-hidden"
-L"/tmp/build/boost_1_69_0/bin.v2/libs/filesystem/build/gcc-7.3.0/release/threading-multi/visibility-hidden"
-L"/tmp/build/boost_1_69_0/bin.v2/libs/system/build/gcc-7.3.0/release/threading-multi/visibility-hidden"
-L"/tmp/build/boost_1_69_0/bin.v2/libs/thread/build/gcc-7.3.0/release/threadapi-pthread/threading-multi/visibility-hidden"
-o
"bin.v2/libs/wave/build/gcc-7.3.0/release/threadapi-pthread/threading-multi/visibility-hidden/libboost_wave.so.1.69.0"
-shared
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/instantiate_cpp_exprgrammar.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/instantiate_cpp_grammar.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/instantiate_cpp_literalgrs.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/instantiate_defined_grammar.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/instantiate_predef_macros.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/instantiate_re2c_lexer.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/instantiate_re2c_lexer_str.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/token_ids.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/wave_config_constant.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/cpplexer/re2clex/aq.o"
"bin.v2/libs/wave/build/gcc-7.3.0/release/threading-multi/visibility-hidden/cpplexer/re2clex/cpp_re.o"
"bin.v2/libs/filesystem/build/gcc-7.3.0/release/threading-multi/visibility-hidden/libboost_filesystem.so.1.69.0"
"bin.v2/libs/thread/build/gcc-7.3.0/release/threadapi-pthread/threading-multi/visibility-hidden/libboost_thread.so.1.69.0"
"bin.v2/libs/date_time/build/gcc-7.3.0/release/threading-multi/visibility-hidden/libboost_date_time.so.1.69.0"
"bin.v2/libs/chrono/build/gcc-7.3.0/release/threading-multi/visibility-hidden/libboost_chrono.so.1.69.0"
"bin.v2/libs/system/build/gcc-7.3.0/release/threading-multi/visibility-hidden/libboost_system.so.1.69.0"
-lrt -fPIC -m64 -pthreads -fvisibility=hidden
-fvisibility-inlines-hidden -mimpure-text

common.copy stage/lib/libboost_wave.so.1.69.0

     cp
"bin.v2/libs/wave/build/gcc-7.3.0/release/threadapi-pthread/threading-multi/visibility-hidden/libboost_wave.so.1.69.0"
"stage/lib/libboost_wave.so.1.69.0"

ln-UNIX stage/lib/libboost_wave.so

     ln -f -s 'libboost_wave.so.1.69.0' 'stage/lib/libboost_wave.so'

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

     /tmp/build/boost_1_69_0

The following directory should be added to linker library paths:

     /tmp/build/boost_1_69_0/stage/lib

However, when I try to build pgAgent 4.0 I have the following errors :

sol114:/tmp/build/pgAgent-4.0.0-Source$ make
CMake Warning at cmake/FindBoost.cmake:839 (message):
   New Boost version may have incorrect or missing dependencies and imported
   targets
Call Stack (most recent call first):
   cmake/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
   cmake/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
   CMakeLists.txt:112 (FIND_PACKAGE)

CMake Warning at cmake/FindBoost.cmake:839 (message):
   New Boost version may have incorrect or missing dependencies and imported
   targets
Call Stack (most recent call first):
   cmake/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
   cmake/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
   CMakeLists.txt:112 (FIND_PACKAGE)

CMake Warning at cmake/FindBoost.cmake:839 (message):
   New Boost version may have incorrect or missing dependencies and imported
   targets
Call Stack (most recent call first):
   cmake/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
   cmake/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
   CMakeLists.txt:112 (FIND_PACKAGE)

CMake Warning at cmake/FindBoost.cmake:839 (message):
   New Boost version may have incorrect or missing dependencies and imported
   targets
Call Stack (most recent call first):
   cmake/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
   cmake/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
   CMakeLists.txt:112 (FIND_PACKAGE)

CMake Warning at cmake/FindBoost.cmake:839 (message):
   New Boost version may have incorrect or missing dependencies and imported
   targets
Call Stack (most recent call first):
   cmake/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
   cmake/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
   CMakeLists.txt:112 (FIND_PACKAGE)

CMake Warning at cmake/FindBoost.cmake:839 (message):
   New Boost version may have incorrect or missing dependencies and imported
   targets
Call Stack (most recent call first):
   cmake/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
   cmake/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
   CMakeLists.txt:112 (FIND_PACKAGE)

CMake Warning at cmake/FindBoost.cmake:839 (message):
   New Boost version may have incorrect or missing dependencies and imported
   targets
Call Stack (most recent call first):
   cmake/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
   cmake/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
   CMakeLists.txt:112 (FIND_PACKAGE)

-- Boost version: 1.69.0
-- Found the following Boost libraries:
-- filesystem
-- regex
-- date_time
-- thread
-- system
-- chrono
-- atomic

-- 
-- 
================================================================================
-- Configuration summary:
-- 
--   Project                     : pgagent
--   Description                 : pgAgent is a job scheduling engine 
for PostgreSQL
--   Version                     : 4.0.0
-- 
--   PostgreSQL version string   : PostgreSQL 10.6
--   PostgreSQL version parts    : 10
--   PostgreSQL path             : /appli/11.4.4.4.0-20181220-10.6
--   PostgreSQL config binary    : 
/appli/11.4.4.4.0-20181220-10.6/bin/pg_config
--   PostgreSQL include path     : /appli/11.4.4.4.0-20181220-10.6/include
--   PostgreSQL library path     : /appli/11.4.4.4.0-20181220-10.6/lib
--   PostgreSQL share path       : 
/appli/11.4.4.4.0-20181220-10.6/share/postgresql
-- 
--   Boost version               : 1.69.0
--   Boost path                  : /tmp/build/boost_1_69_0
--   Boost include directory     : /tmp/build/boost_1_69_0
--   Boost library directory     : /tmp/build/boost_1_69_0/stage/lib
--   Boost Static linking        : NO
-- 
================================================================================
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/build/pgAgent-4.0.0-Source
[ 11%] Built target run
[ 22%] Building CXX object CMakeFiles/pgagent.dir/connection.cpp.o
In file included from 
/tmp/build/boost_1_69_0/boost/thread/detail/platform.hpp:17:0,
                  from /tmp/build/boost_1_69_0/boost/thread/mutex.hpp:12,
                  from /tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:22,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/config/requires_threads.hpp:47:5: error: 
#error "Compiler threading support is not turned on. Please set the 
correct command line options for threading: -pthread (Linux), -pthreads 
(Solaris) or -mthreads (Mingw32)"
  #   error "Compiler threading support is not turned on. Please set the 
correct command line options for threading: -pthread (Linux), -pthreads 
(Solaris) or -mthreads (Mingw32)"
      ^~~~~
In file included from /tmp/build/boost_1_69_0/boost/thread/mutex.hpp:12:0,
                  from /tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:22,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/thread/detail/platform.hpp:71:9: error: 
#error "Sorry, no boost threads are available for this platform."
  #       error "Sorry, no boost threads are available for this platform."
          ^~~~~
In file included from 
/tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:22:0,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/thread/mutex.hpp:18:2: error: #error 
"Boost threads unavailable on this platform"
  #error "Boost threads unavailable on this platform"
   ^~~~~
In file included from /tmp/build/boost_1_69_0/boost/thread/thread.hpp:12:0,
                  from /tmp/build/boost_1_69_0/boost/thread.hpp:13,
                  from /tmp/build/pgAgent-4.0.0-Source/include/job.h:16,
                  from /tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:37,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/thread/thread_only.hpp:19:2: error: #error 
"Boost threads unavailable on this platform"
  #error "Boost threads unavailable on this platform"
   ^~~~~
In file included from 
/tmp/build/boost_1_69_0/boost/thread/detail/thread.hpp:21:0,
                  from 
/tmp/build/boost_1_69_0/boost/thread/thread_only.hpp:22,
                  from /tmp/build/boost_1_69_0/boost/thread/thread.hpp:12,
                  from /tmp/build/boost_1_69_0/boost/thread.hpp:13,
                  from /tmp/build/pgAgent-4.0.0-Source/include/job.h:16,
                  from /tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:37,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/thread/detail/thread_heap_alloc.hpp:19:2: 
error: #error "Boost threads unavailable on this platform"
  #error "Boost threads unavailable on this platform"
   ^~~~~
In file included from 
/tmp/build/boost_1_69_0/boost/thread/thread_only.hpp:26:0,
                  from /tmp/build/boost_1_69_0/boost/thread/thread.hpp:12,
                  from /tmp/build/boost_1_69_0/boost/thread.hpp:13,
                  from /tmp/build/pgAgent-4.0.0-Source/include/job.h:16,
                  from /tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:37,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/thread/condition_variable.hpp:18:2: error: 
#error "Boost threads unavailable on this platform"
  #error "Boost threads unavailable on this platform"
   ^~~~~
In file included from 
/tmp/build/boost_1_69_0/boost/thread/detail/thread_group.hpp:10:0,
                  from /tmp/build/boost_1_69_0/boost/thread/thread.hpp:13,
                  from /tmp/build/boost_1_69_0/boost/thread.hpp:13,
                  from /tmp/build/pgAgent-4.0.0-Source/include/job.h:16,
                  from /tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:37,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/thread/shared_mutex.hpp:31:2: error: 
#error "Boost threads unavailable on this platform"
  #error "Boost threads unavailable on this platform"
   ^~~~~
In file included from /tmp/build/boost_1_69_0/boost/thread.hpp:17:0,
                  from /tmp/build/pgAgent-4.0.0-Source/include/job.h:16,
                  from /tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:37,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/thread/once.hpp:31:2: error: #error "Boost 
threads unavailable on this platform"
  #error "Boost threads unavailable on this platform"
   ^~~~~
In file included from /tmp/build/boost_1_69_0/boost/thread.hpp:18:0,
                  from /tmp/build/pgAgent-4.0.0-Source/include/job.h:16,
                  from /tmp/build/pgAgent-4.0.0-Source/include/pgAgent.h:37,
                  from /tmp/build/pgAgent-4.0.0-Source/connection.cpp:12:
/tmp/build/boost_1_69_0/boost/thread/recursive_mutex.hpp:18:2: error: 
#error "Boost threads unavailable on this platform"
  #error "Boost threads unavailable on this platform"
   ^~~~~
I have no idea why the boost headers won't find the availability of 
threads as it has built fine with pthread :
$ ldd /tmp/build/boost_1_69_0/stage/lib/libboost_system.so.1.69.0
         libstdc++.so.6 =>        /usr/lib/64/libstdc++.so.6
         libm.so.2 =>     /lib/64/libm.so.2
         librt.so.1 =>    /lib/64/librt.so.1
         libgcc_s.so.1 =>         /usr/lib/64/libgcc_s.so.1
         libpthread.so.1 =>       /lib/64/libpthread.so.1
         libc.so.1 =>     /lib/64/libc.so.1
Can anybody help me ?
Best regards
--
Eric

Ce message électronique et tous les fichiers attachés qu'il contient sont confidentiels et destinés exclusivement à l'usage de la personne à laquelle ils sont adressés. Si vous avez reçu ce message par erreur, merci de le retourner à son émetteur. La publication, l'usage, la distribution, l'impression ou la copie non autorisée de ce message et des attachements qu'il contient sont strictement interdits.

En cas d'urgence, composez le 17 ou le 112.
Afin de contribuer au respect de l'environnement, merci de n'imprimer cet e-mail qu'en cas de necessite.

This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual to whom it is addressed. If you have received this email in error please send it back to the person that sent it to you. Unauthorized publication, use, dissemination, forwarding, printing or copying of this email and its associated attachments is strictly prohibited.

In case of emergency, dial number 17 or 112.
To contribute to the environmental protection, please print this e-mail only if necessary.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net