From owner-freebsd-current@FreeBSD.ORG Tue Dec 3 20:54:55 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 143AC6BF; Tue, 3 Dec 2013 20:54:55 +0000 (UTC) Received: from mailrelay008.isp.belgacom.be (mailrelay008.isp.belgacom.be [195.238.6.174]) by mx1.freebsd.org (Postfix) with ESMTP id 763DF1188; Tue, 3 Dec 2013 20:54:53 +0000 (UTC) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmgGAMxDnlJbs7dX/2dsb2JhbABagwc4uTuBGhd0giUBAQU6HCMQCxgJJQ8qHgaIGAEIwTcXjn4HhDMDmBOBMZBjgyo7 Received: from 87.183-179-91.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([91.179.183.87]) by relay.skynet.be with ESMTP; 03 Dec 2013 21:54:47 +0100 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.7/8.14.7) with ESMTP id rB3Ksj4U016611; Tue, 3 Dec 2013 21:54:46 +0100 (CET) (envelope-from tijl@FreeBSD.org) Date: Tue, 3 Dec 2013 21:54:45 +0100 From: Tijl Coosemans To: Jan Henrik Sylvester Subject: Re: libc++ vs. libstdc++ usage in the ports tree Message-ID: <20131203215445.68b9bc4e@kalimero.tijl.coosemans.org> In-Reply-To: <529E3E6A.2090107@janh.de> References: <77CB2B92-216A-4C80-B033-7E582B5F0DFC@FreeBSD.org> <20131112165422.GA2939@troutmask.apl.washington.edu> <20131112175556.GA3319@troutmask.apl.washington.edu> <20131112201922.GA4330@troutmask.apl.washington.edu> <20131113173143.Horde.a-9M7JQ_vHo3tpDIMsGK6g1@webmail.df.eu> <5283CA3C.3080201@FreeBSD.org> <352D9465-9840-43F0-A3A9-327DC12B0967@FreeBSD.org> <20131114144555.GA22093@troutmask.apl.washington.edu> <52963A90.4000201@janh.de> <20131127204556.2974a3f5@kalimero.tijl.coosemans.org> <20131201150640.12ea18c8@kalimero.tijl.coosemans.org> <529E3E6A.2090107@janh.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Maho Nakata , FreeBSD Current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Dec 2013 20:54:55 -0000 On Tue, 03 Dec 2013 21:26:18 +0100 Jan Henrik Sylvester wrote: > On 12/01/2013 15:06, Tijl Coosemans wrote: > > On Wed, 27 Nov 2013 20:45:56 +0100 Tijl Coosemans wrote: > >> On Wed, 27 Nov 2013 19:31:44 +0100 Jan Henrik Sylvester wrote: > >>> Trying to migrate to 10, I would like to keep octave. Have you found > >>> anything new? Having build the port and all dependencies with standard > >>> options, octave is segfaulting for me, too. Anyhow, I can run octave with: > >>> > >>> env LD_PRELOAD=/usr/lib/libc++.so.1 octave > >>> > >>> Some very light testing indicates that it is working. Of course, this is > >>> not ideal. > >>> > >>> Maybe this gives a clue how to fix the octave port properly. > >> > >> I have a preliminary patch for math/octave that I wanted to test on > >> redports first, but it is down at the moment so here it is. > > > > The tests were successful: > > https://redports.org/buildarchive/20131201105316-94935/ (octave) > > https://redports.org/buildarchive/20131201115701-22333/ (octave-forge-base) > > The octave logs also contain the results of running the regression-test > > target. The output is the same on all FreeBSD versions. > > > > The problem is that USE_FORTRAN=yes implies USE_GCC=yes. This means > > the C++ code in math/octave is compiled with gcc46/libstdc++ which > > does not work if dependencies have been built with clang/libc++. > > > > The patch copies the USE_FORTRAN=yes logic from Mk/bsd.gcc.mk into a > > new file Mk/Uses/fortran.mk. It allows ports to use a Fortran compiler > > together with the base system C/C++ compiler. > > With the patch, math/octave fails for me on 9.2-RELEASE/amd64 and > 10.0-BETA4/amd64 with: > > checking for amd64-portbld-freebsd(9.2|10.0)-gfortran... f77 > checking whether we are using the GNU Fortran 77 compiler... no > checking whether f77 accepts -g... no > checking how to get verbose linking output from f77... configure: > WARNING: compilation failed > > checking for Fortran 77 libraries of f77... > checking for dummy main to link with Fortran 77 libraries... none > checking for Fortran 77 name-mangling scheme... configure: error: in > `/usr/ports/math/octave/work/octave-3.6.4': > configure: error: cannot compile a simple Fortran program > > Full logs attached (each with and without your patch). > > In both cases, it tries to use f77, while the original port uses gfortran46. > > Any idea what is wrong on my system? Do you define FC in make.conf maybe?