Hi, need some expert advice on how to build a C++ project using the log4cxx lib. For some reason the liblog4cxx.a lib keeps on complaining that it can't find references to APR functions.
Can someone check the following to see if I may have missed anything? Thanks!!
Code:
apache@buildbox:/appvol/apache/lib/apr-1.4.5> ./configure --prefix=/appvol/apache/lib/apr-1.4.5/bin
apache@buildbox:/appvol/apache/lib/apr-1.4.5> make
apache@buildbox:/appvol/apache/lib/apr-1.4.5> make install
apache@buildbox:/appvol/apache/lib/apr-util-1.4.1> ./configure --prefix=/appvol/apache/lib/apr-util-1.4.1/bin
apache@buildbox:/appvol/apache/lib/apr-util-1.4.1> make
apache@buildbox:/appvol/apache/lib/apr-util-1.4.1> make install
Build log4cxx
Code:
apache@buildbox:/appvol/apache/lib/apache-log4cxx-0.10.0> ./configure --with-apr=/appvol/apache/lib/apr-1.4.5/bin/bin/apr-1-config --with-apr-util=/appvol/apache/lib/apr-util-1.4.1/bin/bin/apu-1-config --prefix=/appvol/apache/lib/apache-log4cxx-0.10.0/bin
apache@buildbox:/appvol/apache/lib/apache-log4cxx-0.10.0> make
apache@buildbox:/appvol/apache/lib/apache-log4cxx-0.10.0> make install
Build process above have generated both .so and .a files. Am moing the .a file into a sub-directory so when I build my project I can use the static .a lib.
Code:
apache@buildbox:/appvol/apache/lib/apache-log4cxx-0.10.0> mkdir static
apache@buildbox:/appvol/apache/lib/apache-log4cxx-0.10.0> cp liblog4cxx.a ./static/.
Bulding my custom app "myapp" with log4cxx. Note for some reason it keeps on complaning about the APR functions not found.
Code:
g++ -g -o myapp *.o -L/appvol/apache/lib/apache-log4cxx-0.10.0/bin/lib/static -L/usr/local/lib64 -L/usr/lib64 -llog4cxx -lm -ldl -lpthread -lrt
/appvol/apache/lib/apache-log4cxx-0.10.0/bin/lib/static/liblog4cxx.a(file.o): In function `log4cxx::File::getPath(log4cxx::helpers::Pool&) const':
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/file.cpp:121: undefined reference to `apr_filepath_encoding'
/appvol/apache/lib/apache-log4cxx-0.10.0/bin/lib/static/liblog4cxx.a(file.o): In function `log4cxx::File::mkdirs(log4cxx::helpers::Pool&) const':
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/file.cpp:238: undefined reference to `apr_dir_make_recursive'
/appvol/apache/lib/apache-log4cxx-0.10.0/bin/lib/static/liblog4cxx.a(file.o): In function `log4cxx::File::lastModified(log4cxx::helpers::Pool&) const':
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/file.cpp:182: undefined reference to `apr_stat'
.......................
/appvol/apache/lib/apache-log4cxx-0.10.0/bin/lib/static/liblog4cxx.a(socket.o): In function `Socket':
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:36: undefined reference to `apr_socket_create'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:47: undefined reference to `apr_sockaddr_info_get'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:53: undefined reference to `apr_socket_connect'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:62: undefined reference to `apr_socket_addr_get'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:71: undefined reference to `apr_sockaddr_ip_get'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:62: undefined reference to `apr_socket_addr_get'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:71: undefined reference to `apr_sockaddr_ip_get'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:36: undefined reference to `apr_socket_create'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:47: undefined reference to `apr_sockaddr_info_get'
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/socket.cpp:53: undefined reference to `apr_socket_connect'
/appvol/apache/lib/apache-log4cxx-0.10.0/bin/lib/static/liblog4cxx.a(strftimedateformat.o): In function `log4cxx::helpers::StrftimeDateFormat::format(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long, log4cxx::helpers::Pool&) const':
/appvol/apache/lib/apache-log4cxx-0.10.0/src/main/cpp/strftimedateformat.cpp:44: undefined reference to `apr_strftime'
collect2: ld returned 1 exit status