Package: libcegui-mk2-dev
Version: 0.6.1-1
Severity: important

  Hello,

  The module loading system is a bit too ignorant about sonames and
shared library versioning and depends on the presence of the .so links
in the /usr/lib directory: it can't directly use the .so.number
libraries.

  That is bad, as only -dev packages should provide those. Attached is
a completely untested patch that probably should be able to find the
.so.0 or .so.1... module files. Please build upon it to turn it into a
real fix.

  I'm at your disposal if you need more information.

  Cheers,

        Vincent Fourmond


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages libcegui-mk2-dev depends on:
pn  libcegui-mk2-1         <none>            (no description available)
pn  libdevil-dev           <none>            (no description available)
ii  libfreetype6-dev       2.3.9-4           FreeType 2 font engine, developmen
ii  libjpeg62-dev [libjpeg 6b-14             Development files for the IJG JPEG
ii  liblcms1-dev           1.18.dfsg-1       Color management library (Developm
pn  liblualib50-dev        <none>            (no description available)
ii  libmng-dev             1.0.9-1           M-N-G library (Development headers
ii  libpng12-dev [libpng-d 1.2.35-1          PNG library - development
pn  libtiff4-dev | libtiff <none>            (no description available)
pn  libxerces-c2-dev       <none>            (no description available)
ii  zlib1g-dev [libz-dev]  1:1.2.3.3.dfsg-13 compression library - development

libcegui-mk2-dev recommends no packages.

Versions of packages libcegui-mk2-dev suggests:
pn  libcegui-mk2-doc              <none>     (no description available)
--- CEGUIDynamicModule.cpp	2008-05-20 13:03:43.000000000 +0200
+++ CEGUIDynamicModule.cpp.new	2009-04-20 23:18:33.000000000 +0200
@@ -89,6 +89,16 @@
             d_moduleName.insert(0, "lib");
             d_handle = DYNLIB_LOAD(d_moduleName.c_str());
         }
+	// We try looking for ".soversion" suffix
+	if(!d_handle) {
+	  char buf[10];
+	  for(int i = 0; i < 10; i++) { // The 10 is arbitrary and must be changed
+	    snprintf(buf, sizeof(buf),".%d", i);
+	    d_handle = DYNLIB_LOAD((d_moduleName + buf).c_str());
+	    if(d_handle)
+	      break;
+	  }
+	}
     }
 #endif
 

Reply via email to