-
Notifications
You must be signed in to change notification settings - Fork 18.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Building MATLAB wrapper "__OSX_AVAILABLE_BUT_DEPRECATED" #915
Comments
You are getting a warning that states that the function is deprecated on your version of OS X. If you can figure out a way to ignore the warning then you should be able to progress to the next error message :). Perhaps patch cblas.h if you are inclined to do so. Another alternative is to use Intel MKL and forget using BLAS shipped with Xcode. I do not know how to change options in the Makefile to ignore this warning message. |
Specifically, in the file
to
Note that the function definition has been commented out. This was actually @vimalthilak's idea, but I'm making it more explicit. |
Thanks! This did the trick! But now I get the following error while linking: Building with 'Xcode Clang++'. Looks like something's wrong with mex. |
You are missing a path to matlab's Mex binaries. Libmx.dylib and limb ex.dylib . You can add the path in Makefile.config to see if you can progress forward. |
I had to do this to get mex working: Thanks for the help! Everything compiled successfully now! What a great community! |
@damro, regarding your errors like
You can replace |
I should mention that I had to do both, setting the path and following the mathworks solution, to get it running. |
I am getting the same issue even after updating Makefile.config to add LIBRARY_DIRS := $(PYTHON_LIB) /Applications/MATLAB_R2014a.app/bin/maci64 /usr/local/lib /usr/lib. |
Did you change Matlab's mexopts.sh ? It sounds like you build is getting confused between libc++ and libstd++. Look over the mathworkx link included in one of the previous posts. Vimal Sent from my iPhone
|
If a matcaffe user on OSX 10.9 could send a PR noting the proper mexopts.sh On Sun, Aug 24, 2014 at 11:51 AM, Vimal Thilak notifications@github.com
|
Yes! I had changed the mexopts.sh to include 10.8 wherever 10.7 was there ( 4 places). But then too I am getting the same issue. |
@StevenLobo2 Same thing happen to me! |
@StevenLobo2 Problem solved... BTW: on maverick, use 10.8sdk instead of 10.9sdk it will work. |
Here I got a problem like:
After modify the mexopts.h, add maci64 path in Makefile.config and veclib *.h file as told before. So how |
@reking Can you post the full make output as a gist? |
Thanks @drdan14 for reply, output is too long, here is part of it, https://gist.github.com/reking/7ff32dcce1f516dec379 |
@reking, I see boost errors, which I vaguely recall getting myself. If I recall, Caffe was seeing Matlab's internal libraries earlier in the library path than my local homebrew libraries in Try changing the Mine looks like this:
|
Thank you very much for reply, the boost error is solved, however, the ld: symbol(s) not found for architecture x86_64 mex: link of ' "matlab/caffe/caffe.mexmaci64"' failed. still happens, I was viewing your post, my pkgutil -...... shows version 5.1, does it matter for compilation? |
The new error is like https://gist.github.com/reking/7ff32dcce1f516dec379 |
@reking
|
@drdan14 Thank you for reply, maybe I haven't re make all after change the veclib to accelerate? |
Yep, |
new error: https://gist.github.com/reking/7ff32dcce1f516dec379 @drdan14 Please take a look, thank you |
@reking, I'm not sure about that one. Try posting to the Google Group to see if anyone there has an idea. |
@reking can you run locate libprotobuf from command line? Are you sure that there are no other conflicting versions that link to libc++ somewhere in your path? |
@vimalthilak thanks for reply, I find some libprotobuf in /usr/local/lib |
@vimalthilak Here is the locations of all libprotobuf |
@reking Here is what I found on my system >> locate libprotobuf As you can see I have a few different versions floating around including one in Xcode that links to libc++. So please ensure that your env variables doesn't have any references to an incorrect version |
@vimalthilak Thank you very much, it's ok now, just follow your advice, cp libprotobuf.9.* to matlab.app/bin/maci64, thanks! Thanks @drdan14 again for your both kind help! |
Hi there i'm having a problem when trying to tape: make matcaffe on a shell. make: *** [matlab/+caffe/private/caffe_.mexmaci64] Error 255 i tried to change the blas.h file like @drdan14 said but i only have the lecture rights. |
@AlamiMejjati I am having the same error (using OS X Yosemite 10.10, Matlab_R2015a) |
@NRmf I'm have the exact same issue with similar configuration (OSX Yosemite 10.11, Matlab_R2015b). |
Sorry guys, my solution was to move on ubuntu. It is way easier to install. Goog luck ;) |
same error, many symbol(s) not found for architecture x86_64 one is cv::String::(de)allocate, others are google::protobuf::xxxxxx...... Every possible solution mentioned above have been tried but still..... DESPERATE, please help if you have any idea... |
Problems solved thanks to https://groups.google.com/forum/#!topic/caffe-users/BZgh3mtaR2o Just remember to make clean & make all before make matcaffe. Anyway homebrew helps a lot in version control. |
Being driven mad by the "Undefined symbols for architecture x86_64: _mxArrayToString" issue. Have read this thread half a dozen times and still can't seem to fix it. I'm using Matlab 2017a on OS X Sierra 10.12.5, Xcode 8.3.3. I've tried:
Still getting the error. Help! :) UPDATE: Realized I should mention I'm getting these warnings, maybe part of the problem? |
@emojiface-ops |
@emojiface-ops Undefined symbols for architecture x86_64: do you fix that ? |
Hey there!
I hope someone can help me with this issue. When compiling the MATLAB wrapper with 'make matcaffe' I get the following error.
Building with 'Xcode Clang++'.
In file included from /Users/damian/workspace/caffe/matlab/caffe/matcaffe.cpp:12:
In file included from ./include/caffe/caffe.hpp:8:
In file included from ./include/caffe/blob.hpp:8:
In file included from ./include/caffe/syncedmem.hpp:9:
In file included from ./include/caffe/util/math_functions.hpp:12:
In file included from ./include/caffe/util/mkl_alternate.hpp:13:
/System/Library/Frameworks/vecLib.framework/Versions/Current/Headers/cblas.h:640:40: error: expected function body after function declarator
extern void ATLU_DestroyThreadMemory() __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_9, __IPHONE_4_0, __IPHONE_NA);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/Availability.h:155:53: note: expanded from macro '__OSX_AVAILABLE_BUT_DEPRECATED'
__AVAILABILITY_INTERNAL##_osxIntro##_DEP##_osxDep
^
:106:1: note: expanded from here
__AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_9
^
1 error generated.
make: *** [matlab/caffe/caffe.mexmaci64] Error 255
The MATLAB version 2014a and I'm trying to get it working on a MAC OSX 10.9. I'm already on the dev branch using the fix provided in the previous issues with MATLAB 2014a but this didn't solve it.
Does anybody has an idea how to fix this issue?
Thank you for your help!
The text was updated successfully, but these errors were encountered: