Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 May 1999 12:11:22 -0700
From:      Matthew Hunt <mph@astro.caltech.edu>
To:        John Polstra <jdp@polstra.com>
Cc:        hackers@freebsd.org
Subject:   Re: PAM: Undefined symbols at runtime
Message-ID:  <19990531121122.A29277@wopr.caltech.edu>
In-Reply-To: <199905310111.SAA02306@vashon.polstra.com>; from John Polstra on Sun, May 30, 1999 at 06:11:51PM -0700
References:  <19990529151511.A34375@wopr.caltech.edu> <199905310111.SAA02306@vashon.polstra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, May 30, 1999 at 06:11:51PM -0700, John Polstra wrote:

> > My problem is that login fails, due to undefined symbols in the PAM
> > modules:
> 
> I don't know what's going on with your system, but something is messed
> up.  Maybe you're trying to mix and match a.out and ELF files.  Try
> running "file" on /usr/bin/login as well as your libpam and pam
> modules.

Upon further investigation, I read the the dlopen(8) manpage and came
across:

# NOTES
#  ELF executables need to be linked using the -export-dynamic option to
#  ld(1) for symbols defined in the executable to become visible to dlsym().

If I add "-export-dynamic" to LDADD in usr.bin/login/Makefile, everything
is groovy.

I've noticed that dynamic linking in Perl also doesn't work for me,
likely for the same reason.  I haven't tried rebuilding perl with
"-export-dynamic" yet, though.

So, the question now is:  Why do I need "-export-dynamic", when
evidently nobody else does?

Matt

-- 
Matthew Hunt <mph@astro.caltech.edu> * Inertia is a property
http://www.pobox.com/~mph/           * of matter.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990531121122.A29277>