Summary: | No libXdmGreet.so in modular xorg xdm package | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Vanquisher <thevanquisher88> | ||||||
Component: | Build/Modular | Assignee: | Xorg Project Team <xorg-team> | ||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||
Severity: | major | ||||||||
Priority: | high | CC: | dberkholz, emilbeinroth, shawn.starr | ||||||
Version: | 6.99.99.901 (7.0 RC1) | ||||||||
Hardware: | Other | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 1690 | ||||||||
Attachments: |
|
Description
Vanquisher
2005-10-24 21:17:48 UTC
Created attachment 3621 [details] [review] Add build of libXdmGreet.so and don't make path to library hardcoded in resource.c This should build xdm to find the location of the library based on Autoconf paths set. Looks good - will test and commit. Fix checked into CVS head - thanks to both the reporter and Shawn for the patch. CVSROOT: /cvs/xorg Module name: app Changes by: alanc@gabe.freedesktop.org 05/10/25 19:25:02 Log message: 2005-10-25 Shawn Starr <shawn.starr@rogers.com> * configure.ac: * Makefile.am: * greeter/Makefile.am: We forgot to build the Xdm greeter library. Add it to build and cleanup hardcoded values to find it. Modified files: app/xdm/: ChangeLog Makefile.am configure.ac Added files: app/xdm/: acinclude.m4 app/xdm/greeter/: Makefile.am Revision Changes Path 1.7 +8 -0 app/xdm/ChangeLog http://cvs.freedesktop.org/xorg/app/xdm/ChangeLog 1.16 +1 -1 app/xdm/Makefile.am http://cvs.freedesktop.org/xorg/app/xdm/Makefile.am 1.15 +16 -3 app/xdm/configure.ac http://cvs.freedesktop.org/xorg/app/xdm/configure.ac Reporter: Alan made some more changes to add some new configuration options this was commited after the bug was closed. when i load xdm now i get this: xdm error (pid 10934): /usr/lib/X11/xdm/libXdmGreet.so: undefined symbol: thepamhp while loading /usr/lib/X11/xdm/libXdmGreet.so Reporter: can you run ldd on libXdmGreet.so and report output? Thanks It seems PAM is being used somewhere. If you build xdm and add -lpam to the link list, does it work? Did you compile with --with-pam option? (In reply to comment #8) > Did you compile with --with-pam option? > > yes i did it is +pam in red also here is the ldd of the .so linux-gate.so.1 => (0xffffe000) libXt.so.6 => /usr/lib/libXt.so.6 (0xb7f28000) libSM.so.6 => /usr/lib/libSM.so.6 (0xb7f1e000) libICE.so.6 => /usr/lib/libICE.so.6 (0xb7f07000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb7e0f000) libdl.so.2 => /lib/libdl.so.2 (0xb7e0b000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7e06000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7dd8000) libpam.so.0 => /lib/libpam.so.0 (0xb7dcf000) libc.so.6 => /lib/libc.so.6 (0xb7cb5000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb7cb2000) /lib/ld-linux.so.2 (0x80000000) tried to -lpam in the link list and thats a no go aswell, same error Reporter: what does config.h show? Is USE_PAM defined anywhere? Did you do a clean of the build? xdm and the .so should have PAM support enabled (in config.h) and -lpam linked to both. thepamhp is an xdm-internal variable for storing the PAM handle, so linking against libpam wouldn't help - it's defined in programs/xdm/session.c when built with USE_PAM. Do you need to specify the -rdynamic flag to gcc when building xdm to allow it to export the symbols to the module being loaded? (Similar to what the Xorg server itself has to do to allow the dlopen modules to load?) Yeah that's in internal symbol, but that symbol should be present in libGreeter.so? It's Undefined which is odd. -su-3.00# nm libXdmGreet.so | grep pam U pam_acct_mgmt U pam_authenticate U pam_end 00008eb4 b pam_error U pam_setcred U pam_set_item U pam_start U thepamhp It's undefined and according the code. thepamhp is not found Fix is easy We're missing -DGREET_LIB -su-3.00# nm libXdmGreet.so | grep the U pam_authenticate 00008a80 B __xdm_thepamhp without this added, the symbol for thepamhp is undefined. Patch included. Created attachment 3668 [details] [review] make sure GREET_LIB is added to Makefile.am make sure GREET_LIB is added to Makefile.am thepamhp should be defined in xdm, undefined in libXdmgreet.so so it uses the variable from xdm. -DGREET_LIB is already added to XDMGREET_CFLAGS in configure.ac for solaris*|sysv4*) since it was in an #if SystemV4 in the old Imakefile. Comment on attachment 3668 [details] [review] make sure GREET_LIB is added to Makefile.am Don't do this, Xorg's monolithic mess doesn't do this. Comment on attachment 3621 [details] [review] Add build of libXdmGreet.so and don't make path to library hardcoded in resource.c Don't do this either. Monolithic mess. so what patch is to be applied #3668?, or should i wait for the ebuild bump in portage. We're still reworking this. It's not supposed to build libXdmGreet at all actually... upgraded to lastest xdm in portage and im still having the undefined symbol for thepamhp? I think this should be fixed now in latest (post-RC2) CVS, which applies the -rdynamic flag and GREET_LIB define as needed. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.