From owner-freebsd-hackers@FreeBSD.ORG Sun Dec 17 03:45:58 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4BAA416A40F for ; Sun, 17 Dec 2006 03:45:58 +0000 (UTC) (envelope-from dan@dan.emsphone.com) Received: from dan.emsphone.com (dan.emsphone.com [199.67.51.101]) by mx1.FreeBSD.org (Postfix) with ESMTP id E559B43CA0 for ; Sun, 17 Dec 2006 03:45:57 +0000 (GMT) (envelope-from dan@dan.emsphone.com) Received: (from dan@localhost) by dan.emsphone.com (8.13.6/8.13.8) id kBH3jvFe046101; Sat, 16 Dec 2006 21:45:57 -0600 (CST) (envelope-from dan) Date: Sat, 16 Dec 2006 21:45:57 -0600 From: Dan Nelson To: Alexander Shiryaev Message-ID: <20061217034557.GB43992@dan.emsphone.com> References: <45847990.8060605@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45847990.8060605@gmail.com> X-OS: FreeBSD 6.2-PRERELEASE X-message-flag: Outlook Error User-Agent: Mutt/1.5.13 (2006-08-11) Cc: freebsd-hackers@freebsd.org Subject: Re: ICC 9 in FreeBSD 6 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2006 03:45:58 -0000 In the last episode (Dec 17), Alexander Shiryaev said: > I'm trying to hack ICC 9.1.045 ia32 (using lang/icc port for ICC 8). I > can't compile hello world ;-( > > icc -c main.c > icc -o main main.o > IPO link: can not find -ldl > iccbin: error: problem during multi-file optimization compilation (code 1) > *** Error code 1 Ouch. A quick ktrace indicates that message is generated by mcpcom, which might mean that icc's ipo feature links the final binary itself without calling ldwrapper, and that means you're not going to get a FreeBSD binary out of the link stage. If there's an option to disable ipo, try adding that to your icc.cfg file as a quick fix. Since it looks like mcpcom just gets its instructions from its parent iccbin through a temp file, it should be possible to write an mcpcom wrapper that opens the tempfile, rewrites its contents (in a manner similar to what ldwrapper does for the ld commandline), then launches the real mcpcom binary. -- Dan Nelson dnelson@allantgroup.com