[openbeosmediakit] Re: Media prefs

  • From: "Philippe Houdoin" <philippe.houdoin@xxxxxxx>
  • To: openbeosmediakit@xxxxxxxxxxxxx
  • Date: Wed, 25 Feb 2004 14:43:01 GMT

> But i have now a blocking problem : the Media Pref links against 
> several libs 
> and need to call launch_media_server(). The actual called version of 
> launch_media_server is currently the one in libbe.so. So implementing 
> it in 
> libmedia.so is useless. Is there a mean to force to search a symbol 
> in a 
> specific library ?

Changing libraries link order and linking Media preflet against OBOS 
libmedia.so, not Be's one?

$ cd current/src/prefs/media
$ cat Jamfile
SubDir OBOS_TOP src prefs media ;
[...]
LinkSharedOSLibs Media : be media ;   
$ jam
[...]
$ getlibs ../../../distro/x86.R1/beos/preferences/Media
libbe.so
libmedia.so
libnet.so
libroot.so

After modifying LinkSharedOSLibs that way:
LinkSharedOSLibs Media : libmedia.so be ;   

$ jam
[...]
$ getlibs ../../../distro/x86.R1/beos/preferences/Media
libmedia.so
libbe.so
libnet.so
libroot.so

This new order should make the trick, but I will let you guys check 
that ;-).

Notice that if you simply swap "be media" with "media be" it wont 
change anything as LinkSharedOSLibs rule will still link against Be's 
libmedia.so, which don't export "launch_media_server" text symbol...

BTW, we're breaking binary compatibility here, by moving this 
launch_media_server() outside of libbe.so.
Maybe it's not a big issue, but still one that should be document 
somewhere.

- Philippe

--
Fortune Cookie Says:

Learning French is trivial: the word for horse is cheval, and
everything else follows in the same way.
                -- Alan J. Perlis

Other related posts: