[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