Does USE_GCC= 4.5+ also set C++ and Fortran to g++45/46 and gfortran45/46?

b. f. bf1783 at googlemail.com
Wed Apr 13 18:59:10 UTC 2011


> 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.


More information about the freebsd-ports mailing list