[filesystem] operations_posix_windows missing std

I am getting the following errors when trying to link the simple_ls example using SunStudio11 and 12: Undefined first referenced symbol in file std::allocator<char>::~allocator() /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(operations_posix_windows.o) std::string::basic_string() /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(operations_posix_windows.o) int std::string::_M_compare(const char*,const char*,const char*,const char*) /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o) int std::char_traits<char>::compare(const char*,const char*,unsigned long) /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o) std::string::basic_string(std::_String_reserve_t,unsigned long,const std::allocator<char>&) /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o) std::string &std::string::append<const char*>(__type_3,__type_3) /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o) ld: fatal: Symbol referencing errors. No output written to simple_ls The related lines in my Makefile are the following: CC -o simple_ls simple_ls.o -features=tmplife -features=tmplrefstatic -xarch=generic64 -L/usr/local/lib/sparcv9 -L/rdo/home/fsleeman/boost_1_32_0-install/lib -lCstd -lboost_filesystem-sw-mt-d CC -xarch=generic64 -I/rdo/home/fsleeman/boost_1_32_0-install/include/boost-1_32 -I/usr/local/include -c simple_ls.cpp Are some other options I am missing? I have had no trouble getting this to compile under g++. -Ford Sleeman NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org

On 08/10/2007, William SleemanIV <wsleemaniv@mcvh-vcu.edu> wrote:
I am getting the following errors when trying to link the simple_ls example using SunStudio11 and 12:
Undefined first referenced symbol in file std::allocator<char>::~allocator() /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(operations_posix_windows.o)
std::string::basic_string() /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(operations_posix_windows.o)
int std::string::_M_compare(const char*,const char*,const char*,const char*) /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o)
int std::char_traits<char>::compare(const char*,const char*,unsigned long) /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o)
std::string::basic_string(std::_String_reserve_t,unsigned long,const std::allocator<char>&) /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o)
std::string &std::string::append<const char*>(__type_3,__type_3) /rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o)
ld: fatal: Symbol referencing errors. No output written to simple_ls
The related lines in my Makefile are the following: CC -o simple_ls simple_ls.o -features=tmplife -features=tmplrefstatic -xarch=generic64 -L/usr/local/lib/sparcv9 -L/rdo/home/fsleeman/boost_1_32_0-install/lib -lCstd -lboost_filesystem-sw-mt-d
CC -xarch=generic64 -I/rdo/home/fsleeman/boost_1_32_0-install/include/boost-1_32 -I/usr/local/include -c simple_ls.cpp
Are some other options I am missing? I have had no trouble getting this to compile under g++.
Try adding "-library=stlport4" to compiler and linker options.
-Ford Sleeman
-- regards, Prashant Thakre

I added the -library=stlport4 option to the compile and link lines but got these linker warnings: ld: warning: symbol `std::moneypunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x70; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x60); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken ld: warning: symbol `std::numpunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x50; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x40); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken (There were a lot more warning just like these) When I try to run the simple_ls program I get a seg fault. -Ford Sleeman -----boost-bounces@lists.boost.org wrote: ----- To: boost@lists.boost.org From: "Prashant Thakre" <prashant.thakre@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/09/2007 02:27AM Subject: Re: [boost] [filesystem] operations_posix_windows missing std On 08/10/2007, William SleemanIV <wsleemaniv@mcvh-vcu.edu> wrote:
I am getting the following errors when trying to link the simple_ls
example
using SunStudio11 and 12:
Undefined first referenced symbol in file std::allocator<char>::~allocator()
/rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(operations_posix_windows.o)
std::string::basic_string()
/rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(operations_posix_windows.o)
int std::string::_M_compare(const char*,const char*,const char*,const char*)
/rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o)
int std::char_traits<char>::compare(const char*,const char*,unsigned
long)
/rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o)
std::string::basic_string(std::_String_reserve_t,unsigned long,const std::allocator<char>&)
/rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o)
std::string &std::string::append<const char*>(__type_3,__type_3)
/rdo/home/fsleeman/boost_1_32_0-install/lib/libboost_filesystem-sw-mt-d.a(path_posix_windows.o)
ld: fatal: Symbol referencing errors. No output written to simple_ls
The related lines in my Makefile are the following: CC -o simple_ls simple_ls.o -features=tmplife -features=tmplrefstatic -xarch=generic64 -L/usr/local/lib/sparcv9 -L/rdo/home/fsleeman/boost_1_32_0-install/lib -lCstd -lboost_filesystem-sw-mt-d
CC -xarch=generic64 -I/rdo/home/fsleeman/boost_1_32_0-install/include/boost-1_32 -I/usr/local/include -c simple_ls.cpp
Are some other options I am missing? I have had no trouble getting this
to
compile under g++.
Try adding "-library=stlport4" to compiler and linker options.
-Ford Sleeman
-- regards, Prashant Thakre _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org

