From owner-freebsd-ports@freebsd.org Wed Dec 23 14:34:11 2015 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 318F5A5034B for ; Wed, 23 Dec 2015 14:34:11 +0000 (UTC) (envelope-from db@db.net) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 21A951619 for ; Wed, 23 Dec 2015 14:34:11 +0000 (UTC) (envelope-from db@db.net) Received: by mailman.ysv.freebsd.org (Postfix) id 1F9FDA5034A; Wed, 23 Dec 2015 14:34:11 +0000 (UTC) Delivered-To: ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F41DA50349 for ; Wed, 23 Dec 2015 14:34:11 +0000 (UTC) (envelope-from db@db.net) Received: from diana.db.net (diana.db.net [66.113.102.10]) by mx1.freebsd.org (Postfix) with ESMTP id 0FCA21618 for ; Wed, 23 Dec 2015 14:34:10 +0000 (UTC) (envelope-from db@db.net) Received: from night.db.net (localhost [127.0.0.1]) by diana.db.net (Postfix) with ESMTP id 29E362AA4A5; Wed, 23 Dec 2015 07:33:41 -0700 (MST) Received: by night.db.net (Postfix, from userid 1000) id 07F011CC02; Wed, 23 Dec 2015 09:34:02 -0500 (EST) Date: Wed, 23 Dec 2015 09:34:01 -0500 From: Diane Bruce To: Yuri Cc: "ports@freebsd.org" Subject: Re: USES=fortran can't mix with the libraries requiring /lib/libgcc_s.so.1 from the base Message-ID: <20151223143401.GA10518@night.db.net> References: <567A9511.30705@rawbw.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <567A9511.30705@rawbw.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Dec 2015 14:34:11 -0000 On Wed, Dec 23, 2015 at 04:35:29AM -0800, Yuri wrote: > I found that ports with USES=fortran can't mix with anything in C++ > compiled with the base clang++, because USES=fortran forces the current > gcc that links with its /usr/local/lib/libgcc_s.so.1 It's a well known bug. The long term fix would be bringing in quad math support which is what (gcc) fortran libs are looking for and we do not supply currently. Start here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196491 I tried very hard to make gnuradio compiled only with clang for the 'C' parts but we were forced to use gcc. > Getting this particular error from the python process, because one > python module has USES=fortran, and another has C++ in it: > ImportError: /lib/libgcc_s.so.1: version GCC_4.6.0 required by > /usr/local/lib/gcc48/libgfortran.so.3 not found Yep. > > What is the general solution for this problem? Is there a non-gcc > version of fortran? No there is currently no clang version of Fortran. 'flang' was a SOC project to bring in clang support for fortran but it is moribund. The clang guys are the ones you should bug. In any case, the Fortran spec now requires quad math support so that would have to be provided as well. > > One thing is when gcc is required because clang can't compile something, > and another things is when fortran language requires it. The latter is > here to stay. > > Can there be the separate fortran from gcc that is build with clang? Or > can we switch /usr/ports/lang/gccNN to be always built with the base > clang? I know this is certainly possible. No. The core problem is due to our version of libgcc not having quadmath support. > > Yuri Diane -- - db@FreeBSD.org db@db.net http://www.db.net/~db