[Bug 203465] g++ does not compile the program using the boost-libs
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Oct 1 09:38:36 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203465
Bug ID: 203465
Summary: g++ does not compile the program using the boost-libs
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: gerald at FreeBSD.org
Reporter: safonov.paul at gmail.com
Assignee: gerald at FreeBSD.org
Flags: maintainer-feedback?(gerald at FreeBSD.org)
Created attachment 161587
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=161587&action=edit
Full errors
After the upgrade FreeBSD9 to FreeBSD10 stopped compile g++ my program using
the boost-libs.
uname -a:
FreeBSD localhost 10.2-STABLE FreeBSD 10.2-STABLE #0: Thu Oct 1 15:16:11 KRAT
2015 root at localhost:/usr/obj/usr/src-10/sys/KERNEL amd64
Installed ports:
lang/gcc48
devel/boost-libs
cat t.cpp:
#include <iostream>
#include <boost/program_options.hpp>
#define SVCNAME "SVCNAME"
using namespace std;
namespace po = boost::program_options;
int
main (int argc, char *argv[])
{
std::string svc_name;
po::options_description desc ("Allowed options");
desc.add_options()
("help,h", "produce help message")
("name,n",
po::value<std::string> (&svc_name)->default_value(SVCNAME),
"service name")
;
try {
po::variables_map vm;
po::store (po::parse_command_line (argc, argv, desc), vm);
po::notify (vm);
if (vm.count ("help") || vm.count ("h")) {
std::cout << desc << std::endl;
return 1;
}
}
catch (std::exception &e) {
std::cout << desc << std::endl;
return 1;
}
return 0;
}
Сompile with clang++ without errors:
export CXX=clang++
$CXX -I/usr/local/include -o t t.cpp /usr/local/lib/libboost_program_options.a
When compiling using g++, get a lot of errors:
export CXX=g++48
$CXX -I/usr/local/include -o t t.cpp /usr/local/lib/libboost_program_options.a
/tmp//ccE0v9k9.o: In function `main':
t.cpp:(.text+0x92): undefined reference to
`boost::program_options::options_description::options_description(std::string
const&, unsigned int, unsigned int)'
t.cpp:(.text+0x307): undefined reference to
`boost::program_options::operator<<(std::ostream&,
boost::program_options::options_description const&)'
t.cpp:(.text+0x4ba): undefined reference to
`boost::program_options::operator<<(std::ostream&,
boost::program_options::options_description const&)'
/tmp//ccE0v9k9.o: In function
`boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int,
char const* const*)':
t.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x76):
undefined reference to
`boost::program_options::detail::cmdline::cmdline(std::vector<std::string,
std::allocator<std::string> > const&)'
/tmp//ccE0v9k9.o: In function
`boost::program_options::basic_command_line_parser<char>::extra_parser(boost::function1<std::pair<std::string,
std::string>, std::string const&>)':
t.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairISsSsERKSsEE[_ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairISsSsERKSsEE]+0x33):
undefined reference to
`boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::string,
std::string>, std::string const&>)'
/tmp//ccE0v9k9.o: In function `std::vector<std::string,
std::allocator<std::string> >
boost::program_options::to_internal<std::string>(std::vector<std::string,
std::allocator<std::string> > const&)':
t.cpp:(.text._ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE[_ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE]+0x46):
undefined reference to `boost::program_options::to_internal(std::string
const&)'
...
...
...
/usr/local/lib/libboost_program_options.a(utf8_codecvt_facet.o): In function
`boost::program_options::detail::utf8_codecvt_facet::~utf8_codecvt_facet()':
libs/program_options/src/utf8_codecvt_facet.cpp:(.text._ZN5boost15program_options6detail18utf8_codecvt_facetD0Ev[_ZN5boost15program_options6detail18utf8_codecvt_facetD0Ev]+0xb):
undefined reference to `std::__1::codecvt<wchar_t, char,
__mbstate_t>::~codecvt()'
/usr/local/lib/libboost_program_options.a(utf8_codecvt_facet.o):(.rodata+0x30):
undefined reference to `std::__1::codecvt<wchar_t, char,
__mbstate_t>::~codecvt()'
/usr/local/lib/libboost_program_options.a(utf8_codecvt_facet.o):(.rodata+0x40):
undefined reference to `std::__1::locale::facet::__on_zero_shared()'
/usr/local/lib/libboost_program_options.a(utf8_codecvt_facet.o):(.rodata+0x70):
undefined reference to `std::__1::codecvt<wchar_t, char,
__mbstate_t>::do_length(__mbstate_t&, char const*, char const*, unsigned long)
const'
/usr/local/lib/libboost_program_options.a(utf8_codecvt_facet.o):(.rodata+0xe0):
undefined reference to `typeinfo for std::__1::codecvt<wchar_t, char,
__mbstate_t>'
collect2: error: ld returned 1 exit status
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list