Skip to content
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

Cannot build Mozart 2 on Mac OS X 10.9.5 #233

Open
joanix opened this issue Sep 27, 2014 · 14 comments
Open

Cannot build Mozart 2 on Mac OS X 10.9.5 #233

joanix opened this issue Sep 27, 2014 · 14 comments

Comments

@joanix
Copy link

joanix commented Sep 27, 2014

Any attempt to "brew install --HEAD mozart2" ends up with an error. The last part of the process gives the following messages:

make: *** [all] Error 2
==> Formula
Tap: eregon/homebrew-mozart2
Path: /usr/local/Library/Taps/eregon/homebrew-mozart2/mozart2.rb
==> Configuration
HOMEBREW_VERSION: 0.9.5
HEAD: 5057268a16cce60b3c33dc88fb654978cf7fea30
CPU: quad-core 64-bit haswell
OS X: 10.9.5-x86_64
Xcode: 6.0.1
CLT: 6.0.0.0.1.1410400753
MacPorts/Fink: /opt/local/bin/port
X11: 2.7.7 => /opt/X11
==> ENV
HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j4
CMAKE_PREFIX_PATH: /usr/local/opt/llvm_for_mozart2:/usr/local
CMAKE_INCLUDE_PATH: /usr/include/libxml2:/opt/X11/include:/opt/X11/include/freetype2:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /opt/X11/lib:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.9:/opt/X11/lib/pkgconfig:/opt/X11/share/pkgconfig
ACLOCAL_PATH: /usr/local/share/aclocal:/opt/X11/share/aclocal
PATH: /usr/local/Library/ENV/4.3:/usr/local/opt/cmake/bin:/usr/local/opt/emacs/bin:/usr/local/opt/llvm_for_mozart2/bin:/usr/local/opt/git/bin:/opt/X11/bin:/usr/bin:/bin:/usr/sbin:/sbin

Error: mozart2 HEAD did not build
Logs:
/Users/joansanchezsabe/Library/Logs/Homebrew/mozart2/01.cmake
/Users/joansanchezsabe/Library/Logs/Homebrew/mozart2/02.make


The last part of 02.make file is:

cd /tmp/mozart2-fys0Oi/bootcompiler && /usr/local/Cellar/cmake/3.0.2/bin/cmake -E copy /tmp/mozart2-fys0Oi/bootcompiler/target/scala-2.11/bootcompiler_2.11-2.0-SNAPSHOT-one-jar.jar /tmp/mozart2-fys0Oi/build/bootcompiler/bootcompiler.jar
/usr/local/Cellar/cmake/3.0.2/bin/cmake -E cmake_progress_report /tmp/mozart2-fys0Oi/build/CMakeFiles
[ 6%] Built target bootcompiler
make: *** [all] Error 2

HOMEBREW_VERSION: 0.9.5
HEAD: 5057268a16cce60b3c33dc88fb654978cf7fea30
CPU: quad-core 64-bit haswell
OS X: 10.9.5-x86_64
Xcode: 6.0.1
CLT: 6.0.0.0.1.1410400753
MacPorts/Fink: /opt/local/bin/port
X11: 2.7.7 => /opt/X11

@ggutierrez
Copy link
Member

@joanix I think the brew formula is not compatible with xcode 6 which is default in this version. I can have a look at it but in the mean time you can build it from sources. I am sure that way works.

@joanix
Copy link
Author

joanix commented Sep 27, 2014

Thx, I'll try

@ggutierrez
Copy link
Member

@sjrd and @kennytm In an effort to offer a more stable support for OSX across xcode updates I was thinking about using xcodebuild in the command line to build from homebrew. The main idea behind this is that xcodebuild already "knows" where standard header files are located.

I am not sure how good this is going to be but at least is promising. However, while trying to add it I found an small problem. The file

bool isBuildSetting = appPath.filename() == PATH_LIT("emulator");
uses a trick that made my first attempt to fail. Instead of writing the full explanation about what it fails I would like to take advantage that it is already recognized as a hacky trick and propose the following substitution for that line:

bool isBuildSetting = appPath.string().find("emulator") != std::string::npos;

I recognize that what I propose is changing something hacky for another equally hacky thing. If you agree I could add an extra command line option to make the solution more robust. If you don't think that is needed then, can we at least replace one hacky trick by another one?

@sjrd
Copy link
Member

sjrd commented Sep 28, 2014

I don't have any objection.

@kennytm
Copy link
Contributor

kennytm commented Sep 28, 2014

I think they're just equally hacky (fine for me).

@eregon
Copy link
Member

eregon commented Sep 28, 2014

I am the author of the Homebrew formula and I am on 10.9.5 with Xcode 6.0.1 and the build works at me.

@joanix Could you make both logs (01.cmake and 02.make) available, for instance as a gist? Mix of Homebrew/MacPorts might confuse many tools.
@ggutierrez Indeed, the weak part is clearly the problem of the custom-built LLVM to not find system headers. Do you know a way for making xcodebuild print the include paths?
For now I have been using clang++ -v -fshow-source-location -stdlib=libc++ -std=c++0x vm/vm/main/mozart.hh which does print the system include paths but also an error so I am quite hesitant to automate that.

@ggutierrez
Copy link
Member

@eregon I also tried to use the homebrew formula and it failed. I will try it again to send you the log files. Regarding the way of knowing the default include directories I found this one:

clang -x c++ -v -E /dev/null

It lists the places that should be included in in the homebrew formula. However I think some parsing of the output is required as that is not the only information.

@eregon
Copy link
Member

eregon commented Sep 28, 2014

@ggutierrez Thanks, that might be a good way, parsing is quite easy in Ruby.

@ggutierrez
Copy link
Member

Notice that you will need also the C equivalent to set CAMKE_C_FLAGS properly in case it is needed.

clang -x c -v -E /dev/null

@israelcvidal
Copy link

I'm having a problem with Java. I used the command "brew install --HEAD mozart2" and got this message:
"mozart2: Java 1.6 is required to install this formula.", but I already have java. I also tried reinstalling it but it didn't work. I think maybe the problem is that I have a newer Java version(1.8) and maybe there's a bug that only accepts the 1.6 version.
Could anybody help me? (:

@allentiak
Copy link
Contributor

@joanix
Any update? Is this bug still valid?

@joanix
Copy link
Author

joanix commented Jan 23, 2016

I installed Mozart on a (virtual) PC, didn't try any further to build it on Mac. And, since then, I've bumped a couple of versions... so I have actually not tried any further and I don't know if the bug is valid. Anyhow, don't leave it open if it's just me. Thanx anyhow.

@allentiak
Copy link
Contributor

So this is not relevant for @joanix anymore.
What about the rest? Does this still happen in your Mac PCs*?

(*Macs use standard Intel Processors since around 2006)

@dskecse
Copy link
Contributor

dskecse commented Aug 1, 2016

Rather than trying to build Mozart2, one can simply install it via Homebrew cask (https://caskroom.github.io/) that uses compiled binaries to install packages:

brew tap dskecse/tap
brew cask install mozart2

For more info see https://github.com/dskecse/homebrew-tap/blob/master/Casks/mozart2.rb. Hope this helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants