compiling problem, mingw win32...

Questions or HOWTOs about the above? Post 'em here...
Post Reply
User avatar
bamf.
Private First Class
Private First Class
Posts: 190
Joined: Mon Dec 09, 2002 2:31 pm
Location: New York
Contact:

compiling problem, mingw win32...

Post by bamf. » Tue Dec 11, 2007 3:45 pm

I'm trying to compile 2.0.10 with mingw/msys and am having some trouble when I run ./configure, here is the error:

checking for curl-config... /usr/local/bin/curl-config
checking for the version of libcurl... 7.16.4
checking whether libcurl is usable... no
configure: error: libcurl is required. You must install it. See http://curl.haxx.se/

I've downloaded the latest version of curl (that's not it listed above, I've been working backwards from 7.17.1). I don't know a great deal about curl, but it seems that the latest zipped versions are missing some of the files the earlier versions had - the libcurl.dll file for example.

Any help would be appreciated. Thanks.
It's a good idea to always carry two sacks of something when you walk around. That way, if anybody says: Hey, can you give me a hand? You can say: Sorry, got these sacks.

User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5173
Joined: Fri Dec 13, 2002 4:11 am
Location: https://discord.gg/NN9uAvx
Contact:

Post by JeffM » Tue Dec 11, 2007 5:51 pm

you need to make sure you get the libcurl dev kit for mingw, not the one for visual C++. I don't see a package for minGW, you may have to compile it yourself under minGW.

minGW is based of GCC and does not use the same files as the Microsoft compiler used in Visual C++

also just so you know, there are free versions of the Microsoft compilers ( visual C++ 2005 and 2008 express editions ).

User avatar
bamf.
Private First Class
Private First Class
Posts: 190
Joined: Mon Dec 09, 2002 2:31 pm
Location: New York
Contact:

Post by bamf. » Tue Dec 11, 2007 7:14 pm

Thanks Jeff.
It's a good idea to always carry two sacks of something when you walk around. That way, if anybody says: Hey, can you give me a hand? You can say: Sorry, got these sacks.

User avatar
bamf.
Private First Class
Private First Class
Posts: 190
Joined: Mon Dec 09, 2002 2:31 pm
Location: New York
Contact:

Post by bamf. » Tue Dec 11, 2007 8:33 pm

ok, got curl compiled for mingw and can run ./configure. When it completes I get:

BZFlag-2.0.10.20071211 with the following:
no curses!
SDL!
bzadmin
bzflag client

The no curses should be ok as I don't need bzadmin. I have the latest directx files (dsound.h, d3dtypes.h and ddraw.h) in the mingw\include directory as well as the latest SDL for mingw from libsdl.org. When I run make I get this towards the end. Any ideas?:

