[GRASS-dev] [GRASS GIS] #2940: Compiling Grass-7.0.3 under FreeBSD: tplot directory (with log)
GRASS GIS
trac at osgeo.org
Sun Jul 23 14:04:48 PDT 2017
#2940: Compiling Grass-7.0.3 under FreeBSD: tplot directory (with log)
----------------------+-------------------------
Reporter: pieside | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.2.2
Component: Default | Version: 7.2.0
Resolution: | Keywords: FreeBSD
CPU: x86-64 | Platform: Other Unix
----------------------+-------------------------
Comment (by mmetz):
Replying to [comment:3 glynn]:
> Replying to [comment:2 pieside]:
> > The problems seems to be an old friend:
> >
> {{{
> /home/pierre/tmp/grass7/grass-7.0.3/dist.x86_64-unknown-
freebsd10.2/lib/libgrass_gis.7.0.3.so: undefined reference to `libiconv'
> }}}
>
> This usually means that it's including <iconv.h> from libiconv but
linking against the system iconv (which may be part of libc).
Both the configure tests and the compilation use the same CPPFLAGS
"-I/usr/local/include", i.e. the libiconv version of iconv.h should be
found first for both configure and compilation. The problem is that
configure tests for iconv() include /usr/include/iconv.h from libc despite
CPPFLAGS while the actual compilation includes /usr/local/include/iconv.h
from libiconv which requires linking against libiconv.
>
> One way to solve issues with multiple library versions is to create
"include" and "lib" directories, populate them with symlinks to the
desired versions of the headers and libraries, and use --with-includes=
and --with-libs= to put those directories at the front of the search path.
Or ensure that configure tests and compilation use the same order of
include dirs.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2940#comment:14>
GRASS GIS <https://grass.osgeo.org>
More information about the grass-dev
mailing list