|
From: | Thomas Treichl |
Subject: | Re: macosx mex error: failed to install .mex file function `myhello' |
Date: | Wed, 03 Jan 2007 10:27:35 +0100 |
User-agent: | Thunderbird 1.5.0.9 (Macintosh/20061207) |
John W. Eaton schrieb:
On 2-Jan-2007, Thomas Treichl wrote: | Then I compile myhello.c (cf. my last email) and enter octave.| | octave:1> myhello| I'm in function octave_dyld_shlib::open, file.c_str() is: | /Users/Thomas/Developement/octave/examples/myhello.mex | I'm in function octave_dyld_shlib::open, returnCode is: 1 | I'm in function octave_dyld_shlib::open, handle is: 0x102d70 | I'm in function octave_dyld_shlib::open, isOpen is: 1 | I'm in function octave_dyld_shlib::search, handle is: 0x102d70 | I'm in function octave_dyld_shlib::search, sym_name.c_str() is: mexFunction | I'm in function octave_dyld_shlib::search, symbol is: 0 | I'm in function octave_dyld_shlib::search, handle is: 0x102d70 | I'm in function octave_dyld_shlib::search, sym_name.c_str() is: mexfunction_ | I'm in function octave_dyld_shlib::search, symbol is: 0 | error: failed to install .mex file function `myhello' | octave:1>| | So it seems to me as function NSLookupSymbolInModule always returns a NULL | pointer - no problem from octave, but a problem from the macosx-libs?What is the output of runningnm myhello.mex? Is the mexFunction name mangled in some way that Octave is not expecting (it only checks for mexFunction and mexfunction)? jwe
Aha, I see, never tried the "nm" command. This is my output: macmini:~/Developement/octave/examples Thomas$ nm myhello.o 0000006a S ___i686.get_pc_thunk.bx 00000000 T _mexFunction U _mxCreateDoubleMatrix U _mxGetPr macmini:~/Developement/octave/examples Thomas$ nm myhello.mex 00000ef1 t ___cxa_atexit 00000000 t ___dso_handle 00000fea s ___i686.get_pc_thunk.bx 000008f0 t __dyld_func_lookup U __keymgr_get_and_lock_processwide_ptr U __keymgr_get_and_lock_processwide_ptr_2 U __keymgr_set_and_unlock_processwide_ptr 00000000 t __mh_bundle_header 00000b35 t _add_routine 00000f1e t _atexit 00000d5b t _atexit_common U _calloc 00000953 t _check_cxa_atexit 0000090f t _cxa_atexit_check_1 000008fe t _cxa_atexit_check_2 00000c8a t _cxa_atexit_wrapper U _dlopen U _dlsym U _free 000009c8 t _get_globals U _malloc 00000f54 T _mexFunction U _mxCreateDoubleMatrix U _mxGetPr 00000bce t _run_routines 00001000 d dyld__mach_header 000008dc t dyld_stub_binding_helperSo octave checks for "mexFunction" and "mexfunction_" but "_mexFunction" would be the right name. How can I work around this John?
Thomas
[Prev in Thread] | Current Thread | [Next in Thread] |