c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:(.text+0x8): undefined reference to `_imp__curl_version'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:(.text+0x2e): undefined reference to `_imp__curl_global_init'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:(.text+0x82): undefined reference to `_imp__curl_multi_init'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager10setTimeoutEl':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:118: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:123: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:127: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:123: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:127: undefined reference to `_imp__curl_easy_setopt'
../common/.libs/libCommon.a(cURLManager.o):c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:138: more undefined references to `_imp__curl_easy_setopt
follow
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager9addHandleEv':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:228: undefined reference to `_imp__curl_multi_add_handle'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager12removeHandleEv':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:239: undefined reference to `_imp__curl_multi_remove_handle'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager5fdsetER6fd_setS1_':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:277: undefined reference to `_imp__curl_multi_fdset'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager12infoCompleteE8CURLcode':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:328: undefined reference to `_imp__curl_formfree'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager11performWaitEv':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:265: undefined reference to `_imp__curl_easy_perform'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager11getFileTimeERl':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:344: undefined reference to `_imp__curl_easy_getinfo'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager11getFileSizeERd':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:356: undefined reference to `_imp__curl_easy_getinfo'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager16setTimeConditionENS_13timeConditionERl':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:370: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:378: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:384: undefined reference to `_imp__curl_easy_setopt'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager11addFormDataEPKcS1_':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:425: undefined reference to `_imp__curl_formadd'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager17setDNSCachingTimeEi':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:438: undefined reference to `_imp__curl_easy_setopt'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager12setUserAgentESs':
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/basic_string.h:1456: undefined reference to `_imp__curl_easy_setopt'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager12setInterfaceESs':
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/basic_string.h:1456: undefined reference to `_imp__curl_easy_setopt'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager11setPostModeESs':
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/basic_string.h:1456: undefined reference to `_imp__curl_easy_setopt'
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/basic_string.h:536: undefined reference to `_imp__curl_easy_setopt'
../common/.libs/libCommon.a(cURLManager.o):c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:167: more undefined references to `_imp__curl_easy_setopt' follow
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManagerD0Ev':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:86: undefined reference to `_imp__curl_easy_cleanup'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManagerD1Ev':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:86: undefined reference to `_imp__curl_easy_cleanup'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManagerD2Ev':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:86: undefined reference to `_imp__curl_easy_cleanup'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManager7performEv':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:293: undefined reference to `_imp__curl_multi_perform'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:306: undefined reference to `_imp__curl_multi_info_read'
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManagerC1Ev':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:41: undefined reference to `_imp__curl_easy_init'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:54: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:59: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:64: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:69: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:74: undefined reference to `_imp__curl_easy_setopt'
../common/.libs/libCommon.a(cURLManager.o):c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:48: more undefined references to `_imp__curl_easy_setopt' follow
../common/.libs/libCommon.a(cURLManager.o): In function `ZN11cURLManagerC2Ev':
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:41: undefined reference to `_imp__curl_easy_init'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:54: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:59: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:64: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:69: undefined reference to `_imp__curl_easy_setopt'
c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:74: undefined reference to `_imp__curl_easy_setopt'
../common/.libs/libCommon.a(cURLManager.o):c:/msys/1.0/bzflag-2.0.10rc3/src/common/cURLManager.cxx:48: more undefined references to `_imp__curl_easy_setopt' follow
../c-ares/.libs/libcares.a(ares_process.o): In function `ares__send_query':
c:/msys/1.0/bzflag-2.0.10rc3/src/c-ares/ares_process.c:509: undefined reference to `connect@12'
c:/msys/1.0/bzflag-2.0.10rc3/src/c-ares/ares_process.c:538: undefined reference to `connect@12'
collect2: ld returned 1 exit status
make[2]: *** [bzfs.exe] Error 1
make[2]: Leaving directory `/c/msys/1.0/bzflag-2.0.10rc3/src/bzfs'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/c/msys/1.0/bzflag-2.0.10rc3/src'
make: *** [install-recursive] Error 1
It's a good idea to always carry two sacks of something when you walk around. That way, if anybody says: Hey, can you give me a hand? You can say: Sorry, got these sacks.

User avatar
macsforme
General
General
Posts: 2023
Joined: Wed Mar 01, 2006 5:43 am

Post by macsforme » Tue Dec 11, 2007 10:53 pm

It looks like the compiler cannot find the libcurl headers. I would think that configure should've caught that, but I'm not familiar with mingw.

As a guess, maybe copy the libcurl headers into mingw\include?

Also, if you don't need bzadmin, best to disable it with --disable-bzadmin... will save you some space, and make you compile time a bit quicker.

User avatar
DTRemenak
General
General
Posts: 625
Joined: Thu Jan 16, 2003 4:54 am
Location: U.S.
Contact:

Post by DTRemenak » Tue Dec 11, 2007 11:40 pm

ld is the linker, not the compiler. It finds the headers fine, but can't find the symbols in the library. Make sure you did a "make install" when building libcurl (or otherwise copied the .lib file to the appropriate place).

User avatar
bamf.
Private First Class
Private First Class
Posts: 190
Joined: Mon Dec 09, 2002 2:31 pm
Location: New York
Contact:

Post by bamf. » Wed Dec 12, 2007 2:07 pm

I did run "./configure, make and make install" on curl, these all ran with no errors.
I also tried compiling curl with a prior version of curl (no errors) but received the same error when compiling bzflag.
I searched the directory structure for a .lib file and found nothing. I did copy a few files to different locations (libcurl.a, libcurl.la, libcurl.dll.a, libcurl-4.dll, curl.h, curl-config, libcurl.pc, curlver.h, curl.exe).

This is what I get right before the error I posted above:

if g++ -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I/usr/local/include -DINSTALL_DATA_DIR=\"/usr/local/share/bzflag\" -DINSIDE_BZ -fsigned-char -Wno-deprecated -g -O2 -Wall -W -mtune=i686 -ffast-math -fno-exceptions -MT bzfs.o -MD -MP -MF ".deps/bzfs.Tpo" \
-c -o bzfs.o `test -f 'bzfs.cxx' || echo './'`bzfs.cxx; \
then mv ".deps/bzfs.Tpo" ".deps/bzfs.Po"; \
else rm -f ".deps/bzfs.Tpo"; exit 1; \
fi
/bin/sh ../../libtool --mode=link g++ -fsigned-char -Wno-deprecated -g -O2 -Wall -W -mtune=i686 -ffast-math -fno-exceptions -o bzfs.exe -export-dynamic -static AccessControlList.o Authentication.o BanCommands.o bzfsAPI.o BZWError.o BZWReader.o CmdLineOptions.o CustomArc.o CustomBase.o CustomBox.o CustomCone.o CustomDynamicColor.o CustomGate.o CustomGroup.o CustomLink.o CustomMaterial.o CustomMesh.o CustomMeshFace.o CustomMeshTransform.o CustomPhysicsDriver.o CustomSphere.o CustomTextureMatrix.o CustomPyramid.o CustomTetra.o CustomWaterLevel.o CustomWeapon.o CustomWorld.o CustomZone.o DropGeometry.o EntryZones.o Filter.o FlagHistory.o FlagInfo.o GameKeeper.o ListServerConnection.o MasterBanList.o ParseMaterial.o Permissions.o RandomSpawnPolicy.o RecordReplay.o RejoinList.o Score.o ServerCommand.o SpawnPolicy.o SpawnPosition.o TeamBases.o WorldFileLocation.o WorldFileObject.o WorldFileObstacle.o WorldGenerators.o WorldInfo.o WorldWeapons.o WorldEventManager.o commands.o bzfs.o ../obstacle/libObstacle.la ../game/libGame.la ../net/libNet.la ../common/libCommon.la -L/usr/local/lib -lcurl -lwinmm -lws2_32 -lws2_32 ../c-ares/libcares.la ../regex/libregex.la ../zlib/libz.la ../date/libDate.la -lm
g++ -fsigned-char -Wno-deprecated -g -O2 -Wall -W -mtune=i686 -ffast-math -fno-exceptions -o bzfs.exe AccessControlList.o Authentication.o BanCommands.o bzfsAPI.o BZWError.o BZWReader.o CmdLineOptions.o CustomArc.o CustomBase.o CustomBox.o CustomCone.o CustomDynamicColor.o CustomGate.o CustomGroup.o CustomLink.o CustomMaterial.o CustomMesh.o CustomMeshFace.o CustomMeshTransform.o CustomPhysicsDriver.o CustomSphere.o CustomTextureMatrix.o CustomPyramid.o CustomTetra.o CustomWaterLevel.o CustomWeapon.o CustomWorld.o CustomZone.o DropGeometry.o EntryZones.o Filter.o FlagHistory.o FlagInfo.o GameKeeper.o ListServerConnection.o MasterBanList.o ParseMaterial.o Permissions.o RandomSpawnPolicy.o RecordReplay.o RejoinList.o Score.o ServerCommand.o SpawnPolicy.o SpawnPosition.o TeamBases.o WorldFileLocation.o WorldFileObject.o WorldFileObstacle.o WorldGenerators.o WorldInfo.o WorldWeapons.o WorldEventManager.o commands.o bzfs.o ../obstacle/.libs/libObstacle.a ../game/.libs/libGame.a ../net/.libs/libNet.a ../common/.libs/libCommon.a -L/usr/local/lib /usr/local/lib/libcurl.a -lwinmm -lws2_32 ../c-ares/.libs/libcares.a ../regex/.libs/libregex.a ../zlib/.libs/libz.a ../date/.libs/libDate.a -lm
../common/.libs/libCommon.a(cURLManager.o): In function `ZNSt8_Rb_treeIPvSt4pairIKS0_P11cURLManagerESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE11lower_boundERS2_':
It's a good idea to always carry two sacks of something when you walk around. That way, if anybody says: Hey, can you give me a hand? You can say: Sorry, got these sacks.

User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5173
Joined: Fri Dec 13, 2002 4:11 am
Location: https://discord.gg/NN9uAvx
Contact:

Post by JeffM » Wed Dec 12, 2007 4:54 pm

it still looks like it can't find the link library.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests