Difficulty resolving errors in configure.log file

Hello,

I’m having difficulty resolving the errors listed at the bottom of my configure.log file, of which I’ve pasted the contents below. One error indicates that Xcode is not verified, which is likely true, as every time I try to open Xcode it seems to be incredibly slow/ lagging in the verification process. The other error only indicates that I should resolve the issue in the configure.log file, but I can’t find where exactly the error would be.

I realize this issue is probably quite basic/ simple to resolve. All help is appreciated!

REPORT: 
MRtrix build type requested:

REPORT: release

REPORT: 

REPORT: Detecting OS: darwin
EXEC <<
CMD: sw_vers -productVersion
EXIT: 0
STDOUT:
10.11.6
>>


REPORT: OS X deployment target: 10.11

REPORT: Checking for C++11 compliant compiler [clang++]:
EXEC <<
CMD: clang++ -dumpversion
EXIT: 0
STDOUT:
4.2.1
>>


REPORT: 4.2.1

COMPILE /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpe13dk0di.cpp:
---

struct Base {
    Base (int);
};
struct Derived : Base {
    using Base::Base;
};

int main() {
  Derived D (int); // check for contructor inheritance
  return (0);
}

---
EXEC <<
CMD: clang++ -c -std=c++11 -mno-avx -DMRTRIX_MACOSX -fPIC -mmacosx-version-min=10.11 /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpe13dk0di.cpp -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpe13dk0di.o
EXIT: 0
>>

EXEC <<
CMD: clang++ /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpe13dk0di.o -mmacosx-version-min=10.11 -o a.out
EXIT: 0
>>

EXEC <<
CMD: ./a.out
EXIT: 0
>>


REPORT:  - tested ok

REPORT: Detecting pointer size:

COMPILE /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpasm0awb_.cpp:
---

#include <iostream>
int main() {
  std::cout << sizeof(void*);
  return (0);
}

---
EXEC <<
CMD: clang++ -c -std=c++11 -mno-avx -DMRTRIX_MACOSX -fPIC -mmacosx-version-min=10.11 /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpasm0awb_.cpp -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpasm0awb_.o
EXIT: 0
>>

EXEC <<
CMD: clang++ /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpasm0awb_.o -mmacosx-version-min=10.11 -o a.out
EXIT: 0
>>

EXEC <<
CMD: ./a.out
EXIT: 0
STDOUT:
8
>>


REPORT: 64 bit

REPORT: Detecting byte order:

REPORT: little-endian

REPORT: Checking for variable-length array support:

COMPILE /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpif9yaj26.cpp:
---


int main(int argc, char* argv[]) {
  int x[argc];
  return 0;
}

---
EXEC <<
CMD: clang++ -c -std=c++11 -mno-avx -DMRTRIX_MACOSX -fPIC -mmacosx-version-min=10.11 -DMRTRIX_WORD64 /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpif9yaj26.cpp -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpif9yaj26.o
EXIT: 0
>>

EXEC <<
CMD: clang++ /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpif9yaj26.o -mmacosx-version-min=10.11 -o a.out
EXIT: 0
>>

EXEC <<
CMD: ./a.out
EXIT: 0
>>


REPORT: yes

REPORT: Checking for non-POD variable-length array support:

COMPILE /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp6bhqfudn.cpp:
---

#include <string>

class X {
  int x;
  double y;
  std::string s;
};

int main(int argc, char* argv[]) {
  X x[argc];
  return 0;
}

---
EXEC <<
CMD: clang++ -c -std=c++11 -mno-avx -DMRTRIX_MACOSX -fPIC -mmacosx-version-min=10.11 -DMRTRIX_WORD64 /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp6bhqfudn.cpp -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp6bhqfudn.o
EXIT: 1
STDERR:
/var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp6bhqfudn.cpp:11:6: error: variable length array of non-POD element type 'X'
  X x[argc];
     ^
1 error generated.
>>

error deleting temporary file "/var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp6bhqfudn.o": No such file or directory
REPORT: no

REPORT: Checking for zlib compression library:

COMPILE /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp10i_l4su.cpp:
---

#include <iostream>
#include <zlib.h>

int main() {
  std::cout << zlibVersion();
  return (0);
}

---
EXEC <<
CMD: clang++ -c -std=c++11 -mno-avx -DMRTRIX_MACOSX -fPIC -mmacosx-version-min=10.11 -DMRTRIX_WORD64 -DMRTRIX_NO_NON_POD_VLA /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp10i_l4su.cpp -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp10i_l4su.o
EXIT: 0
>>

EXEC <<
CMD: clang++ /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp10i_l4su.o -mmacosx-version-min=10.11 -lz -o a.out
EXIT: 0
>>

EXEC <<
CMD: ./a.out
EXIT: 0
STDOUT:
1.2.5
>>


REPORT: 1.2.5

REPORT: Checking for Eigen 3 library:
EXEC <<
CMD: pkg-config --cflags eigen3
EXIT: 0
STDOUT:
-I/usr/local/Cellar/eigen/3.3.1/include/eigen3
>>


COMPILE /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpm7hea6v9.cpp:
---

#include <Eigen/Core>
#include <iostream>

int main (int argc, char* argv[]) {
  std::cout << EIGEN_WORLD_VERSION << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION << "\n";
  return 0;
}

---
EXEC <<
CMD: clang++ -c -std=c++11 -mno-avx -DMRTRIX_MACOSX -fPIC -mmacosx-version-min=10.11 -DMRTRIX_WORD64 -DMRTRIX_NO_NON_POD_VLA -isystem /usr/local/Cellar/eigen/3.3.1/include/eigen3 /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpm7hea6v9.cpp -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpm7hea6v9.o
EXIT: 0
>>

EXEC <<
CMD: clang++ /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpm7hea6v9.o -mmacosx-version-min=10.11 -lz -o a.out
EXIT: 0
>>

EXEC <<
CMD: ./a.out
EXIT: 0
STDOUT:
3.3.1
>>


REPORT: 3.3.1

REPORT: Checking Eigen 3 memory alignment requirements:

COMPILE /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpywrpnz1r.cpp:
---

#include <iostream>
#include <Eigen/Core>

int main (int argc, char* argv[]) 
{
#ifdef EIGEN_DEFAULT_ALIGN_BYTES
  size_t default_align = std::numeric_limits<size_t>::max();
  for (size_t n = 0; n < 100; ++n) {
    struct alignas(64) X { double c[8]; };
    X* x = new X;
    size_t align = reinterpret_cast<size_t>(x) & 63U;
    if (align && align < default_align)
      default_align = align;
  }
  std::cout << "allocator memory alignment: " << default_align << ", Eigen3 needs: " << EIGEN_DEFAULT_ALIGN_BYTES << "\n";

  return default_align < EIGEN_DEFAULT_ALIGN_BYTES;
#else
  return 0;
#endif
}


---
EXEC <<
CMD: clang++ -c -v -std=c++11 -mno-avx -DMRTRIX_MACOSX -fPIC -mmacosx-version-min=10.11 -DMRTRIX_WORD64 -DMRTRIX_NO_NON_POD_VLA -isystem /usr/local/Cellar/eigen/3.3.1/include/eigen3 /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpywrpnz1r.cpp -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpywrpnz1r.o
EXIT: 0
STDERR:
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
 "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.11.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name tmpywrpnz1r.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-feature -avx -target-linker-version 264.3.102 -v -dwarf-column-info -coverage-file /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpywrpnz1r.o -resource-dir /Library/Developer/CommandLineTools/usr/bin/../lib/clang/7.3.0 -isystem /usr/local/Cellar/eigen/3.3.1/include/eigen3 -D MRTRIX_MACOSX -D MRTRIX_WORD64 -D MRTRIX_NO_NON_POD_VLA -stdlib=libc++ -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /Users/rbaraka/mrtrix3 -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.11.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpywrpnz1r.o -x c++ /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpywrpnz1r.cpp
clang -cc1 version 7.3.0 (clang-703.0.31) default target x86_64-apple-darwin15.6.0
ignoring nonexistent directory "/usr/include/c++/v1"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/Cellar/eigen/3.3.1/include/eigen3
 /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1
 /usr/local/include
 /Library/Developer/CommandLineTools/usr/bin/../lib/clang/7.3.0/include
 /Library/Developer/CommandLineTools/usr/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
>>

EXEC <<
CMD: clang++ /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmpywrpnz1r.o -mmacosx-version-min=10.11 -lz -o a.out
EXIT: 0
>>

EXEC <<
CMD: ./a.out
EXIT: 0
STDOUT:
allocator memory alignment: 48, Eigen3 needs: 16
>>


REPORT: OK

REPORT: Checking shared library generation:
EXEC <<
CMD: clang++ -c -std=c++11 -mno-avx -DMRTRIX_MACOSX -fPIC -mmacosx-version-min=10.11 -DMRTRIX_WORD64 -DMRTRIX_NO_NON_POD_VLA -isystem /usr/local/Cellar/eigen/3.3.1/include/eigen3 /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp_fxop1wc.cpp -o /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp_fxop1wc.o
EXIT: 0
>>

EXEC <<
CMD: clang++ /var/folders/md/r653q57n37zbxz5bnwz1g8cm0000gp/T/tmp_fxop1wc.o -dynamiclib -install_name @rpath/LIBNAME -mmacosx-version-min=10.11 -mmacosx-version-min=10.11 -lz -o libtest.dylib
EXIT: 0
>>


REPORT: yes

REPORT: Checking for Qt moc:
EXEC <<
CMD: moc -v
EXIT: 0
STDOUT:
moc 5.6.0
>>


REPORT: moc (version 5.6.0)

REPORT: Checking for Qt qmake:
EXEC <<
CMD: qmake -v
EXIT: 0
STDOUT:
QMake version 3.0
Using Qt version 5.6.0 in /Users/rbaraka/anaconda/lib
>>


REPORT: qmake (version 5.6.0)

REPORT: Checking for Qt rcc:
EXEC <<
CMD: rcc -v
EXIT: 0
STDOUT:
rcc 5.6.0
>>


REPORT: rcc (version 5.6.0)

REPORT: Checking for Qt:

source file "qt.h":
---
#include <QObject>

class Foo: public QObject {
  Q_OBJECT;
  public:
    Foo();
    ~Foo();
  public slots:
    void setValue(int value);
  signals:
    void valueChanged (int newValue);
  private:
    int value_;
};
---

source file "qt.cpp":
---
#include <iostream>
#include "qt.h"

Foo::Foo() : value_ (42) { connect (this, SIGNAL(valueChanged(int)), this, SLOT(setValue(int))); }

Foo::~Foo() { std::cout << qVersion() << "\n"; }

void Foo::setValue (int value) { value_ = value; }

int main() { Foo f; }
---

project file "qt.pro":
---
CONFIG += c++11
QT += core gui opengl svg
HEADERS += qt.h
SOURCES += qt.cpp
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.11
---
EXEC <<
CMD: qmake
EXIT: 3
STDERR:
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.
>>


ERROR: qmake returned with error:

Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.


ERROR: unexpected exception!

  See the file 'configure.log' for details. If this doesn't help and you need
  further assistance, please post on the MRtrix3 community forum
  (http://community.mrtrix.org/), and make sure to include the full contents of
  the 'configure.log' file.

Seems identical to this error. I think the last time I came across this, using the latest version of XCode (not the command-line version, unfortunately) and the latest version of Qt (5.7 - I think?) seemed to sort out the problem. Try updating these if you haven’t already…?

I apologize for being redundant with my error, I’m sure a lot of people have issues at this step. I just tried updating Qt to the latest version (5.7.1), but I still think it’s the XCode that’s causing the problem, as I’m getting the same exact error. What do you mean when you say that it’s the latest version of XCode (not the command-line version); are you referring to version 8.2.1 from the App Store (on MacOSx)?

I suspect you’re right… These are very much the default packages at the moment, there’s not a lot people can do to avoid them unfortunately.

That’s very annoying - I was under the impression that the issue was fixed in the latest version of Qt. It is very much an issue with Qt, the error occurs in one of their scripts, which they run to detect the correct settings to operate with XCode. XCode itself runs fine, otherwise there would have been issues much earlier on in the configure process. Apple have probably changed something that causes a problem for Qt’s script, but I would have expected Qt to have fixed this very quickly, it would cause trouble for a lot of developers on MacOSX - and no doubt for a lot of our users too, as you mentioned.

The only fix is that suggested on the other post, which involves editing the problematic script as suggested in this post.

No, there is a much more lightweight version of the tools required for command-line use, without the full-blown graphical editor and associated tools. This is a much smaller download, and should work just as well. But it can conflict with the full XCode install itself. If you look through the post I just linked to above, you’ll note they mention how to resolve such conflicts. It may be that this is what’s causing the problem…? Maybe you (or someone) installed these command-line tools (maybe it was a requirement for some other package…?), and it’s now in conflict with the full XCode install…

Unfortunately I don’t use MacOSX, maybe other users have had similar issues and can share their experience here…?