Closed IlyaBizyaev closed 9 years ago
Nearly same output on MinGW-w64:
socketft.o: In function `CryptoPP::SocketReceiver::GetReceiveResult()':
c:\cryptopp/socketft.cpp:372: undefined reference to `__imp_WSAGetOverlappedResult'
c:\cryptopp/socketft.cpp:379: undefined reference to `__imp_WSAGetLastError'
socketft.o: In function `CryptoPP::SocketSender::GetSendResult()':
c:\cryptopp/socketft.cpp:469: undefined reference to `__imp_WSAGetOverlappedResult'
socketft.o: In function `CryptoPP::SocketSender::Send(unsigned char const*, unsigned long long)':
c:\cryptopp/socketft.cpp:418: undefined reference to `__imp_WSASend'
c:\cryptopp/socketft.cpp:425: undefined reference to `__imp_WSAGetLastError'
socketft.o: In function `CryptoPP::Socket::ShutDown(int)':
c:\cryptopp/socketft.cpp:209: undefined reference to `__imp_shutdown'
socketft.o: In function `CryptoPP::SocketSender::SendEof()':
c:\cryptopp/socketft.cpp:437: undefined reference to `__imp_WSAEventSelect'
socketft.o: In function `CryptoPP::SocketReceiver::Receive(unsigned char*, unsigned long long)':
c:\cryptopp/socketft.cpp:337: undefined reference to `__imp_WSARecv'
c:\cryptopp/socketft.cpp:344: undefined reference to `__imp_WSAGetLastError'
socketft.o: In function `CryptoPP::Socket::CloseSocket()':
c:\cryptopp/socketft.cpp:85: undefined reference to `__imp_closesocket'
socketft.o: In function `CryptoPP::Socket::Create(int)':
c:\cryptopp/socketft.cpp:73: undefined reference to `__imp_socket'
socketft.o: In function `CryptoPP::Socket::CloseSocket()':
c:\cryptopp/socketft.cpp:85: undefined reference to `__imp_closesocket'
socketft.o: In function `CryptoPP::Socket::Bind(unsigned int, char const*)':
c:\cryptopp/socketft.cpp:104: undefined reference to `__imp_inet_addr'
c:\cryptopp/socketft.cpp:113: undefined reference to `__imp_htons'
socketft.o: In function `CryptoPP::Socket::Bind(sockaddr const*, int)':
c:\cryptopp/socketft.cpp:122: undefined reference to `__imp_bind'
socketft.o: In function `CryptoPP::Socket::SetLastError(int)':
c:\cryptopp/socketft.cpp:300: undefined reference to `__imp_WSASetLastError'
socketft.o: In function `CryptoPP::Socket::Bind(unsigned int, char const*)':
c:\cryptopp/socketft.cpp:101: undefined reference to `__imp_htonl'
socketft.o: In function `CryptoPP::Socket::Bind(sockaddr const*, int)':
c:\cryptopp/socketft.cpp:122: undefined reference to `__imp_bind'
socketft.o: In function `CryptoPP::Socket::Listen(int)':
c:\cryptopp/socketft.cpp:128: undefined reference to `__imp_listen'
socketft.o: In function `CryptoPP::Socket::Connect(char const*, unsigned int)':
c:\cryptopp/socketft.cpp:138: undefined reference to `__imp_inet_addr'
c:\cryptopp/socketft.cpp:152: undefined reference to `__imp_htons'
socketft.o: In function `CryptoPP::Socket::Connect(sockaddr const*, int)':
c:\cryptopp/socketft.cpp:160: undefined reference to `__imp_connect'
socketft.o: In function `CryptoPP::Socket::Connect(char const*, unsigned int)':
c:\cryptopp/socketft.cpp:142: undefined reference to `__imp_gethostbyname'
socketft.o: In function `CryptoPP::Socket::GetLastError()':
c:\cryptopp/socketft.cpp:291: undefined reference to `__imp_WSAGetLastError'
socketft.o: In function `CryptoPP::Socket::SetLastError(int)':
c:\cryptopp/socketft.cpp:300: undefined reference to `__imp_WSASetLastError'
socketft.o: In function `CryptoPP::Socket::Connect(sockaddr const*, int)':
c:\cryptopp/socketft.cpp:160: undefined reference to `__imp_connect'
socketft.o: In function `CryptoPP::Socket::GetLastError()':
c:\cryptopp/socketft.cpp:291: undefined reference to `__imp_WSAGetLastError'
socketft.o: In function `CryptoPP::Socket::Accept(CryptoPP::Socket&, sockaddr*, int*)':
c:\cryptopp/socketft.cpp:170: undefined reference to `__imp_accept'
socketft.o: In function `CryptoPP::Socket::CloseSocket()':
c:\cryptopp/socketft.cpp:85: undefined reference to `__imp_closesocket'
socketft.o: In function `CryptoPP::Socket::GetLastError()':
c:\cryptopp/socketft.cpp:291: undefined reference to `__imp_WSAGetLastError'
socketft.o: In function `CryptoPP::Socket::GetSockName(sockaddr*, int*)':
c:\cryptopp/socketft.cpp:181: undefined reference to `__imp_getsockname'
socketft.o: In function `CryptoPP::Socket::GetPeerName(sockaddr*, int*)':
c:\cryptopp/socketft.cpp:187: undefined reference to `__imp_getpeername'
socketft.o: In function `CryptoPP::Socket::Send(unsigned char const*, unsigned long long, int)':
c:\cryptopp/socketft.cpp:193: undefined reference to `__imp_send'
socketft.o: In function `CryptoPP::Socket::Receive(unsigned char*, unsigned long long, int)':
c:\cryptopp/socketft.cpp:201: undefined reference to `__imp_recv'
socketft.o: In function `CryptoPP::Socket::ShutDown(int)':
c:\cryptopp/socketft.cpp:209: undefined reference to `__imp_shutdown'
socketft.o: In function `CryptoPP::Socket::IOCtl(long, unsigned long*)':
c:\cryptopp/socketft.cpp:217: undefined reference to `__imp_ioctlsocket'
socketft.o: In function `CryptoPP::Socket::SendReady(timeval const*)':
c:\cryptopp/socketft.cpp:234: undefined reference to `__imp_select'
c:\cryptopp/socketft.cpp:230: undefined reference to `__imp_select'
socketft.o: In function `CryptoPP::Socket::ReceiveReady(timeval const*)':
c:\cryptopp/socketft.cpp:251: undefined reference to `__imp_select'
c:\cryptopp/socketft.cpp:247: undefined reference to `__imp_select'
socketft.o: In function `CryptoPP::Socket::GetLastError()':
c:\cryptopp/socketft.cpp:291: undefined reference to `__imp_WSAGetLastError'
socketft.o: In function `CryptoPP::Socket::SetLastError(int)':
c:\cryptopp/socketft.cpp:300: undefined reference to `__imp_WSASetLastError'
socketft.o: In function `CryptoPP::SocketSender::EofSent()':
c:\cryptopp/socketft.cpp:446: undefined reference to `__imp_WSAEnumNetworkEvents'
socketft.o: In function `CryptoPP::Socket::GetLastError()':
c:\cryptopp/socketft.cpp:291: undefined reference to `__imp_WSAGetLastError'
socketft.o: In function `CryptoPP::Socket::CloseSocket()':
c:\cryptopp/socketft.cpp:85: undefined reference to `__imp_closesocket'
c:\cryptopp/socketft.cpp:85: undefined reference to `__imp_closesocket'
socketft.o: In function `CryptoPP::Socket::ShutdownSockets()':
c:\cryptopp/socketft.cpp:282: undefined reference to `__imp_WSACleanup'
socketft.o: In function `CryptoPP::Socket::StartSockets()':
c:\cryptopp/socketft.cpp:273: undefined reference to `__imp_WSAStartup'
socketft.o: In function `CryptoPP::Socket::PortNameToNumber(char const*, char const*)':
c:\cryptopp/socketft.cpp:263: undefined reference to `__imp_getservbyname'
c:\cryptopp/socketft.cpp:266: undefined reference to `__imp_ntohs'
collect2.exe: error: ld returned 1 exit status
make: *** [libcryptopp.so] Error 1
This appeared to be a problem recently introduced in the detection of MinGW. I believe the Makefile was interpreting a character that was meant for the shell. When the shell got the modified command and arguments, it failed to detect MinGW.
Are we making a mistake trying to keep everything in one Makefile, rather than several for different OS/compilers?
Sent from my iPad
On Oct 25, 2015, at 04:51, Jeffrey Walton notifications@github.com<mailto:notifications@github.com> wrote:
This appeared to be a problem recently introduced in the detection of MinGW. I believe the Makefile was interpreting a character that was meant for the shell. When the shell got the modified command and arguments, it failed to detect MinGW.
— Reply to this email directly or view it on GitHubhttps://github.com/weidai11/cryptopp/issues/25#issuecomment-150902160.
Are we making a mistake trying to keep everything in one Makefile, rather than several for different OS/compilers?
Good question .... Two part answer. First, I feel the Makefile is a bit too busy or large. I split the cross-compile Makefile out for that reason.
Second, there was a gap in testing. It was a process failure, and it was resolved with improved testing procedures. The testing procedures I have been following are located at Release Testing.
Now if I could only get MinGW to run most of the time. I have it installed in three places, and only one of them works (the Windows 7 installation).