Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

static linking fails #612

Closed
khumarahn opened this issue Aug 16, 2016 · 4 comments · Fixed by #613
Closed

static linking fails #612

khumarahn opened this issue Aug 16, 2016 · 4 comments · Fixed by #613

Comments

@khumarahn
Copy link
Contributor

Hi, following gentoo bug 591334, I am trying to build i2pd with

cmake -DCMAKE_BUILD_TYPE=Release -DWITH_STATIC=ON
make

It fails with errors of the type undefined reference to dlopen'. I found a simple fix: to move -ldl` option in the building command line to the very end. But I have no idea how to fix this properly.

I would be happy to provide any details. Build log:

$ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_STATIC=ON
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CXX11_SUPPORTED
-- Performing Test CXX11_SUPPORTED - Success
-- Performing Test CXX0X_SUPPORTED
-- Performing Test CXX0X_SUPPORTED - Success
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Boost version: 1.56.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   program_options
--   date_time
-- Found OpenSSL: /usr/lib64/libssl.a;/usr/lib64/libcrypto.a (found version "1.0.2h") 
-- Found ZLIB: /usr/lib64/libz.a (found version "1.2.8") 
-- ---------------------------------------
-- Build type         : Release
-- Compiler vendor    : GNU
-- Compiler version   : 5.4.0
-- Compiler path      : /usr/bin/c++
-- Install prefix:    : /usr/local
-- Options:
--   AESNI            : OFF
--   HARDENING        : OFF
--   LIBRARY          : ON
--   BINARY           : ON
--   STATIC BUILD     : ON
--   UPnP             : OFF
--   PCH              : OFF
--   MESHNET          : OFF
-- ---------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/i2pd-2.9.0/build


