vbam Slackbuild
I'm trying to build the vbam slackbuild.
http://slackbuilds.org/repository/14.0/games/vbam/ It ran first time until I started a game, but crashed right away. Now it crashes as soon as I try to start it now. I get the following error: Code:
(gvbam:10760): Gtk-WARNING **: Error loading theme icon 'edit-find' for stock: Fatal error reading PNG image file: Incompatible libpng version in application and library Any ideas? Building on Slackware64 + AlienBob's multilib. |
Sorry about that. I'm the VBAM SlackBuild maintainer, and I'll have an answer for you by the end of the day tomorrow. Probably earlier.
|
I'm actually kind of at a loss for how to solve this. Help?
|
The VBA-M project is rather poorly documented and more or less is often very slipshod at best with it working at times with it's builds. I've had less than favourable results with it.
You might also want to check the older 1.8.0-1054 release. http://slackbuilds.org/repository/13.37/games/vbam/ I had this one working rather well a while back. Worst part is they use CMake rather than a traditional configure make script. |
Sorry, wasn't expecting a swift response.
I haven't had chance to look into solutions since posting. I'd say do what ReaperX7 suggests and use an older version if that works. Another suggestion is to keep the command line binary in the install. I noticed that it isn't in my path, but it does get built. I don't have tonnes of time until Sunday evening. If there is anything that you want me to do, I'm very happy to help, but it will have to wait until then. |
The version that ReaperX7 suggests craps out when building:
Code:
wget http://downloads.sourceforge.net/project/salix-sbo/13.37/vbam/vbam-1.8.0.1054-src.tar.gz |
Has anyone else had "incompatible libpng version in application and library" issues in anything else? VBAM is, strangely, the only thing that seems to be affected.
|
I think they're using static libs... because... I got libpng and zlib weren't the supported versions either.
I think Higan now supports GBA gaming as well as NES, GB, GBC, and SNES. Try it out and see if that emulator helps. Be aware I did have a very bad issue getting it to work recently saying some of the rom libraries it distributes by default were not located. |
Post # 6.
`vbam-r1159-src.tar.bz2' seems to be bug free : http://downloads.sourceforge.net/pro...59-src.tar.bz2 $ cd vbam*/ && mkdir build && cd build/ $ cmake -DENABLE_WX=OFF -DENABLE_FFMPEG=OFF -DENABLE_GTK=OFF ../ && make : No errors. Or : $ cmake ../ && make : No errors either. - |
@knudfl: If you're not on Slackware, please be aware that the issue seems to be Slackware-specific. And it comes up when VBAM is run. Not when it's compiled. The opening post is about vbam-r1159-src.tar.bz2.
|
Quote:
No idea why VBA-M would be messing up like that, though. |
According to the original issue, I keep seeing suggestions of "reinstall gnome-icon-theme". I'll take a look later as I am at work right now, but I'm hoping a rebuild of Slackware's build will magically make the problem go away.
That is the suggestion, anyway. |
Why would an icon theme interfere with zlib and libpng?
By comparison Higan's emulation of GBA is pre-alpha, but it's actually quite good as it tends to work the first time around without too much of a hiccup. |
VBAM's source repository actually includes copies of its dependencies, including specifically zlib and libpng.
I'm going to try to do an Alien Bob-style build where copies of these dependencies (from VBAM's repositories) are built first, and then statically linked into VBAM. Should be able to do it by the end of the week. |
Slackware comes with two versions of libpng in the same package - 1.4.12 and 1.2.50. I'm not sure if it can happen, but perhaps it has managed to link to 1.2.50 instead of 1.4.12, which I think is the version gtk uses.
Could you run "ldd gvbam" and see what version of libpng it is linking to? |
Quote:
Code:
➜ Linux ldd /usr/bin/gvbam | grep libpng 1. The executable is not the only thing that needs to be checked. I have not checked every library in its chain of dependencies to make sure that not a single one of them is linked against libpng 12. And no, I won't do that. :) 2. If this is indeed the issue, then I would find it very strange that VBAM seems to be the only program affected. |
Also, anyone who solves this before I do gets offered ownership of the SlackBuild. :)
|
Ok, I was completely off on that guess.
On non-multilib Slackware64-14.0 I've just compiled vbam using the slackbuild. The program seems to run fine and doesn't crash with libpng incompatibility errors. So perhaps it's a multilib build problem? I don't have a multilib system so I can't look into it myself. ldd points to the 64 bit libpng on my system. Code:
ldd /usr/bin/gvbam | grep libpng |
Interesting that it works for you. I just tested it on a 32-bit VM and had the same problem yilez (the OP) did.
|
The 32-bit version works here. I haven't done anything special either. Dependencies taken care of first as usual, then vbam installed without the ffmpeg option.
Only other thing I can think of and a complete stab in the dark is that I'm using fluxbox which I don't think uses gtk themes. |
Okay, the icons still don't work, but let me know if this still crashes. It's a SlackBuild for r1199 that statically links libpng and zlib.
Source: http://www.duganchen.ca/files/vbam-r1199-src.tar.bz2 SlackBuild: http://pastebin.com/EFczu0P0 |
Don't you need SDL for OpenGL rendering?
For me... it crashes every so often still without so much as a warning. I've tried to grep the logfile, but nothing except the program simply terminated execution. Turned on debugging build and nothing also. I'm getting no icons also. Kinda wondering what the heck they are doing using outdated static libs within the project rather than using the dynamic or static system libs with simple compatibility workaround internally. Dugan you should look at the source code as to how much of a mess it is. |
Quote:
The GUI builds use SFML, which is a competitor to SDL. |
Ah... hmmm... then again SDL does have a GUI project, but not certain how it's development has been going. I think there was one for SDL_GTK or something.
|
I think this proves your point about what a mess the source code is. :P
In addition to Higan, other options you might try are: Mednafen, or the Windows version of VBAM in Wine. |
Quote:
mv /usr/lib /usr/lib_ run slackbuild mv /usr/lib_ /usr/lib to get one to build. EDIT: This doesn't work, by the way |
Quote:
Code:
** |
Quote:
I honestly don't know. I do know that rebuilding the icon theme set did nothing. :) |
Thinking about it again, it might be the recent file menu. It does also happen to be the last error before crashing (I get alsa underrun occasionally but it's not fatal). From the behaviour you described it ran the first time but crashed after loading a file. It then crashed on startup on subsequent runs. The difference being that the recent menu now has an entry to it and trying to load the associated menu is causing it to crash.
|
Indeed. The recent menu is the only thing that will have changed. In fact, removing the entry from .local/share/recently-used.xbel allows me to load up the GUI again.
I am testing a few things at the moment. I think I know what the problem is, but I need to test first. |
Quote:
http://slackbuilds.org/faq/#multilib |
And if anyone's wondering about the WxWidgets GUI (-DENABLE_WX=ON), I can't even get r1199 to build with it.
|
I just compared our SlackBuild to Arch's PKGBUILD, and Arch does something peculiar:
Code:
# Fix SFML |
I guess Arch installs SFML in a nonstandard location so that you can install both SFML 1 and SFML 2 at the same time.
As for SFML being linked against libpng: not according to ldd. |
Can anyone help test something?
I am trying to build on a non-multilib 64 bit slackware gtkmm - http://slackbuilds.org/repository/14.0/libraries/gtkmm/ All dependencies are installed, but this keeps failing. It is somewhere in the dependency tree for vbam. I am wondering if this is the cause. It builds fine on multilib, but not on pure 64. Can anyone else build it on non-multilib 64? EDIT: The error is quite abrupt, too: Code:
g++: internal compiler error: Killed (program cc1plus) |
GTKmm was a dependency for the old GTK based UI. I highly doubt they removed the code for it.
As far as WxWidgets go, you may have to install WxPython or WxGTK to get it working. Not sure though as my luck with that emulator has been hit or miss randomly. Even then I'm at a loss. Yilez are you building with flagged command "ARCH=x86_64 ./gtkmm.SlackBuild"? |
Quote:
|
Hmmm...
WxWidget's website says WxPython should have it as part of the projects, same as WxGTK, but you could try a raw build of WXWidgets itself. http://www.wxwidgets.org/ And I don't think we have a SlackBuild for this toolkit either... |
gtkmm builds fine on pure 64 bit. It might be an out of ram error.
I can get wxvbam to compile with WxGTK after editing the SlackBuild to have an extra --enable-graphics_ctx at the configure stage and also modifying the vbam CMakeLists.txt but I'm instantly met with a segmentation fault upon running. Just out of curiosity, what window managers/desktop environments are you all using? It's strange that I can get gvbam working both for 32 and 64 bit. It also makes it rather difficult to fix. I could probably look into a patch to remove the recent games menu but I don't know if that'll fix the problem. |
Quote:
|
1 Attachment(s)
Ok, I don't know why the errors happen but I think I've got it working.
Fluxbox - no errors. xfce - gtk libpng warnings. gtkRecentManager makes gvbam burn and die. No menu icons. Removing gtkRecentManager stuff from source seems to work. Still no menu icons and gtk libpng warnings appear whenever you use the menu, but it works. Patch attached for r1199. No guarantees though. EDIT: Patch also works for r1159. EDIT: EDIT: There's a better way to solve this than removing the recent game menu. So don't use this patch! See post #45. |
Quote:
I wasn't passing in any architecture flags to the slackbuild. It isn't something that I've ever had to do and it isn't mentioned on the readme. RAM might be the problem. I just set up the VM with default RAM. I suppose I should have made sure it was 1 or 2 GB. If it does build ok in Fluxbox, what does that mean? Are KDE and XFCE knackered? Is Fluxbox somehow more correct? Or broken enough to start working again? I admit, I used fluxbox on my VM for the first time since 2002. I am liking it more than I ever thought possible. If XFCE and KDE are somehow broken, I might be switching permanently. |
I think the problem is a combination of the theme icons and the gtk recentmanager fallback.
If gtkRecentManager cannot load "text-x-generic" icon files when it does not know the file mime type it will reach a g_assert in the code which fails and the application dies. I think the vbam code does not attempt to work around this but it's not really their fault. Fluxbox doesn't set up gtk themes for you so unless you do so gtk applications will use the fallback icon theme which is probably gnome-icon-theme. I'm not sure about KDE and Xfce, but I'm guessing some of the themes you can choose probably don't have text-x-generic icons in them. EDIT: Well, can't get xfce to work even choosing gnome or tango icons so probably some other settings also matter. gtk fallback icons might be something else. I will probably stop digging. |
So, I can confirm that it works fine in fluxbox on multilib.
I think this mostly rules out the VBAM slackbuild being dodgy. I don't know enough about the gnome-icon-theme or anything else to really help. I rebuilt it the other day, and that didn't help. By the way, I'm still testing with version 1159. I haven't changed to 1199 at all. |
1 Attachment(s)
Better quick fix attached. Recent games menu retained. Simply don't show the icons! Tested on Xfce.
I'll really stop looking into this now. |
I can confirm that this works. I suppose now the options are:
1: include the patch in the slackbuild, or 2: try to find the root cause elsewhere. I really wouldn't know where to look elsewhere, and I don't know if anyone really has the time. Either way, good work! EDIT: Tested on KDE |
Wow, thanks turtleli and yilez. I'll take the "include the patch in the SlackBuild" option.
|
Cheers dugan. I'll mark this as solved now.
|
All times are GMT -5. The time now is 10:43 AM. |