[CM] Re: Fwd: cm and midishare player

njcross@sbcglobal.net njcross@sbcglobal.net
Tue, 17 Jan 2006 13:10:14 -0800


I was too quick to email. This works perfectly - just had to add the
 directory paths:

ld -shared /usr/lib/libstdc++.so.6 /usr/lib/libPlayer.so.old
-o /usr/lib/libPlayer.so

Thank you Kendatsuba!

On Tuesday 17 January 2006 11:38 am, you wrote:
> I received an email from Kendatsuba which may be a solution for others.
>
> This should work(?), but, my Mandriva LE2005 still can't see the
> 'libPlayer.so.old' although it's been created! (see below).
> -----------
>
> Hi,
> have you finally solved your problem with cm and midishare library
> libPlayer.so ? If not I have found one, I'm using debian testing and faced
> the same problem.
>
> _ZTVN10__cxxabiv120__si_class_type_infoE not found.
>
> The loader doesn't seem to find this symbol wich is defined in
> libstdc++.so.6 library and not in libstdc++.so.5. Usually this shared
> library is loaded automatically and so it isn't listed among library
> dependencies by ldd. For some reasons it seems that even if libPlayer.so it
> is linked against libstdc++.so.6 by gcc/ld, either it is not loaded
> automatically or libstdc++.so.5 gets loaded instead. I've not inquired
> further into the problem and solved it this way:
>
> mv /usr/lib/libPlayer.so /usr/lib/libPlayer.so.old
> ld -shared /usr/lib/libstdc++.so.6 libPlayer.so.old -o libPlayer.so
>
> This explicitly tells the loader to load libstdc++.so.6 when loading
> libPlayer.so, in fact it will be listed among dependencies by ldd. I do not
> know how "polite" it is towards the loader to force it this way but this
> did the trick for me. I've compiled everything needed with gcc/g++ version
> 3.xas libPlayer does not compile with
> 4.x. Please let me know if you already solved the problem. I've not read
> anything about the solution in ccrma forum, if this works for you (even if
> you already solved it) could you please post on the forum? I am not
> subscribed and not a user of ccrma distrubution.
>
> Regards,
> k
>
> ---------------------------------------------------------------------------
>------
>
> My original post to cm list:
> > I can't seem to load MidiShare Player into cm.
> > I've loaded all the new files OK and MidiShare loads (use-system
> >
> > :midishare) OK. But when I try to load the player (use-system :player)
> >
> > it complains
>
> that
>
> > it can't load /usr/lib/libPlayer.so, although it's there.
> >
> > cm says:
> >
> > * (use-system :player)
> >
> > ; Loading #P"/root/midishare/player.x86f".
> > ;;; Opening shared library /usr/lib/libPlayer.so ...
> >
> >
> >
> > Error in function SYSTEM::LOAD-OBJECT-FILE:
> >    Can't open object "/usr/lib/libPlayer.so": "/usr/lib/libPlayer.so:
> > undefinedsymbol: _ZTVN10__cxxabiv120__si_class_type_infoE"
> >    [Condition of type SIMPLE-ERROR]
> >
> > Restarts:
> >   0: [CONTINUE] Return NIL from load of #P"/root/midishare/player.x86f".
> >   1: [RETRY   ] Retry performing #<ASDF:LOAD-OP NIL {592EB9B5}> on
> >                 #<ASDF:CL-SOURCE-FILE "player" {58F7F075}>.
> >   2: [ACCEPT  ] Continue, treating #<ASDF:LOAD-OP NIL {592EB9B5}> on
> >                 #<ASDF:CL-SOURCE-FILE "player" {58F7F075}> as
> >                 having been successful.
> >   3: [ABORT   ] Return to Top-Level.
> >
> > Debug  (type H for help)
> >
> > (SYSTEM::LOAD-OBJECT-FILE "/usr/lib/libPlayer.so")
> > Source: Error finding source:
> > Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM:  Source file no longer
> > exists:
> >   target:code/foreign.lisp.
> > 0]
> >
> > Thanks for any help.