$ make
Scanning dependencies of target libi2pd
[  1%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Config.cpp.o
[  3%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Crypto.cpp.o
[  5%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Garlic.cpp.o
[  7%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Gzip.cpp.o
[  9%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/I2NPProtocol.cpp.o
[ 11%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Identity.cpp.o
[ 13%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/LeaseSet.cpp.o
[ 15%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/FS.cpp.o
[ 17%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Log.cpp.o
[ 19%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/NTCPSession.cpp.o
[ 21%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/NetDbRequests.cpp.o
[ 23%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/NetDb.cpp.o
[ 25%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Profiling.cpp.o
[ 26%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Reseed.cpp.o
[ 28%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/RouterContext.cpp.o
/tmp/i2pd-2.9.0/RouterContext.cpp:426:69: warning: unused parameter ‘len’ [-Wunused-parameter]
  void RouterContext::HandleI2NPMessage (const uint8_t * buf, size_t len, std::shared_ptr<i2p::tunnel::InboundTun
                                                                     ^
[ 30%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/RouterInfo.cpp.o
[ 32%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/SSU.cpp.o
[ 34%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/SSUData.cpp.o
[ 36%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/SSUSession.cpp.o
/tmp/i2pd-2.9.0/SSUSession.cpp:521:68: warning: unused parameter ‘len’ [-Wunused-parameter]
  void SSUSession::ProcessRelayRequest (const uint8_t * buf, size_t len, const boost::asio::ip::udp::endpoint& fr
                                                                    ^
/tmp/i2pd-2.9.0/SSUSession.cpp:622:69: warning: unused parameter ‘len’ [-Wunused-parameter]
  void SSUSession::ProcessRelayResponse (const uint8_t * buf, size_t len)
                                                                     ^
/tmp/i2pd-2.9.0/SSUSession.cpp:674:66: warning: unused parameter ‘len’ [-Wunused-parameter]
  void SSUSession::ProcessRelayIntro (const uint8_t * buf, size_t len)
                                                                  ^
[ 38%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Streaming.cpp.o
/tmp/i2pd-2.9.0/Streaming.cpp:724:68: warning: unused parameter ‘ecode’ [-Wunused-parameter]
  void Stream::HandleAckSendTimer (const boost::system::error_code& ecode)
                                                                    ^
[ 40%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Destination.cpp.o
/tmp/i2pd-2.9.0/Destination.cpp:246:75: warning: unused parameter ‘len’ [-Wunused-parameter]
  void LeaseSetDestination::HandleI2NPMessage (const uint8_t * buf, size_t len, std::shared_ptr<i2p::tunnel::Inbo
                                                                           ^
/tmp/i2pd-2.9.0/Destination.cpp:333:90: warning: unused parameter ‘len’ [-Wunused-parameter]
  void LeaseSetDestination::HandleDatabaseSearchReplyMessage (const uint8_t * buf, size_t len)
                                                                                          ^
/tmp/i2pd-2.9.0/Destination.cpp:695:73: warning: unused parameter ‘len’ [-Wunused-parameter]
  void ClientDestination::HandleDataMessage (const uint8_t * buf, size_t len)
                                                                         ^
[ 42%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/TransitTunnel.cpp.o
/tmp/i2pd-2.9.0/TransitTunnel.cpp:54:75: warning: unused parameter ‘msg’ [-Wunused-parameter]
  void TransitTunnel::SendTunnelDataMsg (std::shared_ptr<i2p::I2NPMessage> msg)
                                                                           ^
/tmp/i2pd-2.9.0/TransitTunnel.cpp:59:83: warning: unused parameter ‘tunnelMsg’ [-Wunused-parameter]
  void TransitTunnel::HandleTunnelDataMsg (std::shared_ptr<const i2p::I2NPMessage> tunnelMsg)
                                                                                   ^
[ 44%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Tunnel.cpp.o
/tmp/i2pd-2.9.0/Tunnel.cpp:93:64: warning: unused parameter ‘len’ [-Wunused-parameter]
  bool Tunnel::HandleTunnelBuildResponse (uint8_t * msg, size_t len)
                                                                ^
/tmp/i2pd-2.9.0/Tunnel.cpp:164:68: warning: unused parameter ‘msg’ [-Wunused-parameter]
  void Tunnel::SendTunnelDataMsg (std::shared_ptr<i2p::I2NPMessage> msg)
                                                                    ^
/tmp/i2pd-2.9.0/Tunnel.cpp:259:84: warning: unused parameter ‘tunnelMsg’ [-Wunused-parameter]
  void OutboundTunnel::HandleTunnelDataMsg (std::shared_ptr<const i2p::I2NPMessage> tunnelMsg)
                                                                                    ^
[ 46%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/TunnelGateway.cpp.o
[ 48%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Transports.cpp.o
/tmp/i2pd-2.9.0/Transports.cpp:396:79: warning: unused parameter ‘resolver’ [-Wunused-parameter]
   i2p::data::IdentHash ident, std::shared_ptr<boost::asio::ip::tcp::resolver> resolver)
                                                                               ^
/tmp/i2pd-2.9.0/Transports.cpp:439:79: warning: unused parameter ‘resolver’ [-Wunused-parameter]
   i2p::data::IdentHash ident, std::shared_ptr<boost::asio::ip::tcp::resolver> resolver)
                                                                               ^
[ 50%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/TunnelEndpoint.cpp.o
[ 51%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/TunnelPool.cpp.o
[ 53%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Base.cpp.o
[ 55%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/util.cpp.o
[ 57%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Datagram.cpp.o
[ 59%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Family.cpp.o
/tmp/i2pd-2.9.0/Family.cpp:113:40: warning: unused parameter ‘key’ [-Wunused-parameter]
   const char * signature, const char * key)
                                        ^
[ 61%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/Signature.cpp.o
[ 63%] Building CXX object CMakeFiles/libi2pd.dir/tmp/i2pd-2.9.0/api.cpp.o
[ 65%] Linking CXX static library libi2pd.a
[ 65%] Built target libi2pd
Scanning dependencies of target i2pdclient
[ 67%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/AddressBook.cpp.o
/tmp/i2pd-2.9.0/AddressBook.cpp:603:86: warning: unused parameter ‘fromPort’ [-Wunused-parameter]
  void AddressBook::HandleLookupResponse (const i2p::data::IdentityEx& from, uint16_t fromPort, uint16_t toPort, 
                                                                                      ^
/tmp/i2pd-2.9.0/AddressBook.cpp:603:105: warning: unused parameter ‘toPort’ [-Wunused-parameter]
 id AddressBook::HandleLookupResponse (const i2p::data::IdentityEx& from, uint16_t fromPort, uint16_t toPort, con
                                                                                                      ^
[ 69%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/BOB.cpp.o
/tmp/i2pd-2.9.0/BOB.cpp:287:90: warning: unused parameter ‘bytes_transferred’ [-Wunused-parameter]
  void BOBCommandSession::HandleSent (const boost::system::error_code& ecode, std::size_t bytes_transferred)
                                                                                          ^
/tmp/i2pd-2.9.0/BOB.cpp:341:58: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::ZapCommandHandler (const char * operand, size_t len)
                                                          ^
/tmp/i2pd-2.9.0/BOB.cpp:341:74: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::ZapCommandHandler (const char * operand, size_t len)
                                                                          ^
/tmp/i2pd-2.9.0/BOB.cpp:347:59: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::QuitCommandHandler (const char * operand, size_t len)
                                                           ^
/tmp/i2pd-2.9.0/BOB.cpp:347:75: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::QuitCommandHandler (const char * operand, size_t len)
                                                                           ^
/tmp/i2pd-2.9.0/BOB.cpp:354:60: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::StartCommandHandler (const char * operand, size_t len)
                                                            ^
/tmp/i2pd-2.9.0/BOB.cpp:354:76: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::StartCommandHandler (const char * operand, size_t len)
                                                                            ^
/tmp/i2pd-2.9.0/BOB.cpp:376:59: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::StopCommandHandler (const char * operand, size_t len)
                                                           ^
/tmp/i2pd-2.9.0/BOB.cpp:376:75: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::StopCommandHandler (const char * operand, size_t len)
                                                                           ^
/tmp/i2pd-2.9.0/BOB.cpp:395:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::SetNickCommandHandler (const char * operand, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:404:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::GetNickCommandHandler (const char * operand, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:423:62: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::NewkeysCommandHandler (const char * operand, size_t len)
                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:423:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::NewkeysCommandHandler (const char * operand, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:430:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::SetkeysCommandHandler (const char * operand, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:437:62: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::GetkeysCommandHandler (const char * operand, size_t len)
                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:437:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::GetkeysCommandHandler (const char * operand, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:443:62: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::GetdestCommandHandler (const char * operand, size_t len)
                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:443:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::GetdestCommandHandler (const char * operand, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:449:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::OuthostCommandHandler (const char * operand, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:456:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::OutportCommandHandler (const char * operand, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/BOB.cpp:466:77: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::InhostCommandHandler (const char * operand, size_t len)
                                                                             ^
/tmp/i2pd-2.9.0/BOB.cpp:473:77: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::InportCommandHandler (const char * operand, size_t len)
                                                                             ^
/tmp/i2pd-2.9.0/BOB.cpp:483:60: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::QuietCommandHandler (const char * operand, size_t len)
                                                            ^
/tmp/i2pd-2.9.0/BOB.cpp:483:76: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::QuietCommandHandler (const char * operand, size_t len)
                                                                            ^
/tmp/i2pd-2.9.0/BOB.cpp:500:77: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::LookupCommandHandler (const char * operand, size_t len)
                                                                             ^
/tmp/i2pd-2.9.0/BOB.cpp:528:60: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::ClearCommandHandler (const char * operand, size_t len)
                                                            ^
/tmp/i2pd-2.9.0/BOB.cpp:528:76: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::ClearCommandHandler (const char * operand, size_t len)
                                                                            ^
/tmp/i2pd-2.9.0/BOB.cpp:536:59: warning: unused parameter ‘operand’ [-Wunused-parameter]
  void BOBCommandSession::ListCommandHandler (const char * operand, size_t len)
                                                           ^
/tmp/i2pd-2.9.0/BOB.cpp:536:75: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::ListCommandHandler (const char * operand, size_t len)
                                                                           ^
/tmp/i2pd-2.9.0/BOB.cpp:545:77: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::OptionCommandHandler (const char * operand, size_t len)
                                                                             ^
/tmp/i2pd-2.9.0/BOB.cpp:564:77: warning: unused parameter ‘len’ [-Wunused-parameter]
  void BOBCommandSession::StatusCommandHandler (const char * operand, size_t len)
                                                                             ^
[ 71%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/ClientContext.cpp.o
[ 73%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/I2PTunnel.cpp.o
/tmp/i2pd-2.9.0/I2PTunnel.cpp:413:51: warning: unused parameter ‘resolver’ [-Wunused-parameter]
   std::shared_ptr<boost::asio::ip::tcp::resolver> resolver)
                                                   ^
[ 75%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/I2PService.cpp.o
[ 76%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/SAM.cpp.o
/tmp/i2pd-2.9.0/SAM.cpp:138:96: warning: unused parameter ‘bytes_transferred’ [-Wunused-parameter]
  void SAMSocket::HandleHandshakeReplySent (const boost::system::error_code& ecode, std::size_t bytes_transferred
                                                                                                ^
/tmp/i2pd-2.9.0/SAM.cpp:169:94: warning: unused parameter ‘bytes_transferred’ [-Wunused-parameter]
  void SAMSocket::HandleMessageReplySent (const boost::system::error_code& ecode, std::size_t bytes_transferred, 
                                                                                              ^
/tmp/i2pd-2.9.0/SAM.cpp:265:59: warning: unused parameter ‘len’ [-Wunused-parameter]
  void SAMSocket::ProcessSessionCreate (char * buf, size_t len)
                                                           ^
/tmp/i2pd-2.9.0/SAM.cpp:336:59: warning: unused parameter ‘len’ [-Wunused-parameter]
  void SAMSocket::ProcessStreamConnect (char * buf, size_t len)
                                                           ^
/tmp/i2pd-2.9.0/SAM.cpp:392:58: warning: unused parameter ‘len’ [-Wunused-parameter]
  void SAMSocket::ProcessStreamAccept (char * buf, size_t len)
                                                          ^
/tmp/i2pd-2.9.0/SAM.cpp:463:58: warning: unused parameter ‘len’ [-Wunused-parameter]
  void SAMSocket::ProcessNamingLookup (char * buf, size_t len)
                                                          ^
/tmp/i2pd-2.9.0/SAM.cpp:655:88: warning: unused parameter ‘fromPort’ [-Wunused-parameter]
  void SAMSocket::HandleI2PDatagramReceive (const i2p::data::IdentityEx& from, uint16_t fromPort, uint16_t toPort
                                                                                        ^
/tmp/i2pd-2.9.0/SAM.cpp:655:107: warning: unused parameter ‘toPort’ [-Wunused-parameter]
  SAMSocket::HandleI2PDatagramReceive (const i2p::data::IdentityEx& from, uint16_t fromPort, uint16_t toPort, con
                                                                                                      ^
[ 78%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/SOCKS.cpp.o
/tmp/i2pd-2.9.0/SOCKS.cpp:699:50: warning: unused parameter ‘dataptr’ [-Wunused-parameter]
  void SOCKSHandler::HandleUpstreamData(uint8_t * dataptr, std::size_t len)
                                                  ^
/tmp/i2pd-2.9.0/SOCKS.cpp:742:127: warning: unused parameter ‘itr’ [-Wunused-parameter]
 ::HandleUpstreamConnected(const boost::system::error_code & ecode, boost::asio::ip::tcp::resolver::iterator itr)
                                                                                                             ^
[ 80%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/HTTP.cpp.o
[ 82%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/HTTPProxy.cpp.o
[ 84%] Building CXX object CMakeFiles/i2pdclient.dir/tmp/i2pd-2.9.0/I2CP.cpp.o
/tmp/i2pd-2.9.0/I2CP.cpp:189:94: warning: unused parameter ‘bytes_transferred’ [-Wunused-parameter]
  void I2CPSession::HandleReceivedHeader (const boost::system::error_code& ecode, std::size_t bytes_transferred)
                                                                                              ^
/tmp/i2pd-2.9.0/I2CP.cpp:216:95: warning: unused parameter ‘bytes_transferred’ [-Wunused-parameter]
  void I2CPSession::HandleReceivedPayload (const boost::system::error_code& ecode, std::size_t bytes_transferred)
                                                                                               ^
/tmp/i2pd-2.9.0/I2CP.cpp:273:95: warning: unused parameter ‘bytes_transferred’ [-Wunused-parameter]
  void I2CPSession::HandleI2CPMessageSent (const boost::system::error_code& ecode, std::size_t bytes_transferred,
                                                                                               ^
/tmp/i2pd-2.9.0/I2CP.cpp:388:66: warning: unused parameter ‘buf’ [-Wunused-parameter]
  void I2CPSession::DestroySessionMessageHandler (const uint8_t * buf, size_t len)
                                                                  ^
/tmp/i2pd-2.9.0/I2CP.cpp:388:78: warning: unused parameter ‘len’ [-Wunused-parameter]
  void I2CPSession::DestroySessionMessageHandler (const uint8_t * buf, size_t len)
                                                                              ^
/tmp/i2pd-2.9.0/I2CP.cpp:399:70: warning: unused parameter ‘buf’ [-Wunused-parameter]
  void I2CPSession::ReconfigureSessionMessageHandler (const uint8_t * buf, size_t len)
                                                                      ^
/tmp/i2pd-2.9.0/I2CP.cpp:399:82: warning: unused parameter ‘len’ [-Wunused-parameter]
  void I2CPSession::ReconfigureSessionMessageHandler (const uint8_t * buf, size_t len)
                                                                                  ^
/tmp/i2pd-2.9.0/I2CP.cpp:561:74: warning: unused parameter ‘len’ [-Wunused-parameter]
  void I2CPSession::DestLookupMessageHandler (const uint8_t * buf, size_t len)
                                                                          ^
/tmp/i2pd-2.9.0/I2CP.cpp:598:70: warning: unused parameter ‘buf’ [-Wunused-parameter]
  void I2CPSession::GetBandwidthLimitsMessageHandler (const uint8_t * buf, size_t len)
                                                                      ^
/tmp/i2pd-2.9.0/I2CP.cpp:598:82: warning: unused parameter ‘len’ [-Wunused-parameter]
  void I2CPSession::GetBandwidthLimitsMessageHandler (const uint8_t * buf, size_t len)
                                                                                  ^
[ 86%] Linking CXX static library libi2pdclient.a
[ 86%] Built target i2pdclient
Scanning dependencies of target i2pd
[ 88%] Building CXX object CMakeFiles/i2pd.dir/tmp/i2pd-2.9.0/Daemon.cpp.o
[ 90%] Building CXX object CMakeFiles/i2pd.dir/tmp/i2pd-2.9.0/HTTPServer.cpp.o
[ 92%] Building CXX object CMakeFiles/i2pd.dir/tmp/i2pd-2.9.0/I2PControl.cpp.o
/tmp/i2pd-2.9.0/I2PControl.cpp:298:98: warning: unused parameter ‘bytes_transferred’ [-Wunused-parameter]
  void I2PControlService::HandleResponseSent (const boost::system::error_code& ecode, std::size_t bytes_transferr
                                                                                                  ^
/tmp/i2pd-2.9.0/I2PControl.cpp:299:31: warning: unused parameter ‘socket’ [-Wunused-parameter]
   std::shared_ptr<ssl_socket> socket, std::shared_ptr<I2PControlBuffer> buf)
                               ^
/tmp/i2pd-2.9.0/I2PControl.cpp:299:73: warning: unused parameter ‘buf’ [-Wunused-parameter]
   std::shared_ptr<ssl_socket> socket, std::shared_ptr<I2PControlBuffer> buf)
                                                                         ^
/tmp/i2pd-2.9.0/I2PControl.cpp:456:40: warning: unused parameter ‘ecode’ [-Wunused-parameter]
    [](const boost::system::error_code& ecode)
                                        ^
/tmp/i2pd-2.9.0/I2PControl.cpp:470:40: warning: unused parameter ‘ecode’ [-Wunused-parameter]
    [](const boost::system::error_code& ecode)
                                        ^
[ 94%] Building CXX object CMakeFiles/i2pd.dir/tmp/i2pd-2.9.0/i2pd.cpp.o
[ 96%] Building CXX object CMakeFiles/i2pd.dir/tmp/i2pd-2.9.0/UPnP.cpp.o
[ 98%] Building CXX object CMakeFiles/i2pd.dir/tmp/i2pd-2.9.0/DaemonLinux.cpp.o
/tmp/i2pd-2.9.0/DaemonLinux.cpp: In member function ‘virtual bool i2p::util::DaemonLinux::start()’:
/tmp/i2pd-2.9.0/DaemonLinux.cpp:104:24: warning: ignoring return value of ‘int ftruncate(int, __off_t)’, declared with attribute warn_unused_result [-Wunused-result]
     ftruncate(pidFH, 0);
                        ^
[100%] Linking CXX executable i2pd
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
(.text+0x11): undefined reference to `dlopen'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
(.text+0x24): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
(.text+0x2f): undefined reference to `dlclose'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':
(.text+0x344): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':
(.text+0x402): undefined reference to `dlerror'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':
(.text+0x474): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':
(.text+0x532): undefined reference to `dlerror'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
(.text+0x599): undefined reference to `dlopen'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
(.text+0x5fd): undefined reference to `dlclose'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
(.text+0x635): undefined reference to `dlerror'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_pathbyaddr':
(.text+0x6d1): undefined reference to `dladdr'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_pathbyaddr':
(.text+0x739): undefined reference to `dlerror'
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_unload':
(.text+0x792): undefined reference to `dlclose'
collect2: error: ld returned 1 exit status
CMakeFiles/i2pd.dir/build.make:234: recipe for target 'i2pd' failed
make[2]: *** [i2pd] Error 1
CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/i2pd.dir/all' failed
make[1]: *** [CMakeFiles/i2pd.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
@orignal
Copy link
Contributor

orignal commented Aug 16, 2016

dlopen is not used anymore

@majestrate
Copy link
Contributor

looks like libssl uses it and needs it in static link

@majestrate
Copy link
Contributor

got a fix inbound

majestrate added a commit to majestrate/i2pd that referenced this issue Aug 16, 2016
@khumarahn
Copy link
Contributor Author

I confirm with the change above the static build passes.

majestrate added a commit to majestrate/i2pd that referenced this issue Aug 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants