LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Games (https://www.linuxquestions.org/questions/linux-games-33/)
-   -   heroes3 (Heroes of Might and Magic III) not working under FC3 (https://www.linuxquestions.org/questions/linux-games-33/heroes3-heroes-of-might-and-magic-iii-not-working-under-fc3-255494/)

sg_x_2 11-16-2004 06:39 AM

heroes3 (Heroes of Might and Magic III) not working under FC3
 
I tried my old FC2 solutions to get heroes3 working under my otherwise spiffy new install of FC3, including LD_ASSUME_KERNEL=2.4.1 and installing the compat-glibc from RH6.3 and doing LD_LIBRARY_PATH=/usr/i386-glibc21-linux/lib:$LD_LIBARY_PATH -- and, of course, combinations of the above.

no joy.

Any advice?

sg

Brutal Ben 03-22-2005 12:05 PM

What kind of error are you getting? I simply get the message Bus Error when I try to run the game. Not to mention I can't find the patch anywhere on the internet anymore.

kilgor 03-25-2005 10:10 PM

homm3
 
Hi, I read this thread and thought of installing HOMM3 myself. I have a homm3.linux.iso file and a patch: heroes3-1.3.1a-unified-x86.run (random mirror from google).

System: FC3, livna's nvidia drivers.
AMD Athlon 2500+ Barton, 512MB PC-2700, Epox nforce2 motherboard.
Sound: Using a Soundblaster Live! 5.1 Digital PCI card.

Mounted the iso as a loopback device and ran setup.sh:
Code:

# sh setup.sh
----====== Heroes of Might and Magic III installation program ======----

You are running a x86 machine with glibc-2.3
Hit Control-C anytime to cancel this installation program.

Please enter the installation path [/usr/local/games/Heroes3]
Please enter the path for binary installation [/usr/local/bin]
Install Base Install? [Y/n] Y
Install Scenarios? [N/y] y
Install Sounds and Graphics? [N/y] y
Install Music? [N/y] y
Install Videos? [N/y] y
Do you want to install desktop items? [Y/n] n
Installing to /usr/local/games/Heroes3
602 MB available, 341 MB will be installed.

Continue install? [Y/n] Y
<- INSTALLING ->
Would you like to view the README? [Y/n] n

Installation complete.
Would you like launch the game now? [Y/n] n

Next, i tried running it:
Code:

$ heroes3
Creating heroes3 preferences directory: /home/user/.loki/heroes3

BUG! (Segmentation Fault)  Going down hard...
Segmentation fault

$ heroes3

BUG! (Segmentation Fault)  Going down hard...
Segmentation fault

Not good, maybe the patch would fix it.
Code:

# sh heroes3-1.3.1a-unified-x86.run
Verifying archive integrity...OK
Uncompressing Heroes of Might and Magic III 1.3.1a Update......................................
loki_patch: dynamic-link.h:57: elf_get_dynamic_info: Assertion `! "bad dynamic tag"' failed.
./update.sh: line 60: 11159 Aborted                loki_patch --verify patch.dat
The program returned an error code (1)

Little bit of googling and the the solution:
Code:

# sh heroes3-1.3.1a-unified-x86.run --keep
# cd heroes3-1.3.1a-unified-x86/bin/Linux/x86/
# rm -f loki_patch
# wget http://icculus.org/~msphil/loki/x86/loki_patch
# chmod 755 loki_patch
# cd ../../../
# ./update.sh
=============================================================
Welcome to the Heroes of Might and Magic III 1.3.1a Update
=============================================================

Would you like to read the README for this update?  [Y/n]: n

=============================================================
Would you like to apply this update? [Y/n]: Y

Please enter the installation path: []: /usr/local/games/Heroes3/

=============================================================
Performing update:
Computing MD5 sums for new uninstaller, this may take a while...
 100%
Product updated successfully.

Let's try running HOMM3 again:
Code:

$ heroes3

BUG! (Segmentation Fault)  Going down hard...
Heroes of Might & Magic III 1.3.1a
Built with glibc-2.1 on x86
Stack dump:
{
[0x82062d3]
[0x82064bb]
[0x420]
[0x827fe7e]
[0x825f1a4]
[0x825f00b]
[0x825953d]
[0x82596be]
[0x824bcdf]
[0x8242f69]
[0x8243048]
[0x8137d37]
[0x82f5abd]
[0x8048111]
}
Please send a full bug report,
along with the contents of autosave to: support@lokigames.com
Unable to execute loki_qagent - exiting

The loki_qagent is irrelevant, it's a bug/crash report tool probably.
But mind this:
Code:

Built with glibc-2.1 on x86
I'm using 2.3:
Code:

$ rpm -qa | grep glibc
glibc-kernheaders-2.4-9.1.87
glibc-2.3.4-2.fc3
glibc-headers-2.3.4-2.fc3
glibc-devel-2.3.4-2.fc3
glibc-common-2.3.4-2.fc3

Now this thread looks helpful, it's about neworking issues, but the problem is with glibc versions. It suggests using this (older!) modified patch. This idea doesn't sound too appealing to me.

Any ideas welcome! Installing an old version of glibc ain't that great, really.

---
Linux (loki) and Windows version were not net compatible IIRC, so I'll end up running HOMM3 with cedega prolly, but still I'd like to get the linux version working. Just for the heck of it and maybe even help someone out :).

thanquol 04-07-2005 03:43 PM

Hi!
I'm in the same position, please let us know if/when there are a solution/work-around to this!

isotrope 04-11-2005 09:24 AM

I've found a work around ...

Using knoppix 3.4, I was able to start heroes3 from my Linux partition. The game was running fine. This is not the best solution since it requires a reboot of your machine, but I think it is still better than going under Windows.

kilgor 04-11-2005 11:39 AM

Quote:

Originally posted by isotrope
Using knoppix 3.4, I was able to start heroes3 from my Linux partition.
Does it only work with 3.4, have you tried newer/older versions of knoppix?

Could you check, which glibc version does Knoppix 3.4 use.

And what versin of HOMM3 you are using and which binary did you use, the default or dynamic?

isotrope 04-11-2005 04:48 PM

I didn't not try with a more recent version of Knoppix. Knoppix 3.4 comes with glibc version 2.3.2 and a 2.4.26 kernel. I'm using the default binary of Heroes3 (version 1.3.1a).

It gives me the impression that glibc is not causing the problem. Maybe we should try with more recent version of Knoppix or other Live CD to see some pattern...

wwp 04-28-2005 02:46 AM

Any news in here?

I'm stuck at the same point (FC3 upgraded, HOMM3 1.3.1a), but also tried to use the dynamic binary according to http://www.linuxquestions.org/questi...05/02/4/276090 (it's a similar problem from Railroad Tycoon II users), unfortunately, I still get a:
./heroes3.dynamic
Segmentation fault

opt1k 05-11-2005 01:03 AM

Issue Solved kind of.
 
I forgot to check this, sorry im using an older version of libc6 than a few of you.

ii libc6 2.3.2.ds1-21 GNU C Library: Shared libraries and Timezone
ii libc6-dev 2.3.2.ds1-21 GNU C Library: Development Libraries and Hea

Ok here is this fix, that worked for me to install the patch.

1. open up your File: heroes3-1.3.1a-cdrom-x86.run or the unified, ... whichever you choose in a text editor.

2. remove everything down to and including the line containing END_OF_STUB (line 176 in heroes3-1.3.1a-cdrom-x86.run) so now all you have left is a bunch of unreadable garbage.

3. Now save your file as update.tgz

4. tar xvzf update.tgz, u will receive an unexpected end of file error, ignore it.

5. now you will have a file called update.sh, open that in a text editor and comment out the following lines

# Verify that the loki_patch version is okay
#if loki_patch --verify patch.dat; then
# :
#else
# exit 1
#fi

6. then run sh update.sh and follow the on-screen instructions, u may get an error about your patch failing but it does work and heroes 3 runs perfectly.


adric:~/lokipatch-test-fakk/data# heroes3 -v
Heroes of Might & Magic III 1.3.1a
Built with glibc-2.1 on x86
adric:~/lokipatch-test-fakk/data#

Fullscreen/Network both work correctly now.

Also note this file, if you are missing libraries try linking your current to the ones it is looking for. (ln -s)


adric:/usr/local/games/Heroes3# cat README.dynamic
Heroes of Might & Magic III
1.3.1a Dynamically Linked

This is the unsupported dynamically linked version of the game.
It depends on the presence of the following libraries :

libSDL_mixer-1.2.so.0 http://www.libsdl.org/projects/SDL_mixer/
libsmjpeg-0.2.so.0 http://www.lokigames.com/development/smjpeg.php3
libsmpeg-0.4.so.0 http://www.lokigames.com/development/smpeg.php3
libSDL-1.2.so.0 http://www.libsdl.org/ (version 1.2.2)

Loki does not officially support dynamic patches, if you run this binary
you are on your own.


####
this is kind of odd. it seems to work ok though

adric:/usr/local/games/Heroes3# ls -l heroes3
-rwxrwxr-x 1 root staff 4027700 2005-05-11 09:30 heroes3
adric:/usr/local/games/Heroes3# ldd heroes3
not a dynamic executable
adric:/usr/local/games/Heroes3# which heroes3
/usr/local/bin/heroes3
adric:/usr/local/games/Heroes3# ldd `which heroes3`
not a dynamic executable
adric:/usr/local/games/Heroes3# ls -l `which heroes3`
lrwxrwxrwx 1 root staff 32 2005-05-10 08:43 /usr/local/bin/heroes3 -> /usr/local/games/Heroes3/heroes3

kilgor 05-11-2005 07:36 AM

Re: Issue Solved kind of.
 
Quote:

Ok here is this fix, that worked for me to install the patch.
Why didn't you use the method I linked to and used? Click here and scroll down.

Quote:

Also note this file, if you are missing libraries try linking your current to the ones it is looking for. (ln -s)
It means, if heroes3 can't find some library, 'cause it's searching in the wrong place, then you could make a link to it with "ln -s".

Quote:

this is kind of odd. it seems to work ok though
adric:/usr/local/games/Heroes3# ldd heroes3
not a dynamic executable
It's not odd, heroes3 is not the dynamic one. heroes3.dynamic is.
Here's the output for heroes3.dynamic:
Code:

$ ldd /usr/local/games/Heroes3/heroes3
        not a dynamic executable

$ ldd /usr/local/games/Heroes3/heroes3.dynamic
        libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0xb7f99000)
        libsmjpeg-0.2.so.0 => /usr/lib/libsmjpeg-0.2.so.0 (0xb7f77000)
        libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0xb7f1f000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7ea1000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7e8f000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7e81000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7e7d000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7db6000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7d92000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7c68000)
        libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb7c61000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7c3a000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb7c35000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7b6d000)
        libasound.so.2 => /lib/libasound.so.2 (0xb7ac5000)
        /lib/ld-linux.so.2 (0xb7fe8000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7abd000)

What distro do you use exactly?

opt1k 05-11-2005 07:35 PM

Re: Re: Issue Solved kind of.
 
-The distribution im using is Debian 3.1 (sarge) testing.
-I didnt use the method you linked to because i had done this before I read about that method. Its a secondary alternative i suppose.
-apparently I didnt install the dynamic heroes3, i was testing 2 of the patches and i must have used a different patch, slight mistake on my part, i over-wrote the files.
but it is showing i have the latest release.
$ ldd /usr/local/games/Heroes3/heroes3.dynamic
not a dynamic executable

$ heroes3 -v
Heroes of Might & Magic III 1.3.1a
Built with glibc-2.1 on x86
------
I have been doing some tinkering with LD_LIBRARY_PATH and an old redhat glibc-2.1.3-15, im pretty sure this is going to end up being the only way to run a loki game that segfaults (obviously due to libc6 being incompatible) Im not too sure where to go from here since that didnt work.

This may be of some help for any heroes3 issues. as a possible start for a solution.

LD_LIBRARY_PATH=/home/opt1k/Downloads/FireFox-Downloads/lib/:/lib:/usr/lib:$LD_LIBRARY_PATH fakk2
fakk2: /home/opt1k/Downloads/FireFox-Downloads/lib/libc.so.6: version `GLIBC_2.2' not found (required by /usr/X11R6/lib/libX11.so.6)
fakk2: /home/opt1k/Downloads/FireFox-Downloads/lib/libc.so.6: version `GLIBC_2.3' not found (required by /usr/X11R6/lib/libX11.so.6)
fakk2: /home/opt1k/Downloads/FireFox-Downloads/lib/libc.so.6: version `GLIBC_2.3.2' not found (required by /usr/X11R6/lib/libX11.so.6)
fakk2: /lib/ld-linux.so.2: version `GLIBC_2.1.1' not found (required by /home/opt1k/Downloads/FireFox-Downloads/lib/libc.so.6)

glibc-2.1.3-15
-----------------
$ fakk2
BUG! (Segmentation Fault) Going down hard...
Heavy Metal: FAKK2
Built with glibc-2.1 on x86

Quote:

Originally posted by Stack dump:
{
fakk2(loki_printstack+0x3f)[0x8181443]
fakk2[0x818162b]
fakk2[0x81060a4]
/lib/libpthread.so.0[0x40067825]
/lib/libc.so.6[0x401ab6f8]
/usr/lib/libz.so.1(inflate+0x12a7)[0x40052967]
fakk2(unzReadCurrentFile+0x15c)[0x80e72f4]
fakk2(FS_Read+0xfa)[0x80d4a42]
fakk2(FS_ReadFileEx+0x1e7)[0x80d4fab]
fakk2(FS_ReadFile+0x18)[0x80d5044]
fakk2[0x80d6460]
fakk2(FS_InitFilesystem+0x62)[0x80d65ca]
fakk2(Com_Init+0x48)[0x80d1b6c]
fakk2(main+0x25a)[0x8106416]
/lib/libc.so.6(__libc_start_main+0xc6)[0x40197e36]
fakk2(XMapRaised+0x35)[0x808e5e1]
}
Please send a full bug report,
along with the contents of autosave to: support@lokigames.com
Unable to execute loki_qagent - exiting

kilgor

Why didn't you use the method I linked to and used? Click here and scroll down.


It means, if heroes3 can't find some library, 'cause it's searching in the wrong place, then you could make a link to it with "ln -s".


It's not odd, heroes3 is not the dynamic one. heroes3.dynamic is.
Here's the output for heroes3.dynamic:
Code:

$ ldd /usr/local/games/Heroes3/heroes3
        not a dynamic executable

$ ldd /usr/local/games/Heroes3/heroes3.dynamic
        libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0xb7f99000)
        libsmjpeg-0.2.so.0 => /usr/lib/libsmjpeg-0.2.so.0 (0xb7f77000)
        libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0xb7f1f000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7ea1000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7e8f000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7e81000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7e7d000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7db6000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7d92000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7c68000)
        libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb7c61000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7c3a000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb7c35000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7b6d000)
        libasound.so.2 => /lib/libasound.so.2 (0xb7ac5000)
        /lib/ld-linux.so.2 (0xb7fe8000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7abd000)

What distro do you use exactly?


thraldur 06-19-2005 07:02 AM

Hey everyone, Heroes 3 works under Fedora Core 4 and with some tweaking you can get network multiplayer to work too (http://forums.fedoraforum.org/showth...58&mode=linear ). But I'd be really grateful if anybody could tell me how to run it in full screen (not windowed) - even when I type -fullscreen after heroes3, it runs in windowed mode and I'd like to play it in fullscreen. Thanks.

oshunluvr 03-12-2006 04:49 PM

Railroad Tycoon 2 tcp/ip fix for Mandriva 2006
 
Here's how I got multiplayer working using Mandriva 2006

Patch rt2 to 1.54d

Install rpm packages libSDL_mixer-1.2, libSDL-1.2 and libsmpeg-0.4

download the package containing libsmjpeg-0.2.so.0

and uncompress (I used rpm2cpio) and copy the files under "lib" to /usr/lib.

create symlink libSDL-1.2.so.0 to libSDL-1.2.so.0.7.2 in the /usr/lib directory

under /home/yourlogin/.loki/rt2 create a text file named "userprofile.txt" and insert the text "ipaddress=X.X.X.X" where X.X.X.X equals the ip address you want to use.

launch using rt2.dynamic

That's it.

The startup music is a little fudged up on my system, but all else works OK

Alien_Hominid 03-13-2006 03:24 PM

Thraldur try alt+f4 or alt+enter. Don't remember but someone of them really works. Talking about errors installing heroes didn't have anyone (installed graphically from cd), then applied patch. Everything works perfectly except some bugs in the game. :)


All times are GMT -5. The time now is 08:25 PM.