On 09/10/2007, William SleemanIV <wsleemaniv@mcvh-vcu.edu> wrote:
I added the -library=stlport4 option to the compile and link lines but got these linker warnings:
ld: warning: symbol `std::moneypunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x70; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x60); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken ld: warning: symbol `std::numpunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x50; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x40); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken
Can you check if "-library=stlport4" was used while building boost libraries. http://blogs.sun.com/sga/ has instructions to build boost on Solaris with Studio 11/12.
(There were a lot more warning just like these)
When I try to run the simple_ls program I get a seg fault.
-Ford Sleeman
-- regards, Prashant Thakre

I decided to try again from scratch now that I have posted to the list. Starting with a fresh copy of 1.34.1, I went to the website with the Sun build instructions. Bjam and boost built without any problems but I get this error when linking the simple_ls example to the boost library: Undefined first referenced symbol in file std::ios_base::_Loc_init::_Loc_init() /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o) std::__Named_exception::__Named_exception #Nvariant 1(const std::string &) /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o) const char*std::__Named_exception::what()const /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o) void std::_String_base<char,std::allocator<char>
::_M_throw_out_of_range()const /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string &std::string::_M_assign_dispatch<char*>(__type_3,__type_3,const std::__false_type&) /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o) std::allocator<char>::~allocator() /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o) std::string::basic_string() /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o) std::ios_base::_Loc_init::~_Loc_init() /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o) void std::__node_alloc<true,0>::_M_deallocate(void*,unsigned) /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o) ld: fatal: Symbol referencing errors. No output written to simple_ls make: *** [simple] Error 1 The simple_ls example was built with the command: CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c simple_ls.cpp CC -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib -lboost_filesystem-sw And boost was built using this command: ./tools/jam/src/bin.solaris/bjam toolset=sun stdlib=sun-stlport -libary=stlport4 stage Are those the correct parameters? Thanks, Ford Sleeman -----boost-bounces@lists.boost.org wrote: ----- To: boost@lists.boost.org From: "Prashant Thakre" <prashant.thakre@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/09/2007 12:47PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std On 09/10/2007, William SleemanIV <wsleemaniv@mcvh-vcu.edu> wrote:
I added the -library=stlport4 option to the compile and link lines but got these linker warnings:
ld: warning: symbol `std::moneypunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x70; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x60); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken ld: warning: symbol `std::numpunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x50; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x40); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken
Can you check if "-library=stlport4" was used while building boost libraries. http://blogs.sun.com/sga/ has instructions to build boost on Solaris with Studio 11/12.
(There were a lot more warning just like these)
When I try to run the simple_ls program I get a seg fault.
-Ford Sleeman
-- regards, Prashant Thakre _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org

You should use -libary=stlport4 when you compile your example too. Try: CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c -libary=stlport4 simple_ls.cpp CC -libary=stlport4 -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib -lboost_filesystem-sw 2007/10/12, William SleemanIV <wsleemaniv@mcvh-vcu.edu>:
I decided to try again from scratch now that I have posted to the list. Starting with a fresh copy of 1.34.1, I went to the website with the Sun build instructions. Bjam and boost built without any problems but I get this error when linking the simple_ls example to the boost library:
Undefined first referenced symbol in file std::ios_base::_Loc_init::_Loc_init() /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::__Named_exception::__Named_exception #Nvariant 1(const std::string &) /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
const char*std::__Named_exception::what()const /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
void std::_String_base<char,std::allocator<char>
::_M_throw_out_of_range()const /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string &std::string::_M_assign_dispatch<char*>(__type_3,__type_3,const std::__false_type&) /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::allocator<char>::~allocator() /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string::basic_string() /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::ios_base::_Loc_init::~_Loc_init() /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
void std::__node_alloc<true,0>::_M_deallocate(void*,unsigned) /rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
ld: fatal: Symbol referencing errors. No output written to simple_ls make: *** [simple] Error 1
The simple_ls example was built with the command:
CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c simple_ls.cpp CC -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib -lboost_filesystem-sw
And boost was built using this command:
./tools/jam/src/bin.solaris/bjam toolset=sun stdlib=sun-stlport -libary=stlport4 stage
Are those the correct parameters?
Thanks, Ford Sleeman
-----boost-bounces@lists.boost.org wrote: -----
To: boost@lists.boost.org From: "Prashant Thakre" <prashant.thakre@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/09/2007 12:47PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std
On 09/10/2007, William SleemanIV <wsleemaniv@mcvh-vcu.edu> wrote:
I added the -library=stlport4 option to the compile and link lines but got these linker warnings:
ld: warning: symbol `std::moneypunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x70; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x60); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken ld: warning: symbol `std::numpunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x50; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x40); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken
Can you check if "-library=stlport4" was used while building boost libraries.
http://blogs.sun.com/sga/ has instructions to build boost on Solaris with Studio 11/12.
(There were a lot more warning just like these)
When I try to run the simple_ls program I get a seg fault.
-Ford Sleeman
-- regards, Prashant Thakre _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Simon Atanasyan

Thanks for the suggestion. The code compiles fine, but I get this linking error when using a Makefile: CC: Warning: Extra argument for -o starts with '-' ld: fatal: file simple_ls: open failed: No such file or directory ld: fatal: File processing errors. No output written to -libary=stlport4 When I copied and pasted your two lines to my shell, I got this linking error instead: ld: fatal: library -lstlport4: not found ld: fatal: File processing errors. No output written to simple_ls -Ford Sleeman -----boost-bounces@lists.boost.org wrote: ----- To: boost@lists.boost.org From: "Simon Atanasyan" <atanasyan@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/11/2007 04:31PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std You should use -libary=stlport4 when you compile your example too. Try: CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c -libary=stlport4 simple_ls.cpp CC -libary=stlport4 -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib -lboost_filesystem-sw 2007/10/12, William SleemanIV <wsleemaniv@mcvh-vcu.edu>:
I decided to try again from scratch now that I have posted to the list. Starting with a fresh copy of 1.34.1, I went to the website with the Sun build instructions. Bjam and boost built without any problems but I get this error when linking the simple_ls example to the boost library:
Undefined first referenced symbol in file std::ios_base::_Loc_init::_Loc_init()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::__Named_exception::__Named_exception #Nvariant 1(const std::string
&)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
const char*std::__Named_exception::what()const
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
void std::_String_base<char,std::allocator<char>
::_M_throw_out_of_range()const
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string
&std::string::_M_assign_dispatch<char*>(__type_3,__type_3,const
std::__false_type&)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::allocator<char>::~allocator()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string::basic_string()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::ios_base::_Loc_init::~_Loc_init()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
void std::__node_alloc<true,0>::_M_deallocate(void*,unsigned)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
ld: fatal: Symbol referencing errors. No output written to simple_ls make: *** [simple] Error 1
The simple_ls example was built with the command:
CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c simple_ls.cpp CC -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib -lboost_filesystem-sw
And boost was built using this command:
./tools/jam/src/bin.solaris/bjam toolset=sun stdlib=sun-stlport -libary=stlport4 stage
Are those the correct parameters?
Thanks, Ford Sleeman
-----boost-bounces@lists.boost.org wrote: -----
To: boost@lists.boost.org From: "Prashant Thakre" <prashant.thakre@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/09/2007 12:47PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std
On 09/10/2007, William SleemanIV <wsleemaniv@mcvh-vcu.edu> wrote:
I added the -library=stlport4 option to the compile and link lines but got these linker warnings:
ld: warning: symbol `std::moneypunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x70;
file
/opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x60); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken ld: warning: symbol `std::numpunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x50;
file
/opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x40); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken
Can you check if "-library=stlport4" was used while building boost libraries.
http://blogs.sun.com/sga/ has instructions to build boost on Solaris with Studio 11/12.
(There were a lot more warning just like these)
When I try to run the simple_ls program I get a seg fault.
-Ford Sleeman
-- regards, Prashant Thakre _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Simon Atanasyan _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org

