lives 0.9.9.5: "-Bsymbolic" is not supported on Mac OSX
LiVES is a Video Editing System. It is designed to be simple to use, y
Brought to you by:
gfinch
Hi,
This is on Mac OSX 10.5.
In the lives-plugins/weed-plugins directory, the Makefile contains:
shared_ldflags = -dynamiclib -Wl,-Bsymbolic -module -avoid-version --tag=disable-static
However, the Mac linker does not support '-Bsymbolic'. Removing that term allows lives to link.
I get the same problem in lives-plugins/weed-plugins/gdk/Makefile .
The -Bsymbolic flag has to be passed to the linker to ensure that all symbols are only resolved at runtime and not at link time.
What flag in the Mac linker should be used to produce the same effect ?
I'm not sure. If I'm reading the Mac ld man page correctly [1], -Bsymbolic does sort of the same thing as the two-level namespace (which is the default), so just omitting -Bsymbolic on Mac would suffice.
[1] http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man1/ld.1.html
OK. There is one sure way to test whether this is working or not.
Edit the file libweed/weed.c, and make changes as follows:
static int _weed_leaf_set(weed_plant_t plant, const char key, int seed_type, int num_elems, void *value) {
// host version
fprintf(stderr,"host set a value\n");
return _weed_leaf_set_caller (plant,key,seed_type,num_elems,value,WEED_CALLER_HOST);
}
static int _weed_leaf_set_plugin(weed_plant_t plant, const char key, int seed_type, int num_elems, void *value) {
// plugin version - host should pass this to plugin in host_info
fprintf(stderr,"plugin set a value\n");
return _weed_leaf_set_caller (plant,key,seed_type,num_elems,value,WEED_CALLER_PLUGIN);
}
Then recompile everything.
When you run LiVES, if you see both messages "host set a value" and "plugin set a value" then all is OK. IF you only see the former message then more work will be required to fix this.