Error building ROOT 6 with Mac OSX 10.9.5

I have encountered an error building ROOT version 6.00/02. I am running a 2010 MacBook Pro, OSX 10.9.5:

  1. I obtained the version of ROOT using git:

which provided the following output:

Cloning into 'root'... remote: Counting objects: 465377, done. remote: Compressing objects: 100% (124214/124214), done. remote: Total 465377 (delta 346814), reused 453734 (delta 335760) Receiving objects: 100% (465377/465377), 430.43 MiB | 662.00 KiB/s, done. Resolving deltas: 100% (346814/346814), done. Checking connectivity... done. Checking out files: 100% (22816/22816), done.

Finally, I checked out the latest version of ROOT:

cd root
git tag -l
git checkout -b v6-02-00-rc1 v6-02-00-rc1
  1. I configured ROOT in the following way:

which provided the following output:

[code]Checking for source directory … /Users/alexclifton/ROOT/root
Configuring for macosx
Checking for Fink/MacPorts directory …
Checking for GNU Make version >= 3.80 … ok
Checking for C compiler … clang
Checking for C++ compiler … clang++
Checking for linker (LD) … clang++
Checking for F77 compiler … no F77 compiler gfortran found
Checking whether c++11 mode is supported … yes
Checking whether libc++ is supported … yes
Checking for Python version >= 2.5 … yes
Checking whether to build native MacOS X Cocoa backend … yes
Checking for Xcode OSX SDK … yes
Checking for freetype-config … using builtin freetype
Checking whether to build included libfreetype6 … yes
Checking for pcre-config … /usr/local/bin/pcre-config
Checking for libpcre version >= 3.9 … ok
Checking whether to build included libpcre … no
Checking for zlib.h … /usr/include
Checking for libz … /usr/lib
Checking whether to build included zlib … no
Checking for lzma.h … no
Checking for liblzma … /usr/lib
Checking whether to build included lzma … yes
Checking for GL/gl.h, or gl.h … /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Headers
Checking for libGL, or libMesaGL … /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Libraries
Checking for libGLU, or libMesaGLU … /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Libraries
Checking for GL/glew.h … no
Checking for libGLEW … no
Checking whether to build included GLEW … yes
Checking for pkg-config … not found
Checking whether to build included libftgl … yes
Checking for mysql_config … not found
Checking for mysql.h … no
Checking for libmysqlclient_r, libmysqlclient, or mysqlclient … no
Checking for occi.h … no
Checking for libclntsh, or oci … no
Checking for libocci, or oraocci10 … no
Checking for libpq-fe.h … no
Checking for libpq … no
Checking for sqlite3.h … /usr/include
Checking for libsqlite3 … /usr/lib
Checking for sql.h … no
Checking for libsqlod … no
Checking for sqlext.h … no
Checking for libiodbc, libodbc, or odbc32 … /usr/lib
Checking for Qt/qglobal.h … no
Checking for moc or moc.exe … no
Checking for rfio_api.h … no
Checking for librfio, libdpm, libcastorrfio, libshift, shiftmd, or shift … no
Checking for rfio_api.h … no
Checking for stager_api.h … no
Checking for libcastorrfio, libshift, shiftmd, or shift … no
Checking for gfal_api.h … no
Checking for libgfal … no
Checking for gfal_srm_ifce_types.h … no
Checking for ApMon.h … no
Checking for libapmoncpp … no
Checking for fftw3.h … /usr/local/include
Checking for libfftw3, or libfftw3-3 … no
Checking for fitsio.h … no
Checking for libcfitsio, or cfitsio … no
Checking for gvc.h … no
Checking for libgvc, or gvc … no
Checking for libgraph, graph, libcgraph, or cgraph … no
Checking for libcdt, or cdt … no
Checking for libpathplan, or pathplan … no
Checking for libexpat, or expat … /usr/lib
Checking for libgvplugin_dot_layout, or gvplugin_dot_layout … no
Checking for libPythia6 … no
Checking for Pythia8/Pythia.h … no
Checking for libpythia8 … no
Checking for dcap.h … no
Checking for libdcap … no
Checking for davix.hpp … no
Checking for libdavix … no
Checking for chirp_reli.h … no
Checking for libchirp_client … no
Checking for hdfs.h … no
Checking for jni.h … no
Checking for libhdfs … no
Checking for libjvm … no
Checking for libglite-api-wrapper … no
Checking for gapiUI.h … no
Checking for libgapiUI … no
Checking whether to build included libAfterImage … yes
Checking for XCAFApp_Application.hxx … no
Checking for libTKXCAF … no
Checking for ldap.h … /usr/include
Checking for libldap … /usr/lib
Checking for liblber … /usr/lib
Checking for PyROOT prerequisites … yes
Checking for Python.h … /Library/Frameworks/Python.framework/Versions/2.6/include/python2.6
Checking for python2.6, libpython2.6, libpython, python, or Python … /Library/Frameworks/Python.framework/Versions/2.6
Checking for xml2-config … /usr/bin/xml2-config
Checking for libxml2 version >= 2.4.x … ok
Checking for XrdVersion.hh … /usr/local/include/xrootd
Checking for xrootd version … “v4.0.0” (400000000)
Checking for libXrdUtils … no
Checking whether new xrootd client (libNetxNG) should be build … yes
Checking for libssl … /usr/lib
Checking for libcrypto … /usr/lib
Checking for openssl/bio.h … /usr/include
Checking for openssl/blowfish.h … /usr/include
Checking for openssl/err.h … /usr/include
Checking for openssl/pem.h … /usr/include
Checking for openssl/rand.h … /usr/include
Checking for openssl/rsa.h … /usr/include
Checking for t_server.h … no
Checking for libsrp … no
Checking for libgmp … no
Checking for libmisc … no
Checking for pwauth.h … no
Checking for krb5.h … /usr/include
Checking for krb5.h redirect … /usr/include/krb5/krb5.h
Checking for krb5_c_valid_cksumtype in krb5.h … yes
Checking for valid_cksumtype in krb5.h … no
Checking for libk5crypto … /usr/lib
Checking whether we’re using MIT Kerberos … yes
Checking for krb5_c_valid_cksumtype in /usr/lib/libk5crypto.dylib … ok
Checking for valid_cksumtype in /usr/lib/libk5crypto.dylib … ok
Checking for libkrb5 … /usr/lib
Checking for kinit … /usr/bin/kinit
Checking for libcom_err … /usr/lib
Checking for shadow passwords … no
Checking required compiler/assembler workarounds …
Checking SIMD specific compiler flags … -mavx -msse4.1 -mssse3 -msse3 -msse2 -DVC_IMPL=SSE+XOP+FMA4~-mxop~-mfma4 -mavx~-mxop~-mfma4
Checking for gsl/gsl_version.h … no
Checking for gsl-config … not found
Checking whether to build libMathMore … no
Checking whether to build libGenVector … yes
Checking whether to build libRooFit … yes
Checking whether to build libMinuit2 … yes
Checking whether to build libUnuran … yes
Checking whether to build libVc … yes
Checking whether to install VDT … yes
Checking whether to build libGdml … yes
Checking whether to build libTable … yes
Checking whether to build libTMVA … yes
Checking whether to build libRHTTP … yes
Checking for fcgiapp.h … no
Checking for libfcgi … no
Checking whether to build libMemStat … yes
Checking whether to build afdsmgrd … no
Creating include … done
Creating bin … done
Creating lib … done
Writing config/Makefile.config … done
Writing config/Makefile.comp … done
Writing include/RConfigure.h … done
Writing include/RConfigOptions.h … done
Writing bin/root-config … done
Writing etc/system.rootrc … done
Writing etc/system.rootauthrc … done
Writing etc/system.rootdaemonrc … done
Writing etc/root.mimes … done
Writing etc/daemons/rootd.rc.d … done
Writing etc/daemons/rootd.xinetd … done
Writing etc/daemons/proofd.rc.d … done
Writing etc/daemons/proofd.xinetd … done
Writing main/src/proofserv.sh … done
Writing main/src/xproofd.sh … done
Writing main/src/roots.sh … done
Writing bin/memprobe … done
Writing build/misc/root-help.el … done
Writing macros/html.C … done
Writing bin/thisroot.sh … done
Writing bin/thisroot.csh … done
Writing bin/setxrd.sh … done
Writing bin/setxrd.csh … done
Writing config.status … done

