[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elk] dynamic library loading



dear sam,

recently i tried to integrate our cleaned sound synthesis system with
the new elk.  it is written in objective-c and therefore uses gnustep
on linux (mac os x support ist planneḋ).  right now, we use
gnustep-make as the build system, because it's easy to setup and to
maintain and versatile enough for our purposes.

unfortunetaly, gnustep-make doesn't use libtool and thus there are
just .so-libraries created, not libtool-ones (.la).  elk refused to
load them.  after some few changes in src/load.c (introducing the
'.so' as a valid extension for libraries) i was able to load the
library (load 'libfoo.so), but the elk_init_ magic didn't take place.
with elk-3.0 this was no problem.  if i don't use a library but link
our stuff as an application against libelk, the self-parsing for
elk_init_ doesn't work, too.

the files were not stripped.  nm shows (snippet):

0002e970 T elk_init_defaults
0003ceb0 T elk_init_tell
00035400 T elk_init_modules
000365f0 T elk_init_pointer
00037820 T elk_init_signals
000394f0 T elk_init_snd
0003a870 T elk_init_soundfile

though there are different kinds of elk_init:

0002eae0 t _GLOBAL__I_elk_init_defaults
0003aa20 t _GLOBAL__I_elk_init_soundfile
0003cfa0 t _GLOBAL__I_elk_init_tell

i am not sure why this is the case (and why all of the
_GLOBAL__I_elk_init_ things are doubled with elk_init_ while there are
other elk_init_ ones that are not doubled) and i am not an expert for
binary formats etc.

are there known problems regarding this issue?  what about mac os x,
does autotools/libtool work and elk_init_ magic?

i am considering to use autotools for our project rather than
gnustep-make, but i'm a bit unsure whether this really addresses the
problem or if it was a workaround...

bests,

martin
-- 
This is the elk mailing-list, see http://sam.zoy.org/projects/elk/
Trouble unsubscribing? Please contact <sam@zoy.org>
List archives are at http://sam.zoy.org/projects/elk/threads.html