Path: news.mathworks.com!not-for-mail
From: "Sridhar Mahadevan" <mahadeva@cs.umass.edu>
Newsgroups: comp.soft-sys.matlab
Subject: Mex error in 64-bit 2008a Mac OS X beta
Date: Wed, 23 Jul 2008 12:47:01 +0000 (UTC)
Organization: University of Massachusetts
Lines: 94
Message-ID: <g67985$4pk$1@fred.mathworks.com>
Reply-To: "Sridhar Mahadevan" <mahadeva@cs.umass.edu>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1216817221 4916 172.30.248.38 (23 Jul 2008 12:47:01 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Wed, 23 Jul 2008 12:47:01 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1222965
Xref: news.mathworks.com comp.soft-sys.matlab:481206



I'm having trouble mex'ing some C++ code, which I have been able
to compile successfully both on 64-bit Windows, Linux, as well as 32-bit Mac 
MATLAB versions. The problem is in the link loader (_mexFunction is 
undefined). 

The output of mex -v -g is given below. Any help would be much 
appreciated!

Thanks. 

- Sridhar

mex -g -v -largeArrayDims FastGSOGP.cpp
-> mexopts.sh sourced from directory (DIR = $MATLAB/bin)
   FILE = /Applications/MATLAB_R2008a/bin/mexopts.sh
-----------------------------------------------------------
-----
->    MATLAB                = /Applications/MATLAB_R2008a
->    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_R2008a/bin/maci64 -lmx -
lmex -lmat -lstdc++
         arguments          = 
->    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_R2008a/bin/maci64 -lmx -
lmex -lmat -lstdc++
         arguments          = 
->    FC                    = gfortran
->    FC flags:
         FFLAGS             = -m64
         FDEBUGFLAGS        = -g
         FOPTIMFLAGS        = -O
         FLIBS              = -L/Applications/MATLAB_R2008a/bin/maci64 -lmx -
lmex -lmat -L -lgfortran -L -lgfortranbegin
         arguments          = 
->    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_R2008a/extern/lib/maci64/me
xFunction.map
         LDDEBUGFLAGS       = -g
         LDOPTIMFLAGS       = -O
         LDEXTENSION        = .mexmaci64
         arguments          = 
->    LDCXX                 = 
->    Link flags:
         LDCXXFLAGS         = 
         LDCXXDEBUGFLAGS    = 
         LDCXXOPTIMFLAGS    = 
         LDCXXEXTENSION     = 
         arguments          = 
-----------------------------------------------------------
-----

-> g++-4.0 -c  -I/Applications/MATLAB_R2008a/extern/include -
DMATLAB_MEX_FILE -fno-common -no-cpp-precomp -fexceptions -arch 
x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-
min=10.5  -g  "FastGSOGP.cpp"

-> gcc-4.0 -c  -I/Applications/MATLAB_R2008a/extern/include -
DMATLAB_MEX_FILE -fno-common -no-cpp-precomp -arch x86_64 -
isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5  -
fexceptions  -g  "/Applications/MATLAB_R2008a/extern/src/mexversion.c"

-> 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_R2008a/extern/lib/maci64/me
xFunction.map -o  "FastGSOGP.mexmaci64"  FastGSOGP.o mexversion.o  -
L/Applications/MATLAB_R2008a/bin/maci64 -lmx -lmex -lmat -lstdc++

Undefined symbols:
  "_mexFunction", referenced from:
     -exported_symbols_list command line option
ld: symbol(s) not found
collect2: ld returned 1 exit status

    mex: link of ' "FastGSOGP.mexmaci64"' failed.