distractionware forums

Archived => VVVVVV Tech Support => Topic started by: NullNix on July 27, 2011, 09:48:09 PM

Title: Linux packaging problems, and a coredump
Post by: NullNix on July 27, 2011, 09:48:09 PM
The following problems prevent usage of the bundled libraries in the Linux humble bundle version.

1) the 64-bit library directory is called LIBS64, but the VVVVV script is looking for LIB64. Solution obvious, rename it.

2) both the LIBS32 and LIBS64 library directories only include the actual libraries (e.g. libSDL-1.2.so.0.11.3) but not the sonamed symlinks by which the dynamic linker looks for them (e.g. libSDL-1.2.0). readelf -d VVVVV_* LIB*/*.so* | grep NEEDED will tell you the symlink names to use.

Unfortunately I can't then use the bundled libraries -- at least not all of them -- because libmikmod bumped soname to libmikmod.so.3 an enormously long time ago (pre-2005) when libmikmod 3.2 was released, but your code depends on libmikmod.so.2 (probably because Debian is still on libmikmod 3.1.x).

I sometimes get a coredump when using teleporters. This backtrace is using my system copy of libSDL, since yours is stripped. It's not terribly useful since VVVVVV_64 is also stripped, but for what it's worth:

#0  0x00007f09e45dbdfa in SDL_memcpySSE (info=<value optimized out>) at ./src/video/SDL_blit.c:141
#1  SDL_BlitCopy (info=<value optimized out>) at ./src/video/SDL_blit.c:172
#2  0x00007f09e45dbc06 in SDL_SoftBlit (src=0x2541820, srcrect=<value optimized out>, dst=0x194a480, dstrect=0x7fffb1e9ad00) at ./src/video/SDL_blit.c:97
#3  0x00007f09e45f149c in SDL_LowerBlit (src=0x2541820, srcrect=0x7fffb1e9ac30, dst=<value optimized out>, dstrect=<value optimized out>) at ./src/video/SDL_surface.c:440
#4  0x00007f09e45f16cc in SDL_UpperBlit (src=<value optimized out>, srcrect=<value optimized out>, dst=<value optimized out>, dstrect=<value optimized out>) at ./src/video/SDL_surface.c:530
#5  0x00000000004497e3 in ?? ()
#6  0x000000000067f6fa in ?? ()
#7  0x00000000006a690d in ?? ()
#8  0x00007f09e3ae5d6d in __libc_start_main () from /lib/libc.so.6
#9  0x0000000000404409 in ?? ()
#10 0x00007fffb1e9c968 in ?? ()
#11 0x000000000000001c in ?? ()
#12 0x0000000000000001 in ?? ()
#13 0x00007fffb1e9e210 in ?? ()
#14 0x0000000000000000 in ?? ()
Title: Re: Linux packaging problems, and a coredump
Post by: Terry on July 27, 2011, 10:25:58 PM
See this thread: http://distractionware.com/forum/index.php?topic=359.0

A fix is coming VERY VERY soon, like, within the hour! Sorry about this.
Title: Re: Linux packaging problems, and a coredump
Post by: NullNix on July 28, 2011, 11:12:25 AM
The libraries are better, but still depend on libjpeg.so.6.2. libjpeg's soname is markedly unstable, and has jumped through 7 to 8 in recent years. Distros are using all three :( :( :( so probably shipping a copy of that too would be worthwhile. Easily fixed for me by just moving your copy of libSDL_image-1.2.so out of the way and letting VVVVVV pick up my system copy.

(The coredump looks like it's fixed, but it's quite intermittent, so it's hard to be sure.)
Title: Re: Linux packaging problems, and a coredump
Post by: simoroth on July 28, 2011, 12:28:35 PM
Yeah. Its always hit and miss as to what assumptions we can make of the user base when it comes to Linux. We will certainly tweak and update the Librarys we included.

Also in the near future we will most likely create a .deb package that will allow the user greater control of what library's are installed.