[Help] HAS_WNO_LOCAL_TYPEDEFS - Failed in Configure Step and OpenCV compile error on MacOS

User 484 | 7/19/2014, 10:30:51 AM

I mainly have two configuration problem.

-- Looking for pthreadsetaffinitynp - not found and -- Performing Test HASWNOLOCAL_TYPEDEFS - Failed

With these configuration errrors, I executed the 'make -j4' and got OpenCV compile error like this:

/Users/frank/git/graphlab-master/deps/opencv/src/opencv/modules/highgui/src/windowcocoa.mm: In function 'void cvDestroyAllWindows()': /Users/frank/git/graphlab-master/deps/opencv/src/opencv/modules/highgui/src/windowcocoa.mm:198:21: error: expected ';' before 'in' for(NSString *key in list) { ^

I really find it hard to compile Graphlab on Mac… Need your help.

========================================== My system infos are as follows.

<h1>Macbook Pro OS X 10.9</h1>

<h1>> uname -a</h1> Darwin th116069.ip.tsinghua.edu.cn 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASEX8664 x86_64

<h1>> g++ -v</h1> Using built-in specs. COLLECTGCC=g++ COLLECTLTOWRAPPER=/usr/local/Cellar/gcc/4.8.3/libexec/gcc/x8664-apple-darwin13.2.0/4.8.3/lto-wrapper Target: x8664-apple-darwin13.2.0 Configured with: ../configure --build=x8664-apple-darwin13.2.0 --prefix=/usr/local/Cellar/gcc/4.8.3 --enable-languages=c,c++,objc,obj-c++,fortran --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-cloog=/usr/local/opt/cloog --with-isl=/usr/local/opt/isl --with-system-zlib --enable-version-specific-runtime-libs --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --disable-werror --enable-plugin --disable-nls --enable-multilib Thread model: posix gcc version 4.8.3 (GCC)

<h1>> clang++ -v</h1> Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) Target: x86_64-apple-darwin13.3.0 Thread model: posix


-- Looking for pthreadsetaffinitynp <b class="Bold"><i class="Italic">-- Looking for pthreadsetaffinitynp - not found</i></b> -- Performing Test HASMARCHNATIVE -- Performing Test HASMARCHNATIVE - Success -- Performing Test HASMTUNENATIVE -- Performing Test HASMTUNENATIVE - Success -- Performing Test HASWNOLOCALTYPEDEFS <b class="Bold"><i class="Italic">-- Performing Test HASWNOLOCALTYPEDEFS - Failed</i></b> -- Performing Test HASCRC32 -- Performing Test HASCRC32 - Success -- Release build with C++ flags: -O3 -Wno-attributes -march=native -mtune=native -Wall -g -DHASBUILTINCRC32 -- Release build with C flags: -O3 -Wno-attributes -march=native -mtune=native -Wall -g -- Found PythonInterp: /usr/local/bin/python (found version "2.7.3") -- Copying Files: *


Release build directory:


Debug build directory (optimization disabled):


Directory in which graphlab is installed (prefix):


Is experimental (research) code enabled:


The graphlab home directory:


The directory in which graphlab installs external dependencies:


Use OpenMP? This can accelerate some graph building code:


Use MPI? Without MPI GraphLab cannot run distributed:


Use tcmalloc? Thread-Caching Malloc improves memory allocation:


The c compiler to use:


The c++ compiler to use:


Any addition user defined CFLAGS:


The Java compiler:


The cmake binary used to geneate the project:



User 6 | 7/19/2014, 12:30:39 PM

Hi Frank

Are you trying to use the cloudcv (image processing) toolkit? If not, please compile only the toolkits you intend to use by changing directory into the toolkit and calling make from there.

GraphLab toolkits are composed of many contributions. The image processing toolkit is a contribution by virginia tech and it uses open cv which is a third party software. We advise compiling it on Linux. Alternatively you may submit a support request to the open cv project.


User 484 | 7/20/2014, 2:01:07 PM

Thank you for your help.

I turned to Ubuntu on virtual machines and successfully compiled the code.

Another problem I met is that mpiexec.openmpi got stuck when I run pagerank on multi-nodes. However, it gave out result very quickly when I run pagerank on any single node.

I can't find any solution to this. The mpirsync script, which also uses mpiexec.openmpi, could actually successfully deploy files to other nodes.

After that, I installed mpich2 to take place of openmpi. I adjusted mpirsync.sh to mpich2 and followed the steps of http://graphlab.org/projects/tutorials.html#cluster. Everything now goes well.