boost

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
boost [2008/07/03 18:23] – créée gerardboost [2017/08/25 09:56] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== install par SFE ======
 +<code>
 +nemo-henry% pkgchk -v SFEboost
 +NOTE: Couldn't lock the package database.
 +/usr/lib
 +/usr/lib/libboost_date_time-mt.so
 +/usr/lib/libboost_date_time-mt.so.1.34.1
 +/usr/lib/libboost_date_time.so
 +/usr/lib/libboost_date_time.so.1.34.1
 +/usr/lib/libboost_filesystem-mt.so
 +/usr/lib/libboost_filesystem-mt.so.1.34.1
 +/usr/lib/libboost_filesystem.so
 +/usr/lib/libboost_filesystem.so.1.34.1
 +/usr/lib/libboost_graph-mt.so
 +/usr/lib/libboost_graph-mt.so.1.34.1
 +/usr/lib/libboost_graph.so
 +/usr/lib/libboost_graph.so.1.34.1
 +/usr/lib/libboost_iostreams-mt.so
 +/usr/lib/libboost_iostreams-mt.so.1.34.1
 +/usr/lib/libboost_iostreams.so
 +/usr/lib/libboost_iostreams.so.1.34.1
 +/usr/lib/libboost_prg_exec_monitor-mt.so
 +/usr/lib/libboost_prg_exec_monitor-mt.so.1.34.1
 +/usr/lib/libboost_prg_exec_monitor.so
 +/usr/lib/libboost_prg_exec_monitor.so.1.34.1
 +/usr/lib/libboost_program_options-mt.so
 +/usr/lib/libboost_program_options-mt.so.1.34.1
 +/usr/lib/libboost_program_options.so
 +/usr/lib/libboost_program_options.so.1.34.1
 +/usr/lib/libboost_python-mt.so
 +/usr/lib/libboost_python-mt.so.1.34.1
 +/usr/lib/libboost_python.so
 +/usr/lib/libboost_python.so.1.34.1
 +/usr/lib/libboost_regex-mt.so
 +/usr/lib/libboost_regex-mt.so.1.34.1
 +/usr/lib/libboost_regex.so
 +/usr/lib/libboost_regex.so.1.34.1
 +/usr/lib/libboost_serialization-mt.so
 +/usr/lib/libboost_serialization-mt.so.1.34.1
 +/usr/lib/libboost_serialization.so
 +/usr/lib/libboost_serialization.so.1.34.1
 +/usr/lib/libboost_signals-mt.so
 +/usr/lib/libboost_signals-mt.so.1.34.1
 +/usr/lib/libboost_signals.so
 +/usr/lib/libboost_signals.so.1.34.1
 +/usr/lib/libboost_thread-mt.so
 +/usr/lib/libboost_thread-mt.so.1.34.1
 +/usr/lib/libboost_unit_test_framework-mt.so
 +/usr/lib/libboost_unit_test_framework-mt.so.1.34.1
 +/usr/lib/libboost_unit_test_framework.so
 +/usr/lib/libboost_unit_test_framework.so.1.34.1
 +/usr/lib/libboost_wave-mt.so
 +/usr/lib/libboost_wave-mt.so.1.34.1
 +/usr/lib/libboost_wave.so
 +/usr/lib/libboost_wave.so.1.34.1
 +/usr/lib/libboost_wserialization-mt.so
 +/usr/lib/libboost_wserialization-mt.so.1.34.1
 +/usr/lib/libboost_wserialization.so
 +/usr/lib/libboost_wserialization.so.1.34.1
 +</code>
 +
 ====== Compilation ====== ====== Compilation ======
 +===== Sun Studio 12 =====
 +
 archive boost_1_34_1 dans /local/apps/src archive boost_1_34_1 dans /local/apps/src
 \\ \\
Ligne 6: Ligne 69:
 > module load ss12 > module load ss12
 > setenv PATH ${PATH}:/usr/ccs/bin (à cause de ld) > setenv PATH ${PATH}:/usr/ccs/bin (à cause de ld)
 +> setenv BOOST_JAM_TOOLSET_ROOT /opt/studio12/SUNWspro/
 > cd tools/jam/src/ > cd tools/jam/src/
-> ./build.sh sunpro | & tee BUIL.LOG+> ./build.sh sunpro | & tee BUILD.LOG
 </code> </code>
 Pas sur qu'il faille faire la ligne suivante?: Pas sur qu'il faille faire la ligne suivante?:
Ligne 26: Ligne 90:
 ### ###
 </code> </code>
