Dear Matthew,
this is quite detailed - you said below that your Matlab version is R14SP3
(aka 7.1.0.xxx). However, your path names suggest that your mex files are
linked against Matlab 7.0.3. This is probably the source of confusion. You
should check that you are using the 7.1.0 mex compiler (either by adding
the full path in the Makefile, or by using a PATH environment variable
which points to Matlab 7.1).
Volkmar
On Thu, 3 May 2007, Matthew Liptrot wrote:
> Hi Volkmar,
>
> Thanks for your help with this!
>
>> libmx.so is a MathWorks supplied library - at least it should be. What
>> does
>>
>> ldd /depot7/LocalMatlab/spm5/spm_bsplinc.mexa64
>>
>> in a shell terminal tell you? Any undefined symbols, libmx.so pointing to
>> somewhere else than to the Matlab binary directory for R14SP3? Maybe
>> during making of your mex files you have picked up a mex from a different
>> Matlab version. I have two different sets of mex files around for running
>> either R14SP3 and 2007a - they are source compatible, but not binary.
>
> I'm not used to looking at these library files, so it took me a while to
> realise that I needed to run the ldd command **whilst matlab was running**!
> (as they are dynamically loaded) Doh! :-)
> Anyway, the output is shown below.
>
> On our system, the 64-bit machines use the /depot64 and /lib64 mounts for
> libraries, binaries etc. SPM etc is stored in /depot7 which contains both
> the 32bit and 64bit SPM mex files.
>
> It looks like a lot of the lib files used are those in the /lib64 directory,
> but there are some (e.g. libm.so.6) which are pointing to the version in /lib
> (presumably a 32bit version). Could this be the problem, and how would I fix
> it?
>
> Many thanks,
>
> M@
>
>> > !ldd -v /depot7/LocalMatlab/spm5/spm_bsplinc.mexa64 >
>> > ldd_output_matlabrunning.txt
>
> libmx.so => /depot64/matlab.7.0.3/bin/glnxa64/libmx.so
> (0x00002af69f383000)
> libmex.so => /depot64/matlab.7.0.3/bin/glnxa64/libmex.so
> (0x00002af69f4cf000)
> libmat.so => /depot64/matlab.7.0.3/bin/glnxa64/libmat.so
> (0x00002af69f5dc000)
> libm.so.6 => /lib/libm.so.6 (0x00002af69f6f5000)
> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00002af69f877000)
> libpthread.so.0 => /lib/libpthread.so.0 (0x00002af69fa75000)
> libc.so.6 => /lib/libc.so.6 (0x00002af69fb8b000)
> libut.so => /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> (0x00002af69fdc8000)
> libicudata.so.32 =>
> /depot64/matlab.7.0.3/bin/glnxa64/libicudata.so.32
> (0x00002af6a0065000)
> libicuuc.so.32 => /depot64/matlab.7.0.3/bin/glnxa64/libicuuc.so.32
> (0x00002af6a0167000)
> libicui18n.so.32 =>
> /depot64/matlab.7.0.3/bin/glnxa64/libicui18n.so.32
> (0x00002af6a035b000)
> libicuio.so.32 => /depot64/matlab.7.0.3/bin/glnxa64/libicuio.so.32
> (0x00002af6a0576000)
> libz.so => /depot64/matlab.7.0.3/bin/glnxa64/libz.so
> (0x00002af6a0683000)
> libstdc++.so.5 =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> (0x00002af6a0791000)
> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002af6a096e000)
> libmwmvalue.so => /depot64/matlab.7.0.3/bin/glnxa64/libmwmvalue.so
> (0x00002af6a0a7c000)
> libmwservices.so =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwservices.so
> (0x00002af6a0b90000)
> libmwmpath.so => /depot64/matlab.7.0.3/bin/glnxa64/libmwmpath.so
> (0x00002af6a0d8c000)
> libmwm_dispatcher.so =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwm_dispatcher.so
> (0x00002af6a0ea6000)
> /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
> librt.so.1 => /lib/librt.so.1 (0x00002af6a104b000)
> libMTwister.so => /depot64/matlab.7.0.3/bin/glnxa64/libMTwister.so
> (0x00002af6a1155000)
> libdl.so.2 => /lib/libdl.so.2 (0x00002af6a1258000)
> libncurses.so.5 => /lib/libncurses.so.5 (0x00002af6a135c000)
> libmwdatasvcs.so =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwdatasvcs.so
> (0x00002af6a14b7000)
> libxerces-c.so.26 =>
> /depot64/matlab.7.0.3/bin/glnxa64/libxerces-c.so.26
> (0x00002af6a15d9000)
>
> Version information:
> /depot7/LocalMatlab/spm5/spm_bsplinc.mexa64:
> libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
> libmex.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmex.so
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libmx.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmx.so
> libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libmx.so:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libut.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> /depot64/matlab.7.0.3/bin/glnxa64/libmex.so:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libmwmpath.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwmpath.so
> libmwservices.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwservices.so
> libmwmvalue.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwmvalue.so
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libmx.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmx.so
> libmwm_dispatcher.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwm_dispatcher.so
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libut.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> /depot64/matlab.7.0.3/bin/glnxa64/libmat.so:
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libut.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libmx.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmx.so
> /lib/libm.so.6:
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /usr/lib/libstdc++.so.6:
> libgcc_s.so.1 (GCC_3.3) => /lib/libgcc_s.so.1
> libgcc_s.so.1 (GCC_4.2.0) => /lib/libgcc_s.so.1
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /lib/libpthread.so.0:
> ld-linux-x86-64.so.2 (GLIBC_2.3) =>
> /lib64/ld-linux-x86-64.so.2
> ld-linux-x86-64.so.2 (GLIBC_2.2.5) =>
> /lib64/ld-linux-x86-64.so.2
> ld-linux-x86-64.so.2 (GLIBC_PRIVATE) =>
> /lib64/ld-linux-x86-64.so.2
> libc.so.6 (GLIBC_2.3.2) => /lib/libc.so.6
> libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /lib/libc.so.6:
> ld-linux-x86-64.so.2 (GLIBC_2.2.5) =>
> /lib64/ld-linux-x86-64.so.2
> ld-linux-x86-64.so.2 (GLIBC_2.3) =>
> /lib64/ld-linux-x86-64.so.2
> ld-linux-x86-64.so.2 (GLIBC_PRIVATE) =>
> /lib64/ld-linux-x86-64.so.2
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> librt.so.1 (GLIBC_2.2.5) => /lib/librt.so.1
> libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
> libdl.so.2 (GLIBC_2.2.5) => /lib/libdl.so.2
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libpthread.so.0 (GLIBC_2.3.2) => /lib/libpthread.so.0
> libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libicudata.so.32:
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libicuuc.so.32:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
> libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
> libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libicui18n.so.32:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> /depot64/matlab.7.0.3/bin/glnxa64/libicuio.so.32:
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libz.so:
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5:
> libgcc_s.so.1 (GCC_3.3) => /lib/libgcc_s.so.1
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /lib/libgcc_s.so.1:
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libmwmvalue.so:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
> libut.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> libmx.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmx.so
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libmwservices.so:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libmwmpath.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwmpath.so
> libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
> libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
> libpthread.so.0 (GLIBC_2.3.2) => /lib/libpthread.so.0
> libmx.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmx.so
> libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libut.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> /depot64/matlab.7.0.3/bin/glnxa64/libmwmpath.so:
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libut.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> /depot64/matlab.7.0.3/bin/glnxa64/libmwm_dispatcher.so:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
> libm.so.6 (GLIBC_2.2.5) => /lib/libm.so.6
> libmwmvalue.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwmvalue.so
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libmwservices.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwservices.so
> libmx.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmx.so
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libmwmpath.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libmwmpath.so
> libut.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> /lib/librt.so.1:
> ld-linux-x86-64.so.2 (GLIBC_PRIVATE) =>
> /lib64/ld-linux-x86-64.so.2
> libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
> libpthread.so.0 (GLIBC_PRIVATE) => /lib/libpthread.so.0
> libc.so.6 (GLIBC_2.3.2) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libMTwister.so:
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> /lib/libdl.so.2:
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
> ld-linux-x86-64.so.2 (GLIBC_PRIVATE) =>
> /lib64/ld-linux-x86-64.so.2
> /lib/libncurses.so.5:
> libdl.so.2 (GLIBC_2.2.5) => /lib/libdl.so.2
> libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libmwdatasvcs.so:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libut.so (v7.0) =>
> /depot64/matlab.7.0.3/bin/glnxa64/libut.so
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
> /depot64/matlab.7.0.3/bin/glnxa64/libxerces-c.so.26:
> libgcc_s.so.1 (GCC_3.0) => /lib/libgcc_s.so.1
> libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
> libstdc++.so.5 (CXXABI_1.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libstdc++.so.5 (GLIBCPP_3.2) =>
> /depot64/matlab.7.0.3/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.5
> libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
> libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
>
> --------------------------------------------------------------------------------------------------
>
>> > I need some help getting a 64-bit Linux (Debian) SPM5 (latest patches)
>> > installation to behave.
>> >
>> > The compilation went smoothly, (make && make install), and SPM5 starts
>> > without problems.
>> > However, when trying to do a reslice of some data, one of the MEX files
>> > seems to have a problem:
>> >
>> > --------------------------
>> > Running "Realign: Estimate & Reslice"
>> > ??? Invalid MEX-file '/depot7/LocalMatlab/spm5/spm_bsplinc.mexa64':
>> > /depot7/LocalMatlab/spm5/spm_bsplinc.mexa64:
>> > symbol mxCreateNumericArray_700,
>> > version v7.0 not defined in file libmx.so
>> > with
>> > link time reference.
>> >
>> > ??? Error while evaluating uicontrol Callback.
>> >
>> > Some technical details are given below.
>> > Any help would be much appreciated!
>> >
>> > Cheers,
>> >
>> > M@
>> >
>> > Technical stuff:
>> >
>> > > > ver
>> > MATLAB Version 7.1.0.183 (R14) Service Pack 3
>> > Operating System: Linux 2.6.18-4-amd64 #1 SMP Wed Feb 21 14:29:38 UTC
>> > 2007 x86_64
>> > Java VM Version: Java 1.4.2 with Blackdown Java-Linux Team Java
>> > HotSpot(TM) 64-Bit Server VM mixed mode
>> >
>> >
>> > Feedback from 'make':
>> >
>> > goedel:/depot7/LocalMatlab/spm5/src# make && make install
>> > _____________________________________________________________
>> >
>> > Linux compilation (x86-64) - using gcc
>> > _____________________________________________________________
>> >
>> > _____________________________________________________________
>> >
>> > FINISHED
>> > _____________________________________________________________
>> >
>> > _____________________________________________________________
>> >
>> > Installing mex files
>> > _____________________________________________________________
>> >
>> > cp -f spm_sample_vol.mexa64 spm_slice_vol.mexa64
>> > spm_brainwarp.mexa64
>> > spm_add.mexa64 spm_conv_vol.mexa64 spm_render_vol.mexa64
>> > spm_global.mexa64
>> > spm_resels_vol.mexa64 spm_bsplinc.mexa64 spm_bsplins.mexa64
>> > spm_bias_mex.mexa64
>> > spm_atranspa.mexa64 spm_unlink.mexa64 spm_hist.mexa64
>> > spm_krutil.mexa64
>> > spm_project.mexa64 spm_hist2.mexa64 spm_dilate_erode.mexa64
>> > spm_bwlabel.mexa64
>> > spm_get_lm.mexa64 spm_digamma.mexa64 mat2file.mexa64 file2mat.mexa64
>> > spm_invdef.mexa64 ..
>> > goedel:/depot7/LocalMatlab/spm5/src#
>> >
>> >
>>
>
>
--
Volkmar Glauche
-
Department of Neurology [log in to unmask]
Universitaetsklinikum Freiburg Phone 49(0)761-270-5331
Breisacher Str. 64 Fax 49(0)761-270-5416
79106 Freiburg http://fbi.uniklinik-freiburg.de/
|