-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Build error with Intel Compilers v15 on OSX #9145
Comments
Have you compiled successfully with Intel compilers with a previous version of julia on the same machine/os version, or is this a possible configuration issue? What versions of OSX and Julia do you get this error on? |
Julia: Fresh clone from master Make.user as advised in the README |
Did you set environment variables in the shell with one of the scripts from Intel, e.g. |
Yup, all set. EDIT: I had the idea that it might be a problem with zsh, but I get the same error with bash. |
The problem seems to be that the variable USE_LIBCPP is set based on the OSX version only and the value for USE_ICC is not considered (see Make.inc:245-265): ifeq ($(OS), Darwin)
DARWINVER := $(shell uname -r | cut -b 1-2)
DARWINVER_GTE13 := $(shell expr `uname -r | cut -b 1-2` \>= 13)
OSXVER := $(shell sw_vers -productVersion | cut -b 1-4)
ifeq ($(DARWINVER), 10) # Snow Leopard specific configuration
USEGCC = 1
USECLANG = 0
OPENBLAS_TARGET_ARCH=NEHALEM
OPENBLAS_DYNAMIC_ARCH=0
USE_SYSTEM_LIBUNWIND=1
else
ifeq ($(DARWINVER_GTE13),1)
USE_LIBCPP = 1
STDLIBCPP_FLAG = -stdlib=libstdc++
else
USE_LIBCPP = 0
endif
USEGCC = 0
USECLANG = 1
endif
endif |
What is ICC's solution to the C++ standard library issue on OSX? Does it link against gcc libstdc++, or clang libc++, or bring its own? |
Based on the error message on line 310, it sounds like you might just need to add |
@tkelman I tried setting |
Can you be more specific? |
It fails with the same error message. |
In what way did you set |
I did not use override. I was able to circumvent this issue by putting in another if-clause that checks for I am away from my computer right now, but I will give a detailed update later today. |
I did some research and it turns out that the current version of the Intel C++ compiler on OSX uses libcpp by default. In any case the build fails during the compilation of libosxunwind.
|
That is quite strange that icc is barfing on the assembly in libosxunwind. I suspect you might be using a newer version of ICC than anyone has yet tried with Julia on OSX. |
@Keno any idea on this one? |
different assembly syntax? |
Ah, probably. Haven't other people gotten further with ICC on OSX though? Different compiler versions, or different flag settings in Make.user? Can the OSX ICC be made to understand AT&T assembly syntax with some flag? GCC/Clang should be able to understand Intel assembly with the right directive, but manual translation is pretty tedious. |
Apparently, at this point it is impossible to compile Julia using ICC on OSX 10.10 (Yosemite). Versions 15 and 16 of ICC lead to the issues above, and version 14 seems to be incompatible with Yosemite libraries. I'd imagine that, ideally, we should be able to make the code compatible with OSX ICC v16. Any ideas on how to do this? |
I wrote on this issue in Intel forum (https://software.intel.com/en-us/forums/topic/590285), and they've noted that the chunk of code where the issue comes from is inside a #elif ppc, so it shouldn't even be considered in the first place. |
@helgee's seeing errors in both the |
That sounds like a really simple potential fix and worth trying. |
Okay, I've tried @nolta's solution and it seems to fix libosxunwind compilation :-) I've cloned https://github.com/JuliaLang/libosxunwind and compiled it with make CC="icc", the same errors showed up. Let me try compiling Julia again now. |
Okay, I think I'm giving up for now... After fixing the issue with libosxunwind, I had trouble with many other deps, but then I realized that beside setting the ARCH flag I also had to set BUILD_MACHINE (both depend on ifeq($(USEICC), 1)
USE_LIBCPP = 0
USECLANG = 0
override BUILD_MACHINE := $(shell clang -dumpmachine)
override ARCH := $(shell clang -dumpmachine | sed "s/\([^-]*\).*$$/\1/"
endif I'm now having issues in compiling LLVM; the following error message appears
and after a bit of research I still have no idea on how to handle it... I can proceed by using |
I recently tried the above on tag v0.4.3, fixing the libosxunwind issue and
and I get past the llvm issue, but run into a problem with SuiteSparse
Any ideas? I am using Intel Compilers 16 on 10.10 |
Now that 0.5.0 is released, I tried again recently with Updating goal targets....
Considering target file `all-am'.
File `all-am' does not exist.
Pruning file `Makefile'.
Considering target file `libarpack.la'.
File `libarpack.la' does not exist.
Considering target file `SRC/libarpacksrc.la'.
Looking for an implicit rule for `SRC/libarpacksrc.la'.
Trying pattern rule with stem `libarpacksrc.la'.
Trying implicit prerequisite `SRC/libarpacksrc.la.f'.
Trying pattern rule with stem `libarpacksrc.la'.
Trying implicit prerequisite `SRC/libarpacksrc.la.o'.
Trying pattern rule with stem `libarpacksrc.la'.
Trying implicit prerequisite `SRC/libarpacksrc.la,v'.
Trying pattern rule with stem `libarpacksrc.la'.
Trying implicit prerequisite `SRC/RCS/libarpacksrc.la,v'.
Trying pattern rule with stem `libarpacksrc.la'.
Trying implicit prerequisite `SRC/RCS/libarpacksrc.la'.
Trying pattern rule with stem `libarpacksrc.la'.
Trying implicit prerequisite `SRC/s.libarpacksrc.la'.
Trying pattern rule with stem `libarpacksrc.la'.
Trying implicit prerequisite `SRC/SCCS/s.libarpacksrc.la'.
Trying pattern rule with stem `libarpacksrc.la'.
Trying implicit prerequisite `SRC/libarpacksrc.la.f'.
Looking for a rule with intermediate file `SRC/libarpacksrc.la.f'.
<snip>
Finished prerequisites of target file `libarpack.la'.
Must remake target `libarpack.la'.
Putting child 0x7fdac0f03570 (libarpack.la) PID 29302 on the chain.
Live child 0x7fdac0f03570 (libarpack.la) PID 29302
libtool: link: rm -fr .libs/libarpack.lax
libtool: link: (cd .libs/libarpack.lax/libarpacksrc.a && ar x "/Users/jiahao/local/src/julia-0.5/deps/build/arpack-ng-3.3.0/./SRC/.libs/libarpacksrc.a")
libtool: link: (cd .libs/libarpack.lax/libarpackutil.a && ar x "/Users/jiahao/local/src/julia-0.5/deps/build/arpack-ng-3.3.0/./UTIL/.libs/libarpackutil.a")
libtool: link: ifort -mmacosx-version-min=10.7 -m64 -dynamiclib -o .libs/libarpack.2.dylib .libs/libarpack.lax/libarpacksrc.a/cgetv0.o .libs/libarpack.lax/libarpacksrc.a/cnaitr.o .libs/libarpack.lax/libarpacksrc.a/cnapps.o .libs/libarpack.lax/libarpacksrc.a/cnaup2.o .libs/libarpack.lax/libarpacksrc.a/cnaupd.o .libs/libarpack.lax/libarpacksrc.a/cneigh.o .libs/libarpack.lax/libarpacksrc.a/cneupd.o .libs/libarpack.lax/libarpacksrc.a/cngets.o .libs/libarpack.lax/libarpacksrc.a/csortc.o .libs/libarpack.lax/libarpacksrc.a/cstatn.o .libs/libarpack.lax/libarpacksrc.a/dgetv0.o .libs/libarpack.lax/libarpacksrc.a/dnaitr.o .libs/libarpack.lax/libarpacksrc.a/dnapps.o .libs/libarpack.lax/libarpacksrc.a/dnaup2.o .libs/libarpack.lax/libarpacksrc.a/dnaupd.o .libs/libarpack.lax/libarpacksrc.a/dnconv.o .libs/libarpack.lax/libarpacksrc.a/dneigh.o .libs/libarpack.lax/libarpacksrc.a/dneupd.o .libs/libarpack.lax/libarpacksrc.a/dngets.o .libs/libarpack.lax/libarpacksrc.a/dsaitr.o .libs/libarpack.lax/libarpacksrc.a/dsapps.o .libs/libarpack.lax/libarpacksrc.a/dsaup2.o .libs/libarpack.lax/libarpacksrc.a/dsaupd.o .libs/libarpack.lax/libarpacksrc.a/dsconv.o .libs/libarpack.lax/libarpacksrc.a/dseigt.o .libs/libarpack.lax/libarpacksrc.a/dsesrt.o .libs/libarpack.lax/libarpacksrc.a/dseupd.o .libs/libarpack.lax/libarpacksrc.a/dsgets.o .libs/libarpack.lax/libarpacksrc.a/dsortc.o .libs/libarpack.lax/libarpacksrc.a/dsortr.o .libs/libarpack.lax/libarpacksrc.a/dstatn.o .libs/libarpack.lax/libarpacksrc.a/dstats.o .libs/libarpack.lax/libarpacksrc.a/dstqrb.o .libs/libarpack.lax/libarpacksrc.a/sgetv0.o .libs/libarpack.lax/libarpacksrc.a/snaitr.o .libs/libarpack.lax/libarpacksrc.a/snapps.o .libs/libarpack.lax/libarpacksrc.a/snaup2.o .libs/libarpack.lax/libarpacksrc.a/snaupd.o .libs/libarpack.lax/libarpacksrc.a/snconv.o .libs/libarpack.lax/libarpacksrc.a/sneigh.o .libs/libarpack.lax/libarpacksrc.a/sneupd.o .libs/libarpack.lax/libarpacksrc.a/sngets.o .libs/libarpack.lax/libarpacksrc.a/ssaitr.o .libs/libarpack.lax/libarpacksrc.a/ssapps.o .libs/libarpack.lax/libarpacksrc.a/ssaup2.o .libs/libarpack.lax/libarpacksrc.a/ssaupd.o .libs/libarpack.lax/libarpacksrc.a/ssconv.o .libs/libarpack.lax/libarpacksrc.a/sseigt.o .libs/libarpack.lax/libarpacksrc.a/ssesrt.o .libs/libarpack.lax/libarpacksrc.a/sseupd.o .libs/libarpack.lax/libarpacksrc.a/ssgets.o .libs/libarpack.lax/libarpacksrc.a/ssortc.o .libs/libarpack.lax/libarpacksrc.a/ssortr.o .libs/libarpack.lax/libarpacksrc.a/sstatn.o .libs/libarpack.lax/libarpacksrc.a/sstats.o .libs/libarpack.lax/libarpacksrc.a/sstqrb.o .libs/libarpack.lax/libarpacksrc.a/zgetv0.o .libs/libarpack.lax/libarpacksrc.a/znaitr.o .libs/libarpack.lax/libarpacksrc.a/znapps.o .libs/libarpack.lax/libarpacksrc.a/znaup2.o .libs/libarpack.lax/libarpacksrc.a/znaupd.o .libs/libarpack.lax/libarpacksrc.a/zneigh.o .libs/libarpack.lax/libarpacksrc.a/zneupd.o .libs/libarpack.lax/libarpacksrc.a/zngets.o .libs/libarpack.lax/libarpacksrc.a/zsortc.o .libs/libarpack.lax/libarpacksrc.a/zstatn.o .libs/libarpack.lax/libarpackutil.a/cmout.o .libs/libarpack.lax/libarpackutil.a/cvout.o .libs/libarpack.lax/libarpackutil.a/dmout.o .libs/libarpack.lax/libarpackutil.a/dvout.o .libs/libarpack.lax/libarpackutil.a/icnteq.o .libs/libarpack.lax/libarpackutil.a/icopy.o .libs/libarpack.lax/libarpackutil.a/iset.o .libs/libarpack.lax/libarpackutil.a/iswap.o .libs/libarpack.lax/libarpackutil.a/ivout.o .libs/libarpack.lax/libarpackutil.a/second_NONE.o .libs/libarpack.lax/libarpackutil.a/smout.o .libs/libarpack.lax/libarpackutil.a/svout.o .libs/libarpack.lax/libarpackutil.a/zmout.o .libs/libarpack.lax/libarpackutil.a/zvout.o -L/opt/intel//compilers_and_libraries_2017.0.102/mac/mkl/lib/intel64 -lmkl_rt -mmacosx-version-min=10.7 -m64 -O2 -rpath @loader_path/ -install_name /Users/jiahao/local/src/julia-0.5/usr/lib/libarpack.2.dylib -compatibility_version 3 -current_version 3.0 -single_module
ifort: error #10005: unable to open argument file 'loader_path/' It looks like |
Others have reported the same Removing |
We no longer support Intel compilers. |
Compilation fails with the following error message:
/Users/helge/src/julia/Make.inc:310: *** USE_LIBCPP only supported with clang. Try setting USE_LIBCPP=0. Stop.
The text was updated successfully, but these errors were encountered: