Compiling a C program to read .mat files

4 views (last 30 days)
Hi guys,
I've been struggling with this one for a few days now, I hope somebody can shed some light :)
I have some .mat files containing several matrices containing 3D points, and I want this data in my C program to create some nice graphics using OpenGL. My problem is that I can't seem to compile the code. I've read the documentation concerning this (http://www.mathworks.com/help/techdoc/matlab_external/f14500.html#f32276) and the matdgns.c file seems to do exactly what I want, but I can't seem to make it compile!
I'm using Ubuntu 10.10 64-bit and gcc 4.3.5 and I'm compiling with this command:
gcc -I/usr/local/matlabR2009b/extern/include -o matdgns matdgns.c -L/usr/local/matlabR2009b/bin/glnxa64 -lmat -lmx
I'm not sure if the code needs both those libraries to compile but I've tried all combinations of the two and no joy. Here is the output my compiler gives me:
matdgns.c: In function diagnose:
matdgns.c:81: warning: format %d’ expects type ‘int’, but argument 3 has type ‘mwSize’
matdgns.c:112: warning: format %d’ expects type ‘int’, but argument 3 has type ‘mwSize’
/usr/bin/ld: warning: libut.so, needed by /usr/local/matlabR2009b/bin/glnxa64/libmat.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libhdf5_hl.so.0, needed by /usr/local/matlabR2009b/bin/glnxa64/libmat.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libhdf5.so.5, needed by /usr/local/matlabR2009b/bin/glnxa64/libmat.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libmwfl.so, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicudata.so.40, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.40, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicui18n.so.40, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuio.so.40, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_member_type'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_array_length'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5P_CLS_FILE_CREATE_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_SHORT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_type_conv_cb'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pcreate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tcopy'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_ghash_query'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aget_space'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sget_simple_extent_dims'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Eset_auto2'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utSingleConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_strlen_lim'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utGetFormatEndian'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_strcpy'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sget_simple_extent_ndims'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aget_type'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Fcreate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_layout'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sclose'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utFinite'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utF2cstr'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Rcreate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utFlipFourBytes'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_SCHAR_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tlock'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aopen_name'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_class'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `typeinfo for MathWorks::System::InternalException'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::mem::aligned_heap::instance'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gunlink'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_nmembers'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utFree'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Acreate2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::cast(MathWorks::I18N::UnicodeConverterX*)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utTmpnam'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aclose'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_ULONG_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_deflate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_C_S1_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::InternalException::InternalException()'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18n::init__lcmgmt_init(int)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dopen2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utIsMultiByteCharSet'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_delete_ghash_table'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dget_type'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_FLOAT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `init_util_utassert(int)'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_get_message_mnemonic'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_getNextUChar_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utResetFPU'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_strlen'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dwrite'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utC2fstr'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Screate_simple'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_member_name'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_mem_add_primary_message_table'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aread'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utSNprintf'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_ghash_insert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5check_version'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utPrintf'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utTwoByteUIntConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gcreate2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetNamehashContext'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_namehash_add'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utCallRegisteredWarningCallback'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_size'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utSetLastWarningMsg'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gget_objname_by_idx'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tvlen_create'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_UCHAR_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Eget_auto2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utRealloc'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aget_name'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utRegisterSetWarningStatusCallback'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Screate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sselect_elements'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utStrdup'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utFourByteIntConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5P_CLS_DATASET_XFER_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_strncpy'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utFdlibm_ceil(double)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gopen2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_to_lcp_n'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::UnicodeConverterX::getThreadSpecific(char const*)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::InternalException::writeStackTrace(MathWorks::System::ObjectOutput&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dget_space'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_fromUChars_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::FromUTF16Converter::~FromUTF16Converter()'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetWarningStatus'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::FromUTF16Converter::copy_to(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utFlipEightBytes'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_array_new'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dclose'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aget_num_attrs'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_UINT64_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_sign'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_LONG_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utTwoByteIntConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetSingleEps()'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utGetFourByteInt'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::mem::create_managed_pool(unsigned long, unsigned long)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::Throwable::writeExternal(MathWorks::System::ObjectOutput&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_userblock'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pclose'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utVSNprintf'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetErrorContext'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::FromUTF16Converter::FromUTF16Converter(unsigned short const*, int, char const*)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sget_simple_extent_type'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Rget_obj_type2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetMemoryContext'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_UINT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetNaN'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utMalloc'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tinsert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_INT64_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::app::init::~init()'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gget_objinfo'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utLowerCaseCopy'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Rdereference'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sselect_hyperslab'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_INT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gclose'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_reset_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_new_ghash_table'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pget_type_conv_cb'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utSetLastPrintedWarningId'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Awrite'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sget_simple_extent_npoints'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::mem::manager::instance()'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utCalloc'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utDoubleConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5open'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dread'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utDoubleScalarRound'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_toUChars_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tcreate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dfill'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aopen_idx'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `ut_symtab_add'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_ghash_replace'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_fromUnicode_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gget_num_objs'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tset_size'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::InternalException::writeLocalizedMsg(MathWorks::System::ObjectOutput&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetWarningManagerContext'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utSetOutOfMemoryListener'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_cleanup_protected_items'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf8_to_utf16_n'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5P_CLS_DATASET_CREATE_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_USHORT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dvlen_reclaim'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_get_message_component'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::Throwable::writeRecurseChain(MathWorks::System::ObjectOutput&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tclose'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::System::init__objmgr_init(int)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Fopen'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_chunk'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::FromUTF16Converter::_do_conversion(char*, int) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Fclose'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_member_offset'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_DOUBLE_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_array_append'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_ghash_remove_element'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_error'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utIsWarningModeOn'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dcreate2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_get_message'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `init_util_basic_contexts(int)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utGetRealMin'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utPutFourByteInt'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `static_ref_okay'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::app::init::init()'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_array_get'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_STD_REF_OBJ_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `lcp_to_utf16_n'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utIsMultiByteLead'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utFdlibm_floor(double)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::InternalException::~InternalException()'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tequal'
collect2: ld returned 1 exit status
During my googling, I read something about libraries used by matlab's libraries for some other purpose, could that possibly be the problem? If so, where can I find them?
If not, does anyone have any ideas?
If you need some more information from me just let me know.

Accepted Answer

Jan
Jan on 1 Mar 2011
Did you try to compile this from Matlab per MEX command?
EDITED: Did you specify the 64 bit addressing by -largeArrayDims?
  2 Comments
Martin
Martin on 1 Mar 2011
I've just tried again now and this is the output I get:
> mex matdgns.c
Warning: You are using gcc version "4.3.5-3ubuntu1)". The earliest gcc version supported
with mex is "4.1". The latest version tested for use with mex is "4.2".
To download a different version of gcc, visit http://gcc.gnu.org
> ./matdgns.mexa64 data_1.mat
zsh: segmentation fault ./matdgns.mexa64 data_1.mat
Jan
Jan on 1 Mar 2011
Do you simply ignore the warning about the compiler? Cool.

Sign in to comment.

More Answers (2)

Kaustubha Govind
Kaustubha Govind on 1 Mar 2011
As per the documentation you must compile using the options file matopts.sh, provided with MATLAB. Since this options file is written for MEX, you must first trying compiling with the -v flag, and reproduce the same options to produce a different target.
  1 Comment
Vikash Anand
Vikash Anand on 4 May 2011
Hey man, you are right.using the options file works perfectly, irrespective of gcc version.

Sign in to comment.


Martin
Martin on 1 Mar 2011
Thanks both,
The issue was that my version of gcc was not supported, I needed to use an earlier version. Always read compiler warnings - lesson learnt :)
  2 Comments
Vikash Anand
Vikash Anand on 4 May 2011
So did things work for you??? How did you install an older version of GCC ... I tried through synaptic and installed 4.3.4 but now in matlab i get another error :
/home/vikash/matlab2010/bin/mex:1372 : gcc: not found
any solution???
Kaustubha Govind
Kaustubha Govind on 4 May 2011
It's not clear which version of MATLAB you're using, but R2010a only supported gcc 4.2.3. R2010b does support 4.3.4 however. What do you get at the system shell when you type "gcc -v"?

Sign in to comment.

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!