[prev in list] [next in list] [prev in thread] [next in thread] 

List:       netatalk
Subject:    Re: UAMs not loading in pre2.1.4
From:       andrew morgan <morgan () orst ! edu>
Date:       2000-01-28 3:21:31
[Download RAW message or body]



On Thu, 27 Jan 2000, Tom Fitzgerald wrote:

> I'm trying to upgrade to pre-asun2.1.4-37b, but am getting the error
> messages syslogged:
> 
> Jan 27 19:09:39 archetype.mit.edu afpd[27020]: uam_load(uams_guest.so):
>    failed to load.
> Jan 27 19:09:39 archetype.mit.edu afpd[27020]: uam_load(uams_clrtxt.so):
>    failed to load.
> Jan 27 19:21:05 archetype.mit.edu afpd[27125]: uam_load(uams_randnum.so):
>    failed to load.
> 
> and Macs can't authenticate.  Hacking in a call to dlerror reported:
> 
> ld.so.1: etc/afpd/afpd: fatal: relocation error: file
>    /usr/local/pkg/netatalk-1.4b2+asun2.1.4-37b/etc/uams/uams_randnum.so:
>    symbol uam_register: referenced symbol not found.
> 
> Needless to say, uam_register is there in afpd and it looks fine.  This is
> tested on Solaris 2.5.1 and 2.6, on both pre-2.1.4-35 and -37b.  Is there
> something that needs to be done to make these symbols visible to dlopen?

The current uam_load function calls: dlopen(a, RTLD_NOW) to load the
library.  In linux, afpd must be compiled with "-rdynamic" so that the uam
can find symbols from the afpd executable.  How does this work in Solaris?  
The man page for dlopen (Solaris 2.6) says that the program image file has
RTLD_GLOBAL mode, which means it should export its functions to the uam.
So I guess I don't know why this doesn't work...  Why can't the uam find
the uam_register symbol in afpd?

	Andy - Thinking out loud

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic