Skip site navigation (1)Skip section navigation (2)
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>