Date: Wed, 04 Dec 2013 02:23:39 +0100 From: Jan Henrik Sylvester <me@janh.de> To: Tijl Coosemans <tijl@FreeBSD.org> Cc: Maho Nakata <maho@FreeBSD.org>, FreeBSD Current <freebsd-current@FreeBSD.org> Subject: Re: libc++ vs. libstdc++ usage in the ports tree Message-ID: <529E841B.7020803@janh.de> In-Reply-To: <20131204002357.203ea09d@kalimero.tijl.coosemans.org> References: <77CB2B92-216A-4C80-B033-7E582B5F0DFC@FreeBSD.org> <20131112165422.GA2939@troutmask.apl.washington.edu> <E0FE40D9-726C-4501-B31A-3622510C1C68@FreeBSD.org> <20131112175556.GA3319@troutmask.apl.washington.edu> <20131112201922.GA4330@troutmask.apl.washington.edu> <20131113173143.Horde.a-9M7JQ_vHo3tpDIMsGK6g1@webmail.df.eu> <CAFMmRNxk25AJ3TMuceSG=EmL3qSE9Xhk_wpL5pAD8YvZrA6gkg@mail.gmail.com> <5283CA3C.3080201@FreeBSD.org> <352D9465-9840-43F0-A3A9-327DC12B0967@FreeBSD.org> <B2F7EDA4-DF34-4D5D-B995-5ADA1A9898D8@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> <529E4F1E.4050001@janh.de> <20131204002357.203ea09d@kalimero.tijl.coosemans.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/04/2013 00:23, Tijl Coosemans wrote: > On Tue, 03 Dec 2013 22:37:34 +0100 Jan Henrik Sylvester wrote: >> 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: >>>>> 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: > > Hmm, apparently FC is defined by sys.mk. I've attached a new patch. Ok, with the new patch, it compiles and packages on 9.2-RELEASE/amd64 and 10.0-BETA4/amd64. From the new packages, the octave binaries were able to do some simple math. Thanks, Jan Henrik
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?529E841B.7020803>