Date: Mon, 30 May 2016 12:51:16 -0700 From: Steve Kargl <sgk@troutmask.apl.washington.edu> To: Dimitry Andric <dim@FreeBSD.org> Cc: freebsd-current@freebsd.org Subject: Re: Recent seems to have broken toolchain Message-ID: <20160530195116.GA93546@troutmask.apl.washington.edu> In-Reply-To: <1EF864CF-12E8-4A48-B6E9-317D438B7B7C@FreeBSD.org> References: <20160529022702.GA57282@troutmask.apl.washington.edu> <1EF864CF-12E8-4A48-B6E9-317D438B7B7C@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 30, 2016 at 09:29:40PM +0200, Dimitry Andric wrote: > On 29 May 2016, at 04:27, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote: > > > > I have a Fortran application that has built forever on FreeBSD-current; > > that is, until recently. It now dies with the following error: > > > > gfortran48 -O2 -pipe -march=native -mtune=native -static -funroll-loops \ > > --param max-unroll-times=4 -ftree-vectorize -Wall\ > > -rpath /usr/local/lib/gcc48 -I/home/kargl/modules -o acolor acolor.f90 \ > > globalm.o saxm.o -L/home/kargl/lib -L. -L/usr/local/lib -L. -ltgt -loa \ > > -L/home/kargl/lib -L. -L/usr/local/lib -lm90 -llapack -lblas > > ./liboa.a(pointm.o): In function `__pointm_MOD_l2norm2': > > pointm.f90:(.text+0x490): multiple definition of `__pointm_MOD_l2norm2' > > /home/kargl/lib/libtgt.a(pointm.o):pointm.f90:(.text+0x0): first defined here > > > > Yes, pointm.o is in both libtgt.a and liboa.a. In the past, during > > linking, the symbols are resolved from the first of -ltgt or -loa > > depending on the order on the command line. > > If you run the above command line with -v, what linker does it use? I > suspect this may be something caused by a newer binutils port, or even > by a newer gfortran. > > If this is using /usr/local/bin/ld, you might want to try downgrading > your binutils. > It happens with both /usr/bin/ld and /usr/local/bin/ld. I remove the binutils port and still had the issue. I tried reverting recent changes to elftoolchain/libelftc, the resulting tree would not build. For the record, % /usr/bin/ld -v GNU ld 2.17.50 % /usr/local/bin/ld -v GNU ld (GNU Binutils) 2.25.1 I forgot to note that the problem does not occur for amd64 FreeBSD at r299122. Unfortunately, I won't have time until the end of the week to try to bisect the src tree (which is going to be a monumental pain with keeping everything in sync). As a workaround, I have added -Wl,--allow-multiple-definition to the compiler options for gfortran48. -- Steve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160530195116.GA93546>