Date: Thu, 14 Apr 2011 08:00:38 +0200 From: "O. Hartmann" <ohartman@mail.zedat.fu-berlin.de> To: bf1783@gmail.com Cc: brooks@freebsd.org, "b. f." <bf1783@googlemail.com>, freebsd-ports@FreeBSD.org Subject: Re: Does USE_GCC= 4.5+ also set C++ and Fortran to g++45/46 and gfortran45/46? Message-ID: <4DA68D86.3000102@mail.zedat.fu-berlin.de> In-Reply-To: <BANLkTimPw=7_3bmtXzPKoyJ2w7ihaszLaQ@mail.gmail.com> References: <BANLkTimPw=7_3bmtXzPKoyJ2w7ihaszLaQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 04/13/11 20:59, b. f. wrote: >> Using a self brewn port of a scientific software package which is >> intended to use gcc 4.5 or higher, I use "USE_GCC= 4.5+" in the top >> level Makefile. But I get an error when starting the application: >> >> /libexec/ld-elf.so.1: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 >> required by /usr/local/isis/3.2.1/bin/qview not found >> >> Building the software without the ports-framework but with explicitely >> set GCC/G++/GFORTRAN results in a working binary. >> >> My question: is USE_GCC setting C++ and Fortran compilers as desired as >> well as the C compiler? > > You should be using USE_FORTRAN if a Fortran compiler is needed (this > also enforces USE_GCC=4.5), and USE_GCC if only C and/or C++ compilers > are needed. This should set the right variables in your build > environment (see ports/Mk/bsd.gcc.mk), but a build can still fail if > your local, port, or distribution Makefiles do not respect CC, CXX, > CFLAGS, CXXFLAGS, F77, FC, FFLAGS, or LDFLAGS. It sounds as if this > is the case, and the Wl,-rpath=... component of the flags added in > bsd.gcc.mk is not being used. > > b. The package/software, called ISIS3 (USGS software), uses old-style, cascaded scripts and plain ASCII config files. It seems that in one of them CC or CXX got overwritten. I fixed that and the first attempt with the plain gcc as it comes with the system had a positive result. I'll try the USE_FORTRAN tag to force using gcc45. I looked into ports/Mk/bsd.gcc.mk and found that only gcc45 is set in case of using USE_FORTRAN, not gcc46. It would be nice also having gcc46 set, since we try to optimise for AVX in the new Intel Sandy-Bridge CPUs and gcc46 is supoorting new facilities like that. Thanks, I'll report if having success anyway. Oliver
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DA68D86.3000102>