compiling with Intel compiler fails

541 views
Skip to first unread message

Jan Strube

unread,
Dec 29, 2015, 5:02:12 PM12/29/15
to julia-users
I'm trying to install julia from source using the Intel compilers.

icc --version

icc (ICC) 16.0.1 20151021

Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.


Unfortunately, I don't get very far :


  CC       src/unix/libuv_la-proctitle.lo

  GEN      src/unix/uv-dtrace.o

gcc: error: unrecognized command line option ‘-static-intel’

"gcc /tmp/tmpKDA11o.c" failed


I'm on 'release-0.4'

Has anybody else encountered this?


Keno Fischer

unread,
Dec 30, 2015, 3:56:09 PM12/30/15
to julia...@googlegroups.com
Hi Jan,

looks like Intel options are being passed to gcc. Perhaps your libuv configuration is stale? You could try `make -C deps distclean-uv`

Keno

Jan Strube

unread,
Jan 1, 2016, 3:35:26 PM1/1/16
to julia-users
Keno,

Thanks. The command you suggested doesn't quite work. It's -libuv, not -uv.

I was on a new clone. Ran 'make -C deps distclean-libuv'  anyway, but no go. 
Neither on release-0.4 nor on master.

However, your comment made me look further.
Somewhere the variables aren't set properly in the Makefile.
'CC=icc make' does indeed work, but the resulting libuv still has a gcc dependency. Not sure yet if that causes a problem.

$ ldd julia 

linux-vdso.so.1 =>  (0x00007fff4eb61000)

libjulia.so => not found

libdl.so.2 => /lib64/libdl.so.2 (0x00007f9545f31000)

librt.so.1 => /lib64/librt.so.1 (0x00007f9545d29000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9545b0d000)

libm.so.6 => /lib64/libm.so.6 (0x00007f954580a000)

libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f9545503000)

libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f95452ed000)

libc.so.6 => /lib64/libc.so.6 (0x00007f9544f2b000)

/lib64/ld-linux-x86-64.so.2 (0x00007f9546143000)

Keno Fischer

unread,
Jan 1, 2016, 3:39:30 PM1/1/16
to julia...@googlegroups.com
You also need to set the USEICC Makefile variable.

Jan Strube

unread,
Jan 1, 2016, 4:18:29 PM1/1/16
to julia-users
Sorry, should have mentioned I had followed the instructions on the github page and this in my Make.user

USEICC = 1

USEIFC = 1

USE_INTEL_MKL = 1

USE_INTEL_MKL_FFT = 1

USE_INTEL_LIBM = 1


Still needed the CC=icc for things to work.

Reply all
Reply to author
Forward
0 new messages