[Mono-list] Problems using a library.

J. Pablo Fernández pupeno at pupeno.com
Mon Mar 19 11:04:04 EDT 2007


Hello,
I am trying to use a library called MidiPort from C#. It is a C library so 
I've done this:

[DllImport("portmidi")]
internal static extern PmError Pm_Initialize();

to call 

PmError Pm_Initialize( void );

When I try to run this program I get this error:

Unhandled Exception: System.DllNotFoundException: portmidi
  at (wrapper managed-to-native) PortMidi.MidiStream:Pm_Initialize ()
  at ScoreReadingTrainer.MainClass.Main (System.String[] args) [0x00000] 
in /home/pupeno/selsampla/Score Reading Trainer - GtkSharp/Main.cs:10 

and being more verbose:

Mono-INFO: DllImport attempting to load: 'portmidi'.
Mono-INFO: DllImport loading location: 'libportmidi.so'.
Mono-INFO: DllImport error loading library: '/usr/lib/libportmidi.so: 
undefined symbol: Pt_Time'.

and there's the problem. Pt_Time is part of libporttime.so, not 
libportmidi.so. libportmidi.so should be linked to libporttime.so, but it 
isn't:

$ ldd /usr/lib/libportmidi.so
        linux-gate.so.1 =>  (0xffffe000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xb7e88000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d54000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7d2d000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7d29000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7d16000)
        /lib/ld-linux.so.2 (0x80000000)

This is likely to be a bug in the building files and/or the packaging, I've 
already submitted a bug report about it. Meantime, is there any workaround I 
can use from C#/.Net/Mono to still use this library?

Thank you.
-- 
J. Pablo Fernández <pupeno at pupeno.com> (http://pupeno.com)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-list/attachments/20070319/ca680a89/attachment.bin 


More information about the Mono-list mailing list