Subject: Re: help on porting...
To: Joel CARNAT <joel_carnat@yahoo.fr>
From: Martin Weber <Ephaeton@gmx.net>
List: tech-pkg
Date: 06/10/2002 19:07:15
On Mon, Jun 10, 2002 at 06:30:53PM +0200, Joel CARNAT wrote:
> Hi,
> 
> 	I'm trying to get GKrellm volume's plugin work on NetBSD...
> 	I've succeeded compiling it !
> 	But on loading, I get:
> ==========
> /usr/local/lib/gkrellm/plugins/volume.so
> 	Error: /usr/local/lib/gkrellm/plugins/volume.so: Undefined PLT symbol
> "_oss_ioctl" (reloc type = 7, symnum = 88)

Welcome to NetBSD and its ELF implementation :)

> ==========
> 	I've already checked various audio packages to see common things but I
> didn't notice much things apart from the "#include <soundcard.h>...
> 
> 	Are there some "easy" thing that always must be done to port from
> Linux->NetBSD ?

Yeah, adjust the rpaths. Check this out:
	http://www.netbsd.org/Documentation/elf.html
	http://www.netbsd.org/Documentation/software/compiling.html

> 	What means this error message (I mean the 'reloc' and 'symnum' thing) ?

Don't ask me about the reloc(ation) type's meaning, but symnum I suppose
is symbol number. Basically it cannot load symbols (variables, functions ..)
from a shared library. In your place, it cannot successfully load the libraries
the library itself (i.e. volume.so) is depending on. The above links should
help you to sort that out.

> 
> Note: I've only already coded general things... not hardware related
> things so don't be afraid to be very explicit ;)

The above pointers plus maybe a man gcc or ld and you'll be fine :)

> 
> Thanks for answers,
> 	Jo
hth, -martin