Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Apr 2011 18:59:09 +0000
From:      "b. f." <bf1783@googlemail.com>
To:        "O. Hartmann" <ohartman@zedat.fu-berlin.de>
Cc:        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:  <BANLkTimPw=7_3bmtXzPKoyJ2w7ihaszLaQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
> 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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTimPw=7_3bmtXzPKoyJ2w7ihaszLaQ>