[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

installwatch.so: undefined symbol $$dyncall and a quick fix



When running checkinstall on a debian sarge on a HP 785 I would see:

$ checkinstall
...
Installing with "make install"...

========================= Installation results ===========================
/bin/sh: relocation error: /usr/lib/installwatch.so: undefined symbol: $$dyncall
...


I looked through a few linux-parisc and debian-hppa archives and found
there were problems with dyncall (part of libgcc) in the 2000-2002ish years.
Though I don't think I've read enough to fully understand their eventual
solution I have at least found a fix that works for installwatch.
(I say I don't think I've read enough because from what I've read it seems
the problem should be fixed with the gcc in debian sarge. Perhaps the
date of installwatch.so, June 2002, is relevant.)

The fix is to:
1) apt-get source installwatch
2) make # not needed other than to let you later run make install
3) compile installwatch.so from installwatch.c using gcc.
   that is, _do not_ use ld as the Makefile does.
   gcc -Wall -fPIC -D_GNU_SOURCE -D_REENTRANT -DVERSION=\"0.6.3\" -shared -o installwatch.so installwatch.c -lc -ldl
4) make install

You may of course want to install with prefix /usr/local.

happy checkinstalling :),
-- 
Chris Frost  |  <http://www.frostnet.net/chris/>
-------------+----------------------------------
Public PGP Key:
   Email chris@frostnet.net with the subject "retrieve pgp key"
   or visit <http://www.frostnet.net/chris/about/pgp_key.phtml>



Reply to: