Bug#312525: 312525 explaination

2005-06-17 Thread Mike Furr
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Regis Boudin wrote:
 Hi,
Hello,

 To fixes are possible. Either making the dlopen against the library
 soname, 'libxmms.so.1', which is a quick fix (patch attached) but will
 be broken if the soname changes, but I doubt it will for XMMS.
This fix should be sufficient.  I imagine that when XMMS does change its
soname, the changes will be large enough that we'll have a planned
transition.  I'll upload the fix this weekend.

Thanks for the patch,
- -Mike
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCs0g37ZPKKRJLJvMRAl3jAJ9btw2La7MPIUNqtxbBUrxw4mYjnwCfTAH7
2vYuBUKCflQDy4RWooYn0xs=
=34Y2
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#312525: 312525 explaination

2005-06-15 Thread Regis Boudin
Hi,

The reason it fails is fairly simple. Instead of linking using -lxmms,
this module links against libxmms using dlopen. As it dlopen's
'libxmms.so' which is only provided by xmms-dev... well it doesn't work
if the package is not present.
To fixes are possible. Either making the dlopen against the library
soname, 'libxmms.so.1', which is a quick fix (patch attached) but will
be broken if the soname changes, but I doubt it will for XMMS.
The other solution is to modify to link the usual way, but it would
require a more intrusive patch.

By the way, I miss a bit the point of using dlopen to access libxmms for
an xmms plugin.If someone knows...

I hope this little explaination will be helpful.
Regis

diff -urN xmms-jack-0.14/jack.c xmms-jack-0.14.patch/jack.c
--- xmms-jack-0.14/jack.c	2005-04-16 02:29:55.0 +0100
+++ xmms-jack-0.14.patch/jack.c	2005-06-15 19:53:19.163586432 +0100
@@ -61,7 +61,7 @@
 MAKE_FUNCPTR(xmms_convert_buffers_new);
 MAKE_FUNCPTR(xmms_convert_buffers_destroy);
 MAKE_FUNCPTR(xmms_convert_get_frequency_func);
-void *xmmslibhandle; /* handle to the dlopen'ed libxmms.so */
+void *xmmslibhandle; /* handle to the dlopen'ed libxmms.so.1 */
 
 static int isXmmsFrequencyAvailable = 0;
 
@@ -205,7 +205,7 @@
   /* jack client list */
   JACK_SetClientName(xmms-jack);
 
-  xmmslibhandle = dlopen(libxmms.so, RTLD_NOW);
+  xmmslibhandle = dlopen(libxmms.so.1, RTLD_NOW);
   if(xmmslibhandle)
   {
 fp_xmms_convert_buffers_new = dlsym(xmmslibhandle, xmms_convert_buffers_new);
@@ -242,7 +242,7 @@
 }
   } else
   {
-TRACE(unable to dlopen '%s'\n, libxmms.so);
+TRACE(unable to dlopen '%s'\n, libxmms.so.1);
   }
 
   /* only initialize this stuff if we have the functions available */