VirtualBox

Ticket #5297 (closed defect: fixed)

Opened 4 years ago

Last modified 4 years ago

Guest Addition's libGL.so doesn't provide XDamage* => Fixed in SVN/3.1.6

Reported by: bretta Owned by:
Priority: major Component: guest additions
Version: VirtualBox 3.0.8 Keywords:
Cc: Guest type: Solaris
Host type: other

Description (last modified by ramshankar) (diff)

After installing the Guest Additions for 3.0.8 (or any 3.0.x), I can't compile KDE on OpenSolaris. After investigating, the error is the following:

pkgbuild: Undefined                     first referenced
pkgbuild:  symbol                           in file
pkgbuild: XDamageDestroy                      /usr/lib/libGL.so
pkgbuild: XDamageCreate                       /usr/lib/libGL.so
pkgbuild: XDamageQueryExtension               /usr/lib/libGL.so
pkgbuild: XDamageQueryVersion                 /usr/lib/libGL.so
pkgbuild: ld: fatal: symbol referencing errors. No output written to opengl

After investigating further, the libGL.so provided by the GuestAdditions for Solaris doesn't provide the XDamage* functions and the original does.

bretta@dev-zero:/usr/X11/lib/mesa$ nm libGL_original_.so.1 | grep -i damage
[2561]	|         0|         0|FUNC |GLOB |0    |UNDEF  |XDamageAdd
[3408]	|         0|         0|FUNC |GLOB |0    |UNDEF  |XDamageQueryVersion
[1001]	|    331676|       656|FUNC |LOCL |0    |13     |__glXReportDamage
[1016]	|    536624|        12|OBJT |LOCL |0    |22     |damageExtension
bretta@dev-zero:/usr/X11/lib/mesa$ nm libGL.so.1 | grep -i damage
bretta@dev-zero:/usr/X11/lib/mesa$

Brett Albertson

Change History

comment:1 Changed 4 years ago by frank

  • Guest type changed from other to Solaris

comment:2 Changed 4 years ago by ramshankar

  • Description modified (diff)

comment:3 follow-up: ↓ 5 Changed 4 years ago by ramshankar

Try linking your KDE with libXDamage.so. libGL doesn't provide those functions just uses them. They are exported by libXdamage.so.

vbox@osolvm:~$ nm /usr/lib/libXdamage.so | grep -i damage
/usr/lib/libXdamage.so:
[59]	|         0|         0|OBJT |GLOB |0    |ABS    |libXdamage_1.0
[62]	|         0|         0|OBJT |GLOB |0    |ABS    |libXdamage_1.1
[1]	|         0|         0|FILE |LOCL |0    |ABS    |libXdamage.so.1
[77]	|      5072|       198|FUNC |GLOB |0    |13     |XDamageAdd
[45]	|         0|         0|FILE |LOCL |0    |ABS    |Xdamage.c
[46]	|      3644|       207|FUNC |LOCL |0    |13     |XDamageCloseDisplay
[55]	|      4432|       235|FUNC |GLOB |0    |13     |XDamageCreate
[72]	|      4668|       195|FUNC |GLOB |0    |13     |XDamageDestroy
[48]	|      4080|       196|FUNC |LOCL |0    |13     |XDamageEventToWire
[37]	|     74224|        12|OBJT |LOCL |2    |22     |XDamageExtensionInfo
[38]	|      5332|         7|OBJT |LOCL |2    |16     |XDamageExtensionName
[35]	|      2972|       669|FUNC |LOCL |2    |13     |XDamageFindDisplay
[67]	|      4276|        78|FUNC |GLOB |0    |13     |XDamageQueryExtension
[81]	|      4356|        74|FUNC |GLOB |0    |13     |XDamageQueryVersion
[80]	|      4864|       207|FUNC |GLOB |0    |13     |XDamageSubtract
[47]	|      3852|       225|FUNC |LOCL |0    |13     |XDamageWireToEvent
vbox@osolvm:~$ 

comment:4 Changed 4 years ago by randshuntzinger

I seem to be having a similar problem except that I'm not compiling the software - I'm using a binary distribution of KDE from bionicmutton. When I try to start KDE using the startkde script from an xterm I find that it can't find the XDamageDestroy function. You suggested that the one could link in XDamage.so which you can do if you're building KDE but you can't do that if you're using a binary distribution. KDE works fine on OpenSolaris build 130 on bare metal but if fails using VirtualBox. It would seem that your libGL.so.1 replacement needs to be modified to require XDestroy.so to be loaded so that it doesn't have to be done in the calling program.

I'm using VirtualBox Guest Additions 3.1.1 on OpenSolaris build 130.

comment:5 in reply to: ↑ 3 Changed 4 years ago by hajma

Replying to ramshankar:

Try linking your KDE with libXDamage.so. libGL doesn't provide those functions just uses them. They are exported by libXdamage.so.

thanks for the hint. KDE4 can be built with Additions using -lXdamage and it no longer crashes. For KDE/Solaris users here: this will be fixed in the KDE 4.4 RC2 packages (i.e. soonish)

comment:6 Changed 4 years ago by frank

  • Summary changed from Guest Addition's libGL.so doesn't provide XDamage* to Guest Addition's libGL.so doesn't provide XDamage* => Fixed in SVN/3.1.6

This will be fixed in the next maintenance release.

comment:7 Changed 4 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use