Bonjour � tous,
J'ai une incertitude concernant le fait de compiler BOOST sur une architecture SPARC.
Bien �videment, comme tout le monde le sait
l'architecture SPARC de SUN appartient � la famille des processeurs BIG INDIAN.
Alors, ma question est la suivante :
Es-ce que cela a un impact sur le code source ? et faut-il am�nager le code source en fonction de la famille sur laquelle on compile ?
Je n'arrive pas a link� mon programme avec libboost_regex-gcc-mt-1_33_1.so en version SPARC compil� avec cette ligne :
./configure --prefix=../temp/ --with-libraries=regex
ce qui me donne :
1 2 3 4 5 6
| -n Building Boost.Jam with toolset gcc...
tools/jam/src/bin.solarissparc/bjam
-n Unicode/ICU support for Boost.Regex?...
not found.
Generating Boost.Build configuration in user-config.jam...
Generating Makefile... |
ici, on voit bien qu'il d�tecte bien l'environnement solaris/sparc.
le g++ qui est dans mon PATH est en version 3.4.6 et la compilation de boost_regex se passe bien. Il me g�n�re plein de .a et .so dont celle que j'ai mentionn� au dessus.
J'ai essay� �galement avec la version 1_38_0 de BOOST mais meme si il me g�n�re 3 fois moins de .so/.a cela abouti toujours aux m�mes erreurs..
Les erreurs :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
g++ -o appli main.o post.o -L../lib -lboost_regex-gcc34-mt-1_38
Undefined first referenced
symbol in file
std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pbackfail(long)../lib/libboost_regex-gcc34-mt-1_38.so
std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_destroy(std::allocator<wchar_t> const&)../lib/libboost_regex-gcc34-mt-1_38.so
std::locale::id::_M_id() const ../lib/libboost_regex-gcc34-mt-1_38.so
std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(unsigned int, wchar_t, std::allocator<wchar_t> const&)../lib/libboost_regex-gcc34-mt-1_38.so
std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::compare(wchar_t const*) const../lib/libboost_regex-gcc34-mt-1_38.so
...
...
...
....
std::_Rb_tree_decrement(std::_Rb_tree_node_base*)../lib/libboost_regex-gcc34-mt-1_38.so
std::basic_ios<wchar_t, std::char_traits<wchar_t> >::clear(std::_Ios_Iostate)../lib/libboost_regex-gcc34-mt-1_38.so
std::ctype<wchar_t> const& std::use_facet<std::ctype<wchar_t> >(std::locale const&)../lib/libboost_regex-gcc34-mt-1_38.so
ld: fatal: Symbol referencing errors. No output written to appli
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `appli' |
Mon application compile et fonctionne bien dans l'environnement WINDOWS XP/cygwin x86 avec la derni�re version de boost pr�compil� disponible (1_33_1) et �galement sous freeBSD boost (1_37_0) toujours x86.
Je pr�cise que je suis dans un environnement SOLARIS 5.8 et que je n'ai pas les droits d'install� des binaires pr�compil�s mais si vous me d�tes que c'est le seul moyen alors...
Voila, Merci par avance pour vos lumi�res.
Partager