[Cppcms-users] error while linking hello_world.fcgi
Brought to you by:
artyom-beilis
From: Francesco A. <ke...@gm...> - 2009-12-30 13:13:26
|
Hi all, I'm new to the list. During compilation I have found a problem and resolved with a simple change. I don't know the reason and I want to share with you this problem hoping that it could be useful in future. The error is shown during 'make' phase and regards compilation of hello_world.fcgi. Below [1] is reported the error output. It seems that it doesn't find libraries and probably it is necessary a little change in Makefile.in file. I have resolved the problem changing the following Makefile variable as reported here: hello_world_fcgi_LDADD = libcppcms.la transtext/libcppcmstranstext.la/usr/lib/ libcgicc.la /usr/lib/libfcgi++.la /usr/lib/libboost_signals-mt.so /usr/lib/libboost_system-mt.so /usr/lib/libdl.so /usr/lib/libboost_regex-mt.so I have Ubuntu 9.10 and all the libraries suggested in tutorial. Libtool version is 2.2.6. Hoping that this could be useful... Hi Francesco Argese P.S.: Idea beyond CppCMS look great! [1] Error log /bin/bash ./libtool --tag=CXX --mode=link g++ -g -O2 -o hello_world.fcgi hello_world_fcgi-hello_world.o hello_world_fcgi-hello_world_view1.o hello_world_fcgi-hello_world_view2.o libcppcms.la transtext/ libcppcmstranstext.la g++ -g -O2 -o .libs/hello_world.fcgi hello_world_fcgi-hello_world.o hello_world_fcgi-hello_world_view1.o hello_world_fcgi-hello_world_view2.o ./.libs/libcppcms.so transtext/.libs/libcppcmstranstext.so hello_world_fcgi-hello_world.o: In function `my_hello_world::png()': /home/argesino/Development/CppCMS/cppcms-0.0.4/hello_world.cpp:35: undefined reference to `cgicc::HTTPContentHeader::HTTPContentHeader(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPHTMLHeader::HTTPHTMLHeader()' ./.libs/libcppcms.so: undefined reference to `boost::signals::detail::named_slot_map::begin()' ./.libs/libcppcms.so: undefined reference to `boost::signals::detail::call_notification::~call_notification()' ./.libs/libcppcms.so: undefined reference to `cgicc::operator<<(std::basic_ostream<char, std::char_traits<char> >&, cgicc::MStreamable const&)' ./.libs/libcppcms.so: undefined reference to `cgicc::Cgicc::getElement(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPCookie::render(std::basic_ostream<char, std::char_traits<char> >&) const' ./.libs/libcppcms.so: undefined reference to `boost::signals::detail::signal_base::~signal_base()' ./.libs/libcppcms.so: undefined reference to `cgicc::Cgicc::~Cgicc()' ./.libs/libcppcms.so: undefined reference to `cgicc::CgiInput::~CgiInput()' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPCookie::HTTPCookie(cgicc::HTTPCookie const&)' ./.libs/libcppcms.so: undefined reference to `typeinfo for cgicc::HTTPCookie' ./.libs/libcppcms.so: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)' ./.libs/libcppcms.so: undefined reference to `fcgi_streambuf::fcgi_streambuf(FCGX_Stream*)' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::get_mem_block()' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::get_default_error_string(boost::regex_constants::error_type)' ./.libs/libcppcms.so: undefined reference to `cgicc::Cgicc::Cgicc(cgicc::CgiInput*)' ./.libs/libcppcms.so: undefined reference to `vtable for cgicc::CgiInput' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPStatusHeader::HTTPStatusHeader(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ./.libs/libcppcms.so: undefined reference to `FCGX_Init' ./.libs/libcppcms.so: undefined reference to `boost::signals::trackable::~trackable()' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::put_mem_block(void*)' ./.libs/libcppcms.so: undefined reference to `FCGX_GetParam' ./.libs/libcppcms.so: undefined reference to `boost::signals::detail::named_slot_map::end()' ./.libs/libcppcms.so: undefined reference to `typeinfo for cgicc::CgiInput' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::raise_runtime_error(std::runtime_error const&)' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPCookie::~HTTPCookie()' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const' ./.libs/libcppcms.so: undefined reference to `FCGX_GetStr' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPStatusHeader::~HTTPStatusHeader()' ./.libs/libcppcms.so: undefined reference to `FCGX_InitRequest' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const' ./.libs/libcppcms.so: undefined reference to `fcgi_streambuf::~fcgi_streambuf()' ./.libs/libcppcms.so: undefined reference to `boost::match_results<char const*, std::allocator<boost::sub_match<char const*> > >::maybe_assign(boost::match_results<char const*, std::allocator<boost::sub_match<char const*> > > const&)' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPCookie::HTTPCookie(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPCookie::~HTTPCookie()' ./.libs/libcppcms.so: undefined reference to `cgicc::HTTPCookie::HTTPCookie(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)' ./.libs/libcppcms.so: undefined reference to `FCGX_Finish_r' ./.libs/libcppcms.so: undefined reference to `boost::signals::detail::call_notification::call_notification(boost::shared_ptr<boost::signals::detail::signal_base_impl> const&)' ./.libs/libcppcms.so: undefined reference to `FCGX_OpenSocket' ./.libs/libcppcms.so: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)' ./.libs/libcppcms.so: undefined reference to `dlopen' ./.libs/libcppcms.so: undefined reference to `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)' ./.libs/libcppcms.so: undefined reference to `FCGX_Accept_r' ./.libs/libcppcms.so: undefined reference to `dlclose' ./.libs/libcppcms.so: undefined reference to `boost::signals::detail::signal_base::signal_base(boost::function2<bool, boost::signals::detail::stored_group, boost::signals::detail::stored_group> const&, boost::any const&)' collect2: ld returned 1 exit status |