From owner-freebsd-ports Sat Nov 10 7:47:38 2001 Delivered-To: freebsd-ports@freebsd.org Received: from postfix2-2.free.fr (postfix2-2.free.fr [213.228.0.140]) by hub.freebsd.org (Postfix) with ESMTP id 5AC2737B41F for ; Sat, 10 Nov 2001 07:47:36 -0800 (PST) Received: from bluerondo.a.la.turk (nas-cbv-4-26-129.dial.proxad.net [213.228.26.129]) by postfix2-2.free.fr (Postfix) with ESMTP id 5FA3B5F94D for ; Sat, 10 Nov 2001 16:47:34 +0100 (CET) Received: (qmail 9682 invoked by uid 1001); 10 Nov 2001 15:47:31 -0000 Date: Sat, 10 Nov 2001 16:47:31 +0100 From: Rahul Siddharthan To: ports@freebsd.org Subject: Intel C/C++ compiler Message-ID: <20011110164731.A9601@lpt.ens.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-Operating-System: FreeBSD 4.4-STABLE i386 Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I got the Intel C/C++ compiler working on my machine, http://developer.intel.com/software/products/eval/ I had to modify the install script (probably one can just install the rpms by hand though...) and set some environment variables (for the license file and libraries). Also, the binary is in a really weird location. (/compat/linux/opt/intel/compiler50/ia32/bin/icc by default) To get around all that, I created a shell script /usr/local/bin/icc as follows: #!/bin/sh LM_LICENSE_FILE=/compat/linux/opt/intel/licenses/l_cpp.lic LD_LIBRARY_PATH=/compat/linux/opt/intel/compiler50/ia32/lib export LM_LICENSE_FILE export LD_LIBRARY_PATH /compat/linux/opt/intel/compiler50/ia32/bin/icc "$@" This works nicely and "transparently". The only remaining problem is that this thing compiles, but does not link. (It links if you make some further symlinks, but then the executable does not run.) However, I can link the objects with gcc, and then the executable runs perfectly. On some random code I tested it with, it seems 25% faster than gcc 3.0 and 40% faster than gcc 2.95. I haven't tested c++; the notes say that g++ and c++ objects can't be linked together. Is there a prettier way to achieve all this? (Maybe some of the experts are already shuddering at my ignorance and the ugliness above). Has anyone tried it? If not, is it worth making a port of this, with warning messages that it can be used for compiling but not for linking? I can have a shot at it. Or is this altogether too kludgy to bother about? (I think the fortran compiler should work too, I haven't tried it yet. Both compilers should be very useful to people in the scientific community. From my point of view, the big drawback with this C compiler is it doesn't seem to support complex numbers...) Thanks - Rahul. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message