Enabled support for asimage, astiff, bonjour, builtin_afterimage, builtin_ftgl, builtin_freetype, builtin_glew, builtin_lzma, builtin_llvm, libcxx, cocoa, explicitlink, fink, gdml, genvector, http, krb5, ldap, memstat, minuit2, opengl, python, roofit, rpath, shared, sqlite, ssl, table, tmva, unuran, vc, vdt, xml.

To build ROOT type:

make
[/code]

  1. I then ran “make”. The following lines were near the end of the output and may point to the problem:
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for clang::AnnotateAttr", referenced from:
      AnnotateFieldDecl(clang::FieldDecl&, std::__1::list<VariableSelectionRule, std::__1::allocator<VariableSelectionRule> > const&, bool) in rootcling_tmp.o
      AnnotateDecl(clang::CXXRecordDecl&, SelectionRules&, cling::Interpreter&, bool) in rootcling_tmp.o
      DictSelectionReader::SecondPass(clang::RecordDecl const&) in DictSelectionReader.o
      cling::test::SymbolResolverCallback::LookupObject(clang::LookupResult&, clang::Scope*) in InterpreterCallbacks.o
      AnnotateFieldDecl(clang::FieldDecl&, std::__1::list<VariableSelectionRule, std::__1::allocator<VariableSelectionRule> > const&, bool) in rootcling_tmp.o
      AnnotateDecl(clang::CXXRecordDecl&, SelectionRules&, cling::Interpreter&, bool) in rootcling_tmp.o
      DictSelectionReader::SecondPass(clang::RecordDecl const&) in DictSelectionReader.o
      cling::test::SymbolResolverCallback::LookupObject(clang::LookupResult&, clang::Scope*) in InterpreterCallbacks.o
      AnnotateFieldDecl(clang::FieldDecl&, std::__1::list<VariableSelectionRule, std::__1::allocator<VariableSelectionRule> > const&, bool) in rootcling_tmp.o
      AnnotateDecl(clang::CXXRecordDecl&, SelectionRules&, cling::Interpreter&, bool) in rootcling_tmp.o
      DictSelectionReader::SecondPass(clang::RecordDecl const&) in DictSelectionReader.o
      cling::test::SymbolResolverCallback::LookupObject(clang::LookupResult&, clang::Scope*) in InterpreterCallbacks.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for clang::PragmaHandler", referenced from:
      LinkdefReader::Parse(SelectionRules&, llvm::StringRef, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, char const*) in LinkdefReader.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for clang::PreprocessorLexer", referenced from:
      cling::Interpreter::ShouldWrapInput(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Interpreter.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for clang::PPChainedCallbacks", referenced from:
      cling::CIFactory::createCI(llvm::MemoryBuffer*, int, char const* const*, char const*, cling::DeclCollector*) in CIFactory.o
      cling::InterpreterCallbacks::InterpreterCallbacks(cling::Interpreter*, bool, bool, bool) in InterpreterCallbacks.o
      cling::CIFactory::createCI(llvm::MemoryBuffer*, int, char const* const*, char const*, cling::DeclCollector*) in CIFactory.o
      cling::InterpreterCallbacks::InterpreterCallbacks(cling::Interpreter*, bool, bool, bool) in InterpreterCallbacks.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for clang::Lexer", referenced from:
      cling::Interpreter::ShouldWrapInput(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Interpreter.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for clang::UsedAttr", referenced from:
      cling::IncrementalParser::markWholeTransactionAsUsed(cling::Transaction*) const in IncrementalParser.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [core/utils/src/rootcling_tmp] Error 1

I apologize for the lengthy bits of output, but I wanted to make sure I could provide as much information as possible. Does anyone have any suggestions for how to correct these errors?

HI!

With
./configure macosx
You’re selecting the 32 bit version. Given that you’re using 10.9.5, I guess your Macbook is 64bit. (It should be unless you did some hacking).

Try configuring without the macosx and let root figure out the machine (that’s how I do) or use the appropriate macosx64

Regards,
Hans

Oh wow. That worked perfectly. Thanks!