# Heroes of Newerth on FreeBSD



## mgp (Jan 16, 2010)

Hi,
I've been playing this game for the last couple of months and I'm really into it. Unfortunately I have to play it on windows as you might have guessed. However there is an official linux version of the game. I decided to try the linux version under FreeBSD's linux emulation but it didn't work. I believe I have all necessary linux packages installed. Here's what I got when tried to run it:

```
[mgp@home ~/HoN]$ ./hon-x86
*** glibc detected *** ./hon-x86: munmap_chunk(): invalid pointer: 0x28345a0b ***
======= Backtrace: =========
/lib/libc.so.6[0x289310f5]
/home/mgp/HoN/libk2-x86.so[0x28345aae]
/home/mgp/HoN/libk2-x86.so[0x28344eb0]
/home/mgp/HoN/libk2-x86.so[0x2860429e]
/home/mgp/HoN/libk2-x86.so[0x280fc091]
/lib/ld-linux.so.2[0x2805fa7d]
/lib/ld-linux.so.2[0x2805088f]
======= Memory map: ========
08048000-08050000 r-xp 00009000 00:00 10810493     /home/mgp/HoN/hon-x86
08050000-080d5000 rw-p 00085000 00:00 0
28050000-28070000 r-xp 00026000 00:00 11305250     /usr/compat/linux/lib/ld-2.9.so
28070000-28071000 r-xp 00026000 00:00 11305250     /usr/compat/linux/lib/ld-2.9.so
28071000-28072000 rw-p 00001000 00:00 0
28076000-28077000 rwxp 00001000 00:00 0
28077000-2808d000 r-xp 00021000 00:00 11305288     /usr/compat/linux/lib/libpthread-2.9.so
2808d000-2808e000 r-xp 00021000 00:00 11305288     /usr/compat/linux/lib/libpthread-2.9.so
2808e000-2808f000 rwxp 00021000 00:00 11305288     /usr/compat/linux/lib/libpthread-2.9.so
2808f000-28091000 rwxp 00002000 00:00 0
28091000-28759000 r-xp 006e7000 00:00 10810508     /home/mgp/HoN/libk2-x86.so
28759000-28774000 rwxp 006e7000 00:00 10810508     /home/mgp/HoN/libk2-x86.so
28774000-287d4000 rwxp 00060000 00:00 0
287d4000-28882000 r-xp 000b4000 00:00 10834001     /home/mgp/HoN/libs-x86/libstdc++.so.6
28882000-28886000 r-xp 000b4000 00:00 10834001     /home/mgp/HoN/libs-x86/libstdc++.so.6
28886000-28887000 rwxp 000b4000 00:00 10834001     /home/mgp/HoN/libs-x86/libstdc++.so.6
28887000-2888d000 rwxp 00006000 00:00 0
2888d000-288b4000 r-xp 00033000 00:00 11305272     /usr/compat/linux/lib/libm-2.9.so
288b4000-288b5000 r-xp 00033000 00:00 11305272     /usr/compat/linux/lib/libm-2.9.so
288b5000-288b6000 rwxp 00033000 00:00 11305272     /usr/compat/linux/lib/libm-2.9.so
288b6000-288c0000 r-xp 0000b000 00:00 10833997     /home/mgp/HoN/libs-x86/libgcc_s.so.1
288c0000-288c1000 rwxp 0000b000 00:00 10833997    Abort trap: 6 (core dumped)
```
It will be really great if someone can take a look. This game is fantastic and it would be very cool if we could play it on our favourite OS.
I'm running FreeBSD-8-STABLE amd64 and I installed the x86 version of the game.
So does anyone know what the above output means?

P.S. this is the game's website http://www.heroesofnewerth.com/
I'm willing to provide my beta account if someone could help port this.


----------



## expl (Jan 16, 2010)

Windows version runs just fine via WINE in DirectX mode.


----------



## mgp (Jan 16, 2010)

Oh does it? That's very nice.
However wine is still only for i386 so I can't use it...
Besides I was thinking that making the linux version run would be somehow cooler. Maybe we could even create a port if we were able to run the linux version.


----------



## expl (Jan 16, 2010)

It can run/compile only for i386 but FreeBSD amd64 can run i386 binaries. Here is a manual how to setup wine on amd64 box: http://wiki.freebsd.org/Wine#head-6963d527c173e57b1567e881305b544d33435b6d (manual does not include part that you will also need to install nvidia i386 ogl-libs of same driver you are using on amd64 base)

I myself am running several modern windows games on FreeBSD8.0 amd64 via wine.


----------



## mgp (Jan 18, 2010)

yeah, this is nice, I gotta try it out
but still ... I think it would be better to figure out how to run the linux version...
now back to the problem

```
*** glibc detected *** ./hon-x86: munmap_chunk(): invalid pointer: 0x28345a0b ***
```
does this come from the linux glibc or the FreeBSD glibc?
could it be a glibc version compatibility problem?
could it be bounds problem?
could I use something like valgrind to debug linux apps on FreeBSD?

10x


----------



## expl (Jan 18, 2010)

FreeBSD libc is not used here. What ever libc version was linked with the client is being ran. The problem isn't actually in munmap_chunk() but somewhere above in time line at allocation stage. You could try to debug it ofc, but its not a simple task when you do not have source code available.


----------



## mgp (Jan 18, 2010)

yeah but when you look at the backtrace:

```
/lib/libc.so.6
```
which should be FreeBSD libc however I don't have that... I have 
	
	



```
/lib/libc.so.7
```
I don't understand why the backtrace is like that...?


----------



## DutchDaemon (Jan 18, 2010)

This is most likely the Linux 'chrooted' one:
[/usr/compat/linux]/lib/libc.so.6


----------



## mgp (May 16, 2010)

There. After S2 Games officially released the game I tried their binary bundle again and it just worked. I just needed to install graphics/linux-f10-libGLU and that's it.
I'm now able to play Heroes of Newerth from my FreeBSD-8-STABLE amd64. Sweet. 
Go ahead and try it out.


----------



## expl (May 16, 2010)

I tried both linux one and wine, wine one works more smooth. Even linux users say its more smooth via wine.


----------



## fronclynne (May 16, 2010)

But wine definitely makes the next morning rough.  Ugh.


----------



## vermaden (May 17, 2010)

mgp said:
			
		

> However wine is still only for i386 so I can't use it...



Yes You can, here: http://daemonforums.org/showthread.php?t=4708


----------



## mgp (May 18, 2010)

Do you guys think creating a port makes sense?
It's a major game after all.


----------



## psycho (May 18, 2010)

fronclynne said:
			
		

> But wine definitely makes the next morning rough.  Ugh.


ahahahaha, good one


----------

