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