I made a typo. Correct switch is -library=stlport4 2007/10/12, William SleemanIV <wsleemaniv@mcvh-vcu.edu>:
Thanks for the suggestion. The code compiles fine, but I get this linking error when using a Makefile:
CC: Warning: Extra argument for -o starts with '-' ld: fatal: file simple_ls: open failed: No such file or directory ld: fatal: File processing errors. No output written to -libary=stlport4
When I copied and pasted your two lines to my shell, I got this linking error instead: ld: fatal: library -lstlport4: not found ld: fatal: File processing errors. No output written to simple_ls
-Ford Sleeman
-----boost-bounces@lists.boost.org wrote: -----
To: boost@lists.boost.org From: "Simon Atanasyan" <atanasyan@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/11/2007 04:31PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std
You should use -libary=stlport4 when you compile your example too. Try: CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c -libary=stlport4 simple_ls.cpp CC -libary=stlport4 -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib -lboost_filesystem-sw
2007/10/12, William SleemanIV <wsleemaniv@mcvh-vcu.edu>:
I decided to try again from scratch now that I have posted to the list. Starting with a fresh copy of 1.34.1, I went to the website with the Sun build instructions. Bjam and boost built without any problems but I get this error when linking the simple_ls example to the boost library:
Undefined first referenced symbol in file std::ios_base::_Loc_init::_Loc_init()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::__Named_exception::__Named_exception #Nvariant 1(const std::string
&)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
const char*std::__Named_exception::what()const
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
void std::_String_base<char,std::allocator<char>
::_M_throw_out_of_range()const
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string
&std::string::_M_assign_dispatch<char*>(__type_3,__type_3,const
std::__false_type&)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::allocator<char>::~allocator()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string::basic_string()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::ios_base::_Loc_init::~_Loc_init()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
void std::__node_alloc<true,0>::_M_deallocate(void*,unsigned)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
ld: fatal: Symbol referencing errors. No output written to simple_ls make: *** [simple] Error 1
The simple_ls example was built with the command:
CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c simple_ls.cpp CC -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib -lboost_filesystem-sw
And boost was built using this command:
./tools/jam/src/bin.solaris/bjam toolset=sun stdlib=sun-stlport -libary=stlport4 stage
Are those the correct parameters?
Thanks, Ford Sleeman
-----boost-bounces@lists.boost.org wrote: -----
To: boost@lists.boost.org From: "Prashant Thakre" <prashant.thakre@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/09/2007 12:47PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std
On 09/10/2007, William SleemanIV <wsleemaniv@mcvh-vcu.edu> wrote:
I added the -library=stlport4 option to the compile and link lines but got these linker warnings:
ld: warning: symbol `std::moneypunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x70;
file
/opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x60); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken ld: warning: symbol `std::numpunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x50;
file
/opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x40); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken
Can you check if "-library=stlport4" was used while building boost libraries.
http://blogs.sun.com/sga/ has instructions to build boost on Solaris with Studio 11/12.
(There were a lot more warning just like these)
When I try to run the simple_ls program I get a seg fault.
-Ford Sleeman
-- regards, Prashant Thakre _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Simon Atanasyan _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Simon Atanasyan

Adding the -library=stlport4 did work for building the 32-bit libraries. I tried to build boost in 64-bit mode but still got 32-bit libraries. I used the following command as suggested on the "C++ Frontend Tales" website: bjam toolset=sun stdlib=sun-stlport address-model=64 -library=stlport4 stage The other command string I found gives the warning that toolset was not detected and will be reverted to gcc. bjam "-sBUILD=<threading>multi <runtime-link>dynamic <instruction-set>v9" "-sTOOLS=sunpro" -sSUNPRO_CXX="CC -xtarget=native64 -xarch=v9 -xcode=abs64" If I am not mistaken, that syntax looks like the old v1 format. What is the correct way to specify the 64-bit parameters for the v2 build system used by 1.34.1? Thanks, Ford Sleeman -----boost-bounces@lists.boost.org wrote: ----- To: boost@lists.boost.org From: "Simon Atanasyan" <atanasyan@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/11/2007 04:52PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std I made a typo. Correct switch is -library=stlport4 2007/10/12, William SleemanIV <wsleemaniv@mcvh-vcu.edu>:
Thanks for the suggestion. The code compiles fine, but I get this linking error when using a Makefile:
CC: Warning: Extra argument for -o starts with '-' ld: fatal: file simple_ls: open failed: No such file or directory ld: fatal: File processing errors. No output written to -libary=stlport4
When I copied and pasted your two lines to my shell, I got this linking error instead: ld: fatal: library -lstlport4: not found ld: fatal: File processing errors. No output written to simple_ls
-Ford Sleeman
-----boost-bounces@lists.boost.org wrote: -----
To: boost@lists.boost.org From: "Simon Atanasyan" <atanasyan@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/11/2007 04:31PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std
You should use -libary=stlport4 when you compile your example too. Try: CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c -libary=stlport4 simple_ls.cpp CC -libary=stlport4 -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib -lboost_filesystem-sw
2007/10/12, William SleemanIV <wsleemaniv@mcvh-vcu.edu>:
I decided to try again from scratch now that I have posted to the list. Starting with a fresh copy of 1.34.1, I went to the website with the Sun build instructions. Bjam and boost built without any problems but I get this error when linking the simple_ls example to the boost library:
Undefined first referenced symbol in file std::ios_base::_Loc_init::_Loc_init()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::__Named_exception::__Named_exception #Nvariant 1(const std::string
&)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
const char*std::__Named_exception::what()const
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
void std::_String_base<char,std::allocator<char>
::_M_throw_out_of_range()const
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string
&std::string::_M_assign_dispatch<char*>(__type_3,__type_3,const
std::__false_type&)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::allocator<char>::~allocator()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::string::basic_string()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
std::ios_base::_Loc_init::~_Loc_init()
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
void std::__node_alloc<true,0>::_M_deallocate(void*,unsigned)
/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib/libboost_filesystem-sw.a(operations.o)
ld: fatal: Symbol referencing errors. No output written to simple_ls make: *** [simple] Error 1
The simple_ls example was built with the command:
CC -I/rdo/home/fsleeman/boost/boost_1_34_1 -c simple_ls.cpp CC -o simple_ls simple_ls.o -L/rdo/home/fsleeman/boost/boost_1_34_1/stage/lib
-lboost_filesystem-sw
And boost was built using this command:
./tools/jam/src/bin.solaris/bjam toolset=sun stdlib=sun-stlport -libary=stlport4 stage
Are those the correct parameters?
Thanks, Ford Sleeman
-----boost-bounces@lists.boost.org wrote: -----
To: boost@lists.boost.org From: "Prashant Thakre" <prashant.thakre@gmail.com> Sent by: boost-bounces@lists.boost.org Date: 10/09/2007 12:47PM Subject: Re: [boost] [filesystem] operations_posix_windows missing std
On 09/10/2007, William SleemanIV <wsleemaniv@mcvh-vcu.edu> wrote:
I added the -library=stlport4 option to the compile and link lines
but
got
these linker warnings:
ld: warning: symbol `std::moneypunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x70; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x60); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken ld: warning: symbol `std::numpunct::__vtbl' has differing sizes: (file /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so value=0x50; file /opt/SunStudio11/SUNWspro/lib/stlport4/v9/libstlport.so value=0x40); /opt/SunStudio11/SUNWspro/lib/v9/libCstd.so definition taken
Can you check if "-library=stlport4" was used while building boost libraries.
http://blogs.sun.com/sga/ has instructions to build boost on Solaris with Studio 11/12.
(There were a lot more warning just like these)
When I try to run the simple_ls program I get a seg fault.
-Ford Sleeman
-- regards, Prashant Thakre _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Simon Atanasyan _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Simon Atanasyan _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org

