|Summary:||undefined symbol drmCloseOnce in i915_dri.so|
|Product:||Mesa||Reporter:||Shuang He <shuang.he>|
|Component:||Drivers/DRI/i915||Assignee:||Default DRI bug account <dri-devel>|
|Status:||CLOSED FIXED||QA Contact:|
|i915 platform:||i915 features:|
X server log
X conf file
Description Shuang He 2006-11-01 23:58:15 UTC
--Architecture(ia32,ia32e,compatiblity): ia32 --2D driver: git(fbb376bd1a4daad4c86e349df98438989ce173f1) --Xorg: 7.1 --Mesa: CVS tip --OS: FC5 --Kernel: 2.6.19-rc3 For platform: 845gv, 865gv, 915gm When config to use i915_dri.so or i915tex_dri.so,running glxinfo will get following error: X: symbol lookup error: /opt/X11R7/lib/dri/i915tex_dri.so: undefined symbol: drmCloseOnce + Exit 127 X
Comment 3 Keith Whitwell 2006-11-02 00:14:44 UTC
I'm guessing you need to recompile libGL.so.
Comment 4 Michel Dänzer 2006-11-02 14:14:26 UTC
I think you need libdrm 2.2. Does this really affect i915_dri.so though?
Comment 5 Gordon Jin 2006-11-05 21:51:41 UTC
Even with "Legacy3D TRUE", I'm still seeing: X: symbol lookup error: /opt/X11R7/lib/dri/i915_dri.so: undefined symbol: drmCloseOnce I'm using mesa tip, and libdrm 2.2. I wonder where drmCloseOnce is defined?
Comment 6 Gordon Jin 2006-11-06 22:44:27 UTC
more findings: 1. It's triggered in nude xserver. I think most people are using desktop environment so not seeing this issue. You can reproduce this by running "X &" then trying "glxinfo" on that X. 2. It's not related to i915tex. Actually it happens on all platforms, including i965_dri.so. 3. I don't know where drmCloseOnce is defined. But removing "drmCloseOnce" in common/dri_util.c seems working.
Comment 7 haihao 2006-11-06 23:53:26 UTC
drmCloseOnce is not defined. If you build Mesa, you will get the following message: ../common/dri_util.c: In function ‘driDestroyScreen’: ../common/dri_util.c:852: warning: implicit declaration of function ‘drmCloseOnce’ On my 965 platform, X prints the following message (EE) AIGLX error: dlopen of /usr/local/xorg/lib/dri/i965_dri.so failed (/usr/local/xorg/lib/dri/i965_dri.so: undefined symbol: drmCloseOnce) (EE) AIGLX: reverting to software rendering I check some previous editors and find it is drmClose. So I guess this is a spelling mistake.
Comment 8 Keith Packard 2006-11-07 00:33:36 UTC
drmCloseOnce is defined in libGL, so you'll have to install a new version of that in the appropriate place as well as installing a new driver.
Comment 9 Eric Anholt 2006-11-07 09:08:05 UTC
Again, this is about X Server startup, nothing libGL related.
Comment 10 Eric Anholt 2006-11-07 09:08:27 UTC
Are you running a current X Server?
Comment 11 Gordon Jin 2006-11-07 17:19:11 UTC
Eric, our xserver is a bit stale. We failed to build the xserver tip due to bug#8868.
Comment 12 Alan Hourihane 2006-11-08 04:42:34 UTC
The problem here seems to stem from the fact that drmOpenOnce and drmCloseOnce are defined in the Mesa sources in src/glx/x11/glxext.c and therefore is only provided in new libGL's. For AIGLX this breaks. Given that Dave Airlie has updated the libdrm code so that the Xserver can now utilize it, we should move the code for drmOpenOnce/drmCloseOnce into libdrm now which should fix this problem. Unfortunately, I can't test it at the moment, but if someone can do that and generate a patch - that'd be great.
Comment 13 Dave Airlie 2006-11-08 14:34:28 UTC
I've just released libdrm 2.3.0 with drmOpenOnce and drmCloseOnce in the API, I've removed them from libGL, and checked in a patch to the X server to use the system libdrm instead... so in theory with libdrm 2.3.0, + a new X server it should all work.
Comment 14 Gordon Jin 2006-11-10 05:40:14 UTC
verified, thanks for the fix.
Comment 15 Peter Waller 2006-12-16 07:52:33 UTC
(In reply to comment #13) > I've just released libdrm 2.3.0 with drmOpenOnce and drmCloseOnce in the API, > I've removed them from libGL, and checked in a patch to the X server to use the > system libdrm instead... > > so in theory with libdrm 2.3.0, + a new X server it should all work. > > How new an x-server, and where is the best place to get it? I don't suppose I would be able to find ubuntu packages with a recent enough x-server? I've been struggling to compile xserver for myself, for some reason. The 'compilexservermanually' wiki page is quite complicated. I'm getting this issue after recompiling mesa. Everything seems to work but opengl applications won't work, and neither will xgl :( Cheers, Pete
Comment 16 Dave Airlie 2006-12-16 15:26:13 UTC
Disable AIGLX if you server is giving the problem. If it is a client side problem then just your installed libGL or libdrm is old...
Comment 17 Adam Jackson 2009-08-24 12:24:51 UTC
Mass version move, cvs -> git