From owner-freebsd-current@FreeBSD.ORG Tue Dec 3 21:37:45 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 D5A643CE; Tue, 3 Dec 2013 21:37:45 +0000 (UTC) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.9]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6005A13D7; Tue, 3 Dec 2013 21:37:45 +0000 (UTC) Received: from nb981.math (p57AEF3E3.dip0.t-ipconnect.de [87.174.243.227]) by mrelayeu.kundenserver.de (node=mreu3) with ESMTP (Nemesis) id 0MK8g5-1Vn8BG0lkb-001P9A; Tue, 03 Dec 2013 22:37:43 +0100 Message-ID: <529E4F1E.4050001@janh.de> Date: Tue, 03 Dec 2013 22:37:34 +0100 From: Jan Henrik Sylvester User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Tijl Coosemans Subject: Re: libc++ vs. libstdc++ usage in the ports tree 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> <20131203215445.68b9bc4e@kalimero.tijl.coosemans.org> In-Reply-To: <20131203215445.68b9bc4e@kalimero.tijl.coosemans.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:oAGNAr/vYoghxyvYzbi36Nz56TC4WlTqgxPst4+mOzx PfSXLrc0mUQCtPotmonu8tlO54AggQ8rbu0pEKoaPYn7a90xL1 oCHBKgM06j8Fc9tEmnVLWF8wHtgNjFU8q/nglIDvoyzJ4e+Pvg lcrGgcWdsQq7vFL/r3HvOEMaRuc2Jr3RzI+TYc427p0R2X4idi v5JCRQl/+KTWPDQb55Cbw7Vbpv1aZ322VXSIzQlHobnq2Er9+z 3WlRHA29EvaGghqTR9n4RG0wQimL3nItLfJJ3VgV4zjXju50Vh TIXaBirA/D6AZdxbVww8lgYdc09gbg9jHCKIvBJUGcAO1a+Jg= = X-Mailman-Approved-At: Tue, 03 Dec 2013 22:44:08 +0000 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 21:37:46 -0000 On 12/03/2013 21:54, Tijl Coosemans wrote: > 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? No, besides some options (*_SET / *_UNSET) for some unrelated ports, I only have got this in make.conf: WITH_PKGNG=yes WITH_NEW_XORG=yes TEX_DEFAULT=texlive Cheers, Jan Henrik