William SleemanIV wrote:
Adding the -library=stlport4 did work for building the 32-bit libraries. I tried to build boost in 64-bit mode but still got 32-bit libraries. I used the following command as suggested on the "C++ Frontend Tales" website:
bjam toolset=sun stdlib=sun-stlport address-model=64 -library=stlport4 stage
This one is correct. However I think "C++ Frontend Tales" tells you to add some lines to sun.jam. Did you do that? For the record, the ticket for that is: http://svn.boost.org/trac/boost/ticket/1186 which is closed in SVN head, with those commits: http://svn.boost.org/trac/boost/changeset/38872 http://svn.boost.org/trac/boost/changeset/38919 - Volodya

Yes, I did add those three lines to my sun.jam file. Since I am using SunStudio 11 should I change flags sun OPTIONS <architecture>/<address-model>32 : -m32 ; flags sun OPTIONS <architecture>/<address-model>64 : -m64 ; to flags sun OPTIONS <address-model>32 : -xarch=generic32 ; flags sun OPTIONS <address-model>64 : -xarch=generic64 ; Thanks, Ford Sleeman NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org

2007/10/12, William SleemanIV <wsleemaniv@mcvh-vcu.edu>:
Yes, I did add those three lines to my sun.jam file. Since I am using SunStudio 11 should I change
flags sun OPTIONS <architecture>/<address-model>32 : -m32 ; flags sun OPTIONS <architecture>/<address-model>64 : -m64 ;
to
flags sun OPTIONS <address-model>32 : -xarch=generic32 ; flags sun OPTIONS <address-model>64 : -xarch=generic64 ;
1. Why do you skip "<architecture>"? 2. I compiled Boost by Sun Studio 11 using: flags sun OPTIONS <architecture>/<address-model>32 : -xarch=generic32 ; flags sun OPTIONS <architecture>/<address-model>64 : -xarch=generic64 ; and bjam toolset=sun stdlib=sun-stlport address-model=64 stage After that I run ldd on some Boost dynamic libraries. They use v9 version of Sun libraries. So compilation for 64-bit mode works good. -- Simon Atanasyan

Thanks for your help, using flags sun OPTIONS <architecture>/<address-model>32 : -xarch=generic32 ; flags sun OPTIONS <architecture>/<address-model>64 : -xarch=generic64 ; got me the 64-bit libraries. Ford Sleeman NOTE: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. -------------------------------------- VCU Health System http://www.vcuhealth.org
participants (4)
-
Prashant Thakre
-
Simon Atanasyan
-
Vladimir Prus
-
William SleemanIV