Knowledgebase Article 58


what to do if ASC/Linux doesn't compile

Compiling ASC: general advice

ASC requires several libraries. If your distribution has these libraries included, just install them from your distribution.

But if you have to download libraries (like SDL or Paragui) and install them yourself, I recommend to download the source and compile the library yourself. Libraries in RPM are prebuild and can't adjust themself to your system.

An example: SDL has several different methods of sound output. If all are enable during build, you need all those libraries installed just to use SDL. If only one sound system is enabled, there is the chance that this is the wrong sound system for your installation. But if you build SDL yourself, configure will automatically detect which sound system to use and configure the source accordingly, so it will run immediately.

The experience after many many problem reports is that compiling the source makes less hassle. You can try RPM packages, but if they don't work, uninstall them and try the source.

paragui problems

If you have any paragui problems, just disable paragui:

configure --disable-paragui

Currently the sound settings is the only dialog which uses paragui, so without paragui you have to adjust your sound settings be editing ~/.asc/ascrc

configure complains it can't find libsigc++

Download and install libsigc++.

I've compiled and installed libsigc++ but configure still can't find it

Run export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/" and try again.

linking fails because libsmpeg.so is not found

Look in your /usr/lib/ directory: is there a file called libsmpeg-0.4.so.0? If yes, create a symlink there:
ln -s libsmpeg-0.4.so.0 libsmpeg.so

configure complains it can't find sdl-config

If you have installed a SDL.RPM that came with your distribution, you might need to install SDL_devel.rpm too.

the compile complains it can't find sdl.

If you have installed SDL in a non-standard directory, run:
./configure --with-SDL-prefix= should be the prefix you make installed SDL into.

the compile complains: Could not run SDL test program

If you've installed the SDL.RPM packages, you can try to build SDL yourself. The SDL.RPM is compiled for a certain system configuration, if you have a different one SDL may not link. This seems to be caused by missing dependencies in the SDL.RPM

linking problems: cannot find slang

The error message

/usr/lib/gcc-lib/i486-suse-linux/3.3/../../../../i486-suse-linux/bin/ld: cannot find -lslang
collect2: ld returned 1 exit status

This is an error in the package dependencies of your Linux installation. ASC does not depend on slang, but it depends on SDL_Mixer. SDL_Mixer depends on SMPEG which depends on libaa. And libaa depends on slang.

To correct this problem, install the slang package. And write to your Linux vendor to complain about the missing dependency.

You can verify that it is really a problem of the installed libraries and not of ASC by running ldd asc and then ldd libraryname.so on each of the listed libraries to see the dependencies.

Problems that should not occur any more

configure or bootstrap complains it can't find sdl or paragui

If you compiled the library yourself and installed it, the problem may be that aclocal doesn't search in all required paths. Paragui and SDL install their .m3 files in /usr/local/share/aclocal , but at least on SuSE Linux this directory is missing from the aclocal search path. You can either run

aclocal -I /usr/local/share/aclocal
or copy the .m4 files from /usr/local/share/aclocal to /usr/share/aclocal

Last change: Thu, 2005-03-03 22:53


search knowledgebase
browse knowledgebase