Date: Thu, 21 Feb 2019 23:18:50 +0100 From: =?UTF-8?B?VMSzbA==?= Coosemans <tijl@FreeBSD.org> To: Diane Bruce <db@db.net> Cc: "Russell L. Carter" <rcarter@pinyon.org>, FreeBSD Ports ML <freebsd-ports@freebsd.org>, Eugene Grosbein <eugen@grosbein.net> Subject: Re: FreeCAD 0.17 && /lib//libgcc_s.so.1 Message-ID: <20190221231850.46dd5374@kalimero.tijl.coosemans.org> In-Reply-To: <20190221183040.GA42303@night.db.net> References: <a2102b4e-7d7a-7d5b-2ba1-b9a14f8574f6@pinyon.org> <f6a45ec9-7ae4-d9ba-f71c-f2ef8c235039@grosbein.net> <416689e6-37f9-17ec-54d8-0d224c26f30f@pinyon.org> <20190217151604.GB68620@night.db.net> <20190221180515.39c79ce6@kalimero.tijl.coosemans.org> <20190221183040.GA42303@night.db.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 21 Feb 2019 13:30:41 -0500 Diane Bruce <db@db.net> wrote: > On Thu, Feb 21, 2019 at 06:05:15PM +0100, T=C4=B3l Coosemans wrote: >> On Sun, 17 Feb 2019 10:16:04 -0500 Diane Bruce <db@db.net> wrote: =20 >>> Except python doesn't have an rpath which is why this keeps coming >>> up over and over again. =20 >>=20 >> Maybe we should just add the gcc rpaths to the python ports LDFLAGS >> without depending on gcc. Then python should use gcc libgcc_s when >> it exists and fall back to base system libgcc_s when it doesn't. =20 >=20 > Right. Or just provide a shell shim to LD_PRELOAD IFF it is noticed > a specific port will require a fortran built binary module later. >=20 >> Maybe we should compile *all* ports with gcc rpaths without depending >> on gcc, just like we already compile everything with -fstack-protector >> in LDFLAGS. >>=20 >> There's also the fact that gfortran behaves differently from the C >> compilers (both clang and gcc) when it comes to libgcc_s. Gfortran >> always links with libgcc_s. The C compilers link with libgcc.a first >> and then with libgcc_s only as needed. This eliminates almost all =20 >=20 > What is really happening is gfortran links with libgfortran (surprise=20 > surprise) and libgfortran has the requirement for @GCC_4.6.0 or later >=20 >> links with libgcc_s. The only ones left are for exception handling >> and stack unwinding and gcc libgcc_s and base system libgcc_s are >> version compatible for that so it doesn't matter which one gets picked >> up. The attached patch for lang/gcc8 makes gfortran behave just like >> the C compilers. =20 >=20 > Something like this was tried already. I'll have to dig into > my old notes.=20 With my patch libgfortran only needs GCC_4.2.0 and works with base libgcc_s.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190221231850.46dd5374>