Compile issues

Again, thank you for your reply!

I hope you may support me on sorting this out, as I really did never create a Makefile myself (usually some IDE does the job). This is the content I found quite short:

SUBDIRS = EmptyAI GeniusAI

The Makefile itself contains more code: pastebin.com/rmcV27fn

My bad. I was talking about Makefile.in., not Makefile.am.

I that can help, I can also install the maemo toolchain. Where do you get it ?

You can either install the files on your machine, or you can download a virtual machine which is ready to go. The documentation is here: wiki.maemo.org/Documentation/Mae … stallation

I have working packages for everything:

vcmi-bin (binary files (vcmiclient, vcmiserver), libraries)
vcmi-data (installation files from the VCMI release and WOG)
vcmi (meta package that depends on vcmi-bin and vcmi-data - adds icons and a .desktop)
vcmi-video (the video files from the linux version, depends on vcmi)
vcmi-bin-dbg (debugging symbols for vcmi-bin)

You’d just have to copy over the binaries from the HOMM3 retail disc, and would be fine.

I don’t want to add them to the repositories yet, as they’re not working due to the missing resolution right now. They install and run fine in the SDK though (using the 800x600@24 cheat I posted in my video). So if you want I can provide you these, and you could use them as a base for your tests. Let me know how you want to do it…

Finally, the Makefile.in: pastebin.com/qr6r9aGK

Thanks a lot!

EDIT: Ubuntux, consider joining #vcmi on freenode, I’m there 24/7 so we could easily talk while you try out…

OK, so you solved your problem ?

I installed the SDK (fremantle), and was able to compile everything. I just had to replace the “Mix_Chunk” with “#include <SDL/SDL_mixer.h>”

No I did not solve it, I have working packages for SVN revision 1613. Everything past 1617 fails to build. That’s my problem. Sorry for not making this clear…

Instead of replacing the Mix_Chunk I added libsdl_mixer1.2.8 to the repos (apt-cache search it in the SDK). I could not sort that error out (as I don’t know the code at all), so I just upgraded libsdl-mixer.

If you managed to compile everything, then it seems really related to my SDK. Did you use libboost 1.38 or 1.42? What debian/ files did you use? The ones in the SVN did not work for me. I felt like there might be files missing that are not in the SVN, but required by the debian builder tools. Eventually they’re just on your local machine?

I guess you’re quite busy, so if you have some spare time feel free to chat with me, so that we don’t have such a huge delay between the forum posts… Of course only if you want. :slight_smile: I’d appreciate to see how you managed to compile with the existing debian files…

I have libboost 1.42 from the extra-devels repository.

I edited the debian/control to change the required cdbs (>= 0.4.48). I also installed debhelper7 and added its path to PATH (export PATH=/usr/bin/dh7/:$PATH)

Then I was able to build the package with included debian rules files.

(the package is empty for some reasons, but the executable was properly compiled).

Okay, let me try that myself. I will do it on the weekend and let you know the results…

Thanks a lot!

New one:

SDL_Extensions.cpp:1021: error: no matching function for call to ‘ColorPutter<2, 0>::PutColor(Uint8*, unsigned int, unsigned int, unsigned int)’
SDL_Extensions.cpp:71: note: candidates are: static void ColorPutter<2, incrementPtr>::PutColor(Uint8*&, const Uint8&, const Uint8&, const Uint8&) [with int incrementPtr = 0]
SDL_Extensions.cpp:83: note:                 static void ColorPutter<2, incrementPtr>::PutColor(Uint8*&, const SDL_Color&) [with int incrementPtr = 0]

Hi,

i repeatedly get an error within the boost library. vcmi 8.2, Linux Ubuntu latest version, boost version 1.4:

vcmiclient: /usr/include/boost/thread/pthread/recursive_mutex.hpp:62: boost::recursive_mutex::~recursive_mutex(): Assertion `!pthread_mutex_destroy(&m)’ failed.
Aborted

If it’s when quitting the game, don’t bother. It’s been broken, fixed, broken again, fixed again and broken once more.

Unfortunately not. O.k., too, but that’s not the problem. It’s somewhen during the game. It is unforseeable when it occures, but when it occures, then after loading the last savegame and repeating the action the error repeats.

Can you upload the map and a savegame ? And which svn revision do you use ?

I use the latest vcmi (0.82). Boost is version 1.40

Upload where? Or can i send you that via e-mail?

You were right. After setting up a new target and rebuilding the latest SVN (1752) it works out of the box. (Sure, I had to install libboost, libsdl-mixer and debhelper7 + the cdbs change)

Now I hope Tow will find time to implement the 16bpp and 800x480 resolution. :slight_smile:

The empty binary should be easy to fix by editing debian/rules a bit. I’m going to give it a try tomorrow, it’s getting late.

Has anyone been able to compile with VS2010 as of late? I get this output from a clean checkout, revision 1776: pastebin.com/aUbtXGyL
The compilation error from the client can be fixed by adding mapHandler.(h|cpp) to the project, but even when it compiles the client cannot be run because of missing entry points in the DLL, which appears to be related to the numerous DLL-interface warnings in the compilation output.

1776 Won’t run for me either, but at least it compiles.
Map Handler has been moved around a long time ago and since then projects / solutions were not updated.

VCMI works with VC10, many developers (including me, Tow Dragon, Warmonger) use it.
You may have some file in the lib project missing, please show that DLL entry points errors.

PS. Is anyone still using Visual 2008?

That warnings are meaningless, nothing should be exported for STL containers, since all their methods are inlined (they’re in header, within class definition).

Yes. Adding mapHandler.cpp to the project and a full rebuild usually helps. The amount of warnings (somewhat around 5k) and the time it takes to link each project is insane though…

Link-time code generation I guess :stuck_out_tongue:

It works now, I’ve been reworking my project files to use properties instead of modifying the project files directly to have them export the files to my Heroes 3 dir. The VCMI_lib.dll didn’t get properly copied over so it was using an old one. :frowning: