Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-6942

ROOT 6, built with Cocoa (MacOS X) support, doesn't start in batch mode over ssh

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: High
    • Resolution: Unresolved
    • Affects Version/s: 6.02/02
    • Fix Version/s: None
    • Component/s: Graphics
    • Labels:
      None
    • Environment:

      MacOS X 10.9, clang 5.1

      Description

      We (in ATLAS) use a central MacOS X 10.9 build machine to build nightly versions of our analysis software release against ROOT 6. Currently we use v6-02-02 for this.

      The ROOT binary is taken straight from the root.cern.ch webpage as far as I know. But in any case, it gives:

      [bash][macatc52]:~ > root-config --config
      COMERR_LIBRARY=/usr/lib/libcom_err.dylib JPEG_INCLUDE_DIR=/opt/local/include JPEG_LIBRARY=/opt/local/lib/libjpeg.dylib KRB5_INCLUDE_DIR=/usr/include/krb5 KRB5_LIBRARY=/usr/lib/libkrb5.dylib KRB5_MIT_LIBRARY=/usr/lib/libk5crypto.dylib LBER_LIBRARY=/usr/lib/liblber.dylib LDAP_INCLUDE_DIR=/usr/include LDAP_LIBRARY=/usr/lib/libldap.dylib LIBXML2_INCLUDE_DIR=/opt/local/include/libxml2 LIBXML2_LIBRARIES=/opt/local/lib/libxml2.dylib ODBC_LIBRARY=/usr/lib/libiodbc.dylib OPENGL_INCLUDE_DIR=/System/Library/Frameworks/OpenGL.framework OPENGL_gl_LIBRARY=/System/Library/Frameworks/OpenGL.framework OPENGL_glu_LIBRARY=/System/Library/Frameworks/AGL.framework OPENSSL_CRYPTO_LIBRARY=/usr/lib/libcrypto.dylib OPENSSL_INCLUDE_DIR=/usr/include OPENSSL_LIBRARIES=/usr/lib/libssl.dylib;/usr/lib/libcrypto.dylib OPENSSL_SSL_LIBRARY=/usr/lib/libssl.dylib PC_LIBXML_INCLUDEDIR=/opt/local/include PC_LIBXML_INCLUDE_DIRS=/opt/local/include/libxml2 PC_LIBXML_LIBRARIES=xml2 PC_LIBXML_LIBRARY_DIRS=/opt/local/lib PC_LIBXML_STATIC_INCLUDE_DIRS=/opt/local/include/libxml2 PC_LIBXML_STATIC_LIBRARIES=xml2;pthread;z;iconv;m PC_LIBXML_STATIC_LIBRARY_DIRS=/opt/local/lib PC_SQLITE_INCLUDEDIR=/opt/local/include PC_SQLITE_INCLUDE_DIRS=/opt/local/include PC_SQLITE_LIBRARIES=sqlite3 PC_SQLITE_LIBRARY_DIRS=/opt/local/lib PC_SQLITE_STATIC_INCLUDE_DIRS=/opt/local/include PC_SQLITE_STATIC_LIBRARIES=sqlite3 PC_SQLITE_STATIC_LIBRARY_DIRS=/opt/local/lib PNG_LIBRARY=/usr/X11R6/lib/libpng.dylib PNG_LIBRARY_RELEASE=/usr/X11R6/lib/libpng.dylib PNG_PNG_INCLUDE_DIR=/usr/X11R6/include POSTGRESQL_LIBRARIES=/usr/lib/libpq.dylib PYTHON_INCLUDE_DIR=/System/Library/Frameworks/Python.framework/Headers PYTHON_LIBRARY=/System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib PYTHON_LIBRARY_RELEASE=/System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib SQLITE_INCLUDE_DIR=/usr/include SQLITE_LIBRARIES=/usr/lib/libsqlite3.dylib TIFF_INCLUDE_DIR=/opt/local/include TIFF_LIBRARY=/opt/local/lib/libtiff.dylib ZLIB_INCLUDE_DIR=/usr/include ZLIB_LIBRARY=/usr/lib/libz.dylib

      The problem is that it's impossible to start an interactive root shell over ssh using this ROOT version. Because it crashes like:

      [bash][macatc52]:~ > root -b
      _RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
      fatal error: file
            '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config'
            modified since it was first processed
      Warning in cling::IncrementalParser::CheckABICompatibility():
        Possible C++ standard library mismatch, compiled with _LIBCPP_VERSION v1101 but extraction of runtime standard library version failed.
       
       *** Break *** segmentation violation
       Generating stack trace...
       0x00000001029baa37 in cling::Interpreter::declare(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cling::Transaction**) (in libCling.so) + 103
       0x00000001028da3e7 in TCling::TCling(char const*, char const*) (in libCling.so) + 3543
       0x00000001028d746f in CreateInterpreter (in libCling.so) + 47
       0x0000000102379e9b in TROOT::InitInterpreter() (in libCore.so) + 171
       0x0000000102379dd1 in ROOT::GetROOT2() (in libCore.so) + 33
       0x00000001023eab69 in TApplication::TApplication(char const*, int*, char**, void*, int) (in libCore.so) + 297
       0x000000010283635a in TRint::TRint(char const*, int*, char**, void*, int, bool) (in libRint.so) + 42
       0x0000000102836ee4 in TRint::TRint(char const*, int*, char**, void*, int, bool) (in libRint.so) + 20
       0x000000010236de81 in main (in root.exe) + 65
       0x00007fff891a55fd in start (in libdyld.dylib) + 1

      It's interesting to note that while v5-34-24 in the same setup complains a bit as well, it does at least manage to start up correctly in the end.

      [bash][macatc52]:~ > root -b
      _RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
        *******************************************
        *                                         *
        *        W E L C O M E  to  R O O T       *
        *                                         *
        *   Version   5.34/24   2 December 2014   *
        *                                         *
        *  You are welcome to visit our Web site  *
        *          http://root.cern.ch            *
        *                                         *
        *******************************************
       
      ROOT 5.34/24 (v5-34-24@v5-34-24, Dec 02 2014, 18:18:32 on macosx64)
       
      CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
      Type ? for help. Commands must be C++ statements.
      Enclose multiple statements between { }.
      root [0]

      You can reproduce the issue by logging into a MacOS X 10.9 machine over ssh that has CVMFS access, and doing:

      export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
      source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh
      localSetupROOT 6.02.02-x86_64-mac109-clang51-opt

      I believe that it should behave the same with the mac1010 version as well. That's available by doing:

      localSetupROOT 6.02.02-x86_64-mac1010-clang60-opt

      as the last command in the previous example.

      Of course the binaries work just fine when using them on a machine (like my laptop) directly.

      Cheers,
      Attila

        Attachments

          Activity

            People

            • Assignee:
              couet Olivier Couet
              Reporter:
              akraszna Attila Krasznahorkay
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated: