From: Per P. <per...@ma...> - 2003-12-09 17:08:00
|
On Tuesday, December 9, 2003, at 03:42 PM, Paul Kienzle wrote: > On Dec 8, 2003, at 3:01 PM, Per Persson wrote: > >>> Other problems I've encountered: DarwinPorts builds octave static >>> instead of >>> dynamic. Is this easy to change? >> >> If you mean shared libs, then no. The only known way to build octave >> is static, but with dynamic loading of .oct files. >> I spent some time trying to get shared libs working about a year ago, >> and made some progress, but never got it working properly. > > So how do you build oct-files? After installing octave via > DarwinPorts and > building octave-forge, it can't find the oct-files. Do I need to > change > darwinports to enable dynamic linking? > > octave-2.1.50:5> octave_config_info ('ENABLE_DYNAMIC_LINKING') > ans = false It should work even though octave_config_info complains. If it doesn't then it needs to be fixed. There was a change in octave about a little over a year ago where dynamic loading of functions became dependant on --enable-shared. This broke the OS X port wrt loading of functions[1]. Currently the only workaround is to edit config.h efter the configure phase and define HAVE_DYLD. Apparently the octave_config_info gets messed up. From my machine: octave:1> octave_config_info ('ENABLE_DYNAMIC_LINKING') ans = false octave:2> which remez remez is the dynamically-linked function from the file /usr/local/libexec/octave/2.1.50/site/oct/powerpc-apple-darwin6.6/ octave-forge/remez.oct I tried do an install from DarwinPorts but the gnu servers seem dead at the moment, I'll try again later. [1] OS X's linker differentiates between static, shared and dynamic where (IIRC) ELF linkers only differentiates static and shared, loading dynamically from shared libs. /Per |