-il y a donc des options qui ont changées...+il y a donc des options qui ont changées... [[http://blogs.sun.com/sga/entry/how_to_build_boost_1|voir]]
 <code> <code>
-> find . -name sun.jam +bjam --toolset=sun stdlib=sun-stlport -j2 -d2 stage | & tee BJAM.LOG
-./tools/build/v2/tools/sun.jam +
-bjam --toolset=sun -j2 -d2 stage | & tee BJAM.LOG+
 </code> </code>
 +
 +environ 2 heures de compil!
 +
 +
 +
 +===== Tests =====
 +avec l'[[http://www.boost.org/doc/libs/1_34_1/more/getting_started/unix-variants.html#get-boost|exemple]] donné sur le site de boost:
 +<code>
 +nemo-henry% CC -I /local/apps/src/boost_1_34_1 example2.cpp -o example2 -library=stlport4 -R /local/apps/src/boost_1_34_1/stage/lib -L /local/apps/src/boost_1_34_1/stage/lib -lboost_regex-sw-mt-d
 +</code>
 +:!: Ne pas oublier **-library=stlport4**
 +puis:
 +<code>
 +nemo-henry% ldd example2
 +  libboost_regex-sw-mt-d-1_34_1.so.1.34.1 =>     /local/apps/src/boost_1_34_1/stage/lib/libboost_regex-sw-mt-d-1_34_1.so.1.34.1
 +  libstlport.so.1 =>  /opt/studio12/SUNWspro/lib/stlport4/libstlport.so.1
 +  librt.so.1 =>  /lib/librt.so.1
 +  libCrun.so.1 =>  /usr/lib/libCrun.so.1
 +  libm.so.2 =>   /lib/libm.so.2
 +  libc.so.1 =>   /lib/libc.so.1
 +  libm.so.1 =>   /lib/libm.so.1
 +  libaio.so.1 =>  /lib/libaio.so.1
 +  libmd.so.1 =>  /lib/libmd.so.1
 +
 +nemo-henry% ./example2 < jayne.txt                                              
 +Will Success Spoil Rock Hunter?
 +
 +</code>
 +
 +
 +
 +
 +===== Gcc =====
 +  * il faut python > 2.3, donc mettre /usr/bin avant /usr/sfw/bin dans le PATH
 +  * il faut utiliser le linker gnu et pas celui de Sun [[http://forum.java.sun.com/thread.jspa?threadID=5274977&messageID=10290697|boost install with python]] et [[http://www.pion.org/files/pion-net/common/doc/README.solaris|Building Boost with ASIO:]]
 +
 +<code>
 +> pwd
 +/local/apps/src/gnu/boost_1_34_1
 +> setenv PATH /usr/bin:/usr/sfw/bin:/opt/csw/gnu:/usr/local/wrapper/bin:.
 +> ./configure --prefix=/local/apps/gnu/32/boost_1_34_1
 +> vi user-config.jam
 +> make install | & tee INSTALL.LOG
 +
 +</code>
 +
 +Ensuite, on teste l'exemple:
 +<code>
 +nemo-henry% g++ -I/local/apps/gnu/32/boost_1_34_1/include/boost-1_34_1 example2.cpp -g -o example2 /local/apps/gnu/32/boost_1_34_1/lib/libboost_regex-gcc34-mt-d-1_34_1.a
 +nemo-henry% ./example2 < jayne.txt                                              
 +Will Success Spoil Rock Hunter?
 +</code>
 +
 +Dans le INSTALL.LOG, on voit que certaines cibles ne sont pas compilées:
 +<code>
 +...failed updating 176 targets...
 +...skipped 32 targets...
 +...updated 5600 targets...
 +Not all Boost libraries built properly.
 +</code>
 +par exemple:
 +<code>
 +gcc.compile.c++ bin.v2/libs/python/build/gcc-3.4.3/debug/threading-multi/numeric
 +.o
 +In file included from ./boost/python/object/make_instance.hpp:9,
 +                 from ./boost/python/object/make_ptr_instance.hpp:8,
 +                 from ./boost/python/to_python_indirect.hpp:11,
 +                 from ./boost/python/converter/arg_to_python.hpp:10,
 +                 from ./boost/python/call.hpp:15,
 +                 from ./boost/python/object_core.hpp:12,
 +                 from ./boost/python/object.hpp:9,
 +                 from ./boost/python/tuple.hpp:10,
 +                 from ./boost/python/numeric.hpp:10,
 +                 from libs/python/src/numeric.cpp:6:
 +./boost/python/object/instance.hpp:44: error: a casts to a type other than an integral or enumeration type cannot appear in a constant-expression
 +./boost/python/object/instance.hpp:44: error: '->' cannot appear in a constant-expression
 +./boost/python/object/instance.hpp:44: error: `&' cannot appear in a constant-expression
 +</code>
 +
 +FIXME le problème vient de python, ou de la version du compilateur?
 +
 +
 +====== boost 1_35_0 ======
 +<code>
 +> setenv PATH /opt/csw/gcc4/bin:/opt/csw/gnu:/usr/local/wrapper/bin:/usr/bin:.
 +> ./configure --prefix=/local/apps/gnu/32/boost_1_35_0                          -n Building Boost.Jam with toolset gcc... 
 +tools/jam/src/bin.solarisx86/bjam
 +-n Detecting Python version... 
 +2.5
 +-n Detecting Python root... 
 +/opt/csw
 +-n Unicode/ICU support for Boost.Regex?... 
 +/usr
 +Backing up existing Boost.Build configuration in user-config.jam.2
 +Generating Boost.Build configuration in user-config.jam...
 +Generating Makefile...
 +
 +> make install | & tee INSTALL.LOG
 +...
 +...failed updating 35 targets...
 +...skipped 36 targets...
 +...updated 5779 targets...
 +Not all Boost libraries built properly.
 +</code>
 +
 +cette fois ci, les erreurs sont de la forme:
 +<code>
 +gcc.link.dll bin.v2/libs/serialization/build/gcc-4.0.2/release/threading-multi/libboost_serialization-gcc40-mt-1_35.so.1.35.0
 +ld: fatal: relocation error: file: bin.v2/libs/serialization/build/gcc-4.0.2/release/threading-multi/xml_grammar.o section: .rel.eh_frame symbol: .LFB2185: symbol has been discarded with discarded section: .gnu.linkonce.t._ZN5boost6detail15sp_counted_base7destroyEv
 +collect2: ld returned 1 exit status
 </code> </code>
 +mais comme l'erreur concerne aussi libboost_regex-gcc40-mt-1_35.so.1.35.0, on ne peut pas tester l'exemple!
  • boost.1215102183.txt.gz
  • Dernière modification : 2017/08/25 09:55
  • (modification externe)