Prev: Higuchi's fractal dimension code
Next: sample based data comparison in simulink for hdl code generation
From: Tiago on 3 Jun 2010 22:56 I have some routines that I use for a long time (already got them compiled), but now I need to compile them for the 64 bits Mac architecture. I already lost 2 or 3 days, but I can not make it work. Can some please help me? ---------------------------------------------------------------- -> options file specified on command line: FILE = ./mexopts_gfortran.sh ---------------------------------------------------------------- -> MATLAB = /Applications/MATLAB_R2010a.app -> CC = gcc-4.0 -> CC flags: CFLAGS = -fno-common -no-cpp-precomp -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -fexceptions CDEBUGFLAGS = -g COPTIMFLAGS = -O2 -DNDEBUG CLIBS = -L/Applications/MATLAB_R2010a.app/bin/maci64 -lmx -lmex -lmat -lstdc++ arguments = -DMX_COMPAT_32 -> CXX = g++-4.0 -> CXX flags: CXXFLAGS = -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 CXXDEBUGFLAGS = -g CXXOPTIMFLAGS = -O2 -DNDEBUG CXXLIBS = -L/Applications/MATLAB_R2010a.app/bin/maci64 -lmx -lmex -lmat -lstdc++ arguments = -DMX_COMPAT_32 -> FC = gfortran -> FC flags: FFLAGS = -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form FDEBUGFLAGS = -g FOPTIMFLAGS = -O FLIBS = -L/Applications/MATLAB_R2010a.app/bin/maci64 -lmx -lmex -lmat -L/usr/local/lib/gcc/x86_64-apple-darwin10/4.5.0/../../.. -lgfortran -L/usr/local/lib/gcc/x86_64-apple-darwin10/4.5.0 -lgfortranbegin arguments = -DMX_COMPAT_32 -> LD = gcc-4.0 -> Link flags: LDFLAGS = -Wl,-twolevel_namespace -undefined error -arch x86_64 -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -bundle -Wl,-exported_symbols_list,/Applications/MATLAB_R2010a.app/extern/lib/maci64/fexport.map LDDEBUGFLAGS = -g LDOPTIMFLAGS = -O LDEXTENSION = .mexmaci64 arguments = -> LDCXX = -> Link flags: LDCXXFLAGS = LDCXXDEBUGFLAGS = LDCXXOPTIMFLAGS = LDCXXEXTENSION = arguments = ---------------------------------------------------------------- -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "refpropm.f90" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/SETUP.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/UTILITY.for" ../FORTRAN/UTILITY.for:1218.72: if (ABS(iprnterr).ge.3) pause 1 Warning: Deleted feature: PAUSE statement at (1) -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/TRNSP.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/TRNS_VIS.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/TRNS_TCX.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/TRNS_ECS.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/SETUP2.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/SAT_SUB.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/REALGAS.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/PROP_SUB.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/MIX_HMX.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/MIX_AGA8.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/IDEALGAS.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/FLSH_SUB.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/FLASH2.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_STN.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_PR.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_PH0.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_MLT.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_FEQ.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_ECS.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_DE.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_CPP.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_BWR.for" -> gfortran -c -I/Applications/MATLAB_R2010a.app/extern/include -I/Applications/MATLAB_R2010a.app/simulink/include -m64 -x f95-cpp-input -fexceptions -cpp -ffixed-form -DMX_COMPAT_32 -g "./FORTRAN/CORE_ANC.for" -> gcc-4.0 -g -Wl,-twolevel_namespace -undefined error -arch x86_64 -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -bundle -Wl,-exported_symbols_list,/Applications/MATLAB_R2010a.app/extern/lib/maci64/fexport.map -o "refpropm.mexmaci64" refpropm.o SETUP.o UTILITY.o TRNSP.o TRNS_VIS.o TRNS_TCX.o TRNS_ECS.o SETUP2.o SAT_SUB.o REALGAS.o PROP_SUB.o MIX_HMX.o MIX_AGA8.o IDEALGAS.o FLSH_SUB.o FLASH2.o CORE_STN.o CORE_PR.o CORE_PH0.o CORE_MLT.o CORE_FEQ.o CORE_ECS.o CORE_DE.o CORE_CPP.o CORE_BWR.o CORE_ANC.o -L/Applications/MATLAB_R2010a.app/bin/maci64 -lmx -lmex -lmat -L/usr/local/lib/gcc/x86_64-apple-darwin10/4.5.0/../../.. -lgfortran -L/usr/local/lib/gcc/x86_64-apple-darwin10/4.5.0 -lgfortranbegin Undefined symbols: "_mxcopyreal8toptr_", referenced from: _mexfunction_ in refpropm.o _mexfunction_ in refpropm.o _mexfunction_ in refpropm.o _mexfunction_ in refpropm.o ld: symbol(s) not found collect2: ld returned 1 exit status mex: link of ' "refpropm.mexmaci64"' failed.
From: Rune Allnor on 4 Jun 2010 05:15
On 4 Jun, 04:56, "Tiago " <timacar...(a)hotmail.com> wrote: > I have some routines that I use for a long time (already got them compiled), but now I need to compile them for the 64 bits Mac architecture. I already lost 2 or 3 days, but I can not make it work. Can some please help me? ..... > Undefined symbols: > "_mxcopyreal8toptr_", referenced from: > _mexfunction_ in refpropm.o > _mexfunction_ in refpropm.o > _mexfunction_ in refpropm.o > _mexfunction_ in refpropm.o > ld: symbol(s) not found > collect2: ld returned 1 exit status > > mex: link of ' "refpropm.mexmaci64"' failed. The problem seems obvious: The linker can't find any object code for mxCopyReal8ToPtr, which is a lbrary MEX code. This, in turn, points to either a problem with the MEX library on your platform, which would be a question for matlab tech support, or a problem with your compiler directives that might have confused the linker. The approach: 1) Write a minimum mex file that accesses the offending function, mxCopyReal8ToPtr, and see if the problem occurs. 2) If 'no' start troubleshooting to find out what is different in your large system, and what might have thrown the linker off its track. 3) If 'yes' submit this minimum example to matlab tech support, as there is a problem with the mex library. Rune |