[GRASS-dev] GRASS 7 not finding gettext

I’m trying to compile GRASS 7 RB.

Something has changed with the configuration checks so that it no longer can find my installation of gettext. It worked OK on 3 January 2014, the last time I compiled GRASS 7.

Michael


C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Head, Graduate Faculty in Complex Adaptive Systems Science
Arizona State University

voice: 480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC), 480-727-0709 (CSDC)

www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu

On Thu, Apr 3, 2014 at 8:16 PM, Michael Barton <Michael.Barton@asu.edu> wrote:

I'm trying to compile GRASS 7 RB.

Something has changed with the configuration checks so that it no longer can
find my installation of gettext. It worked OK on 3 January 2014, the last
time I compiled GRASS 7.

It must be a local problem: the configure* files have not been
modified for 7+ months:
http://trac.osgeo.org/grass/browser/grass/branches/releasebranch_7_0

See the "config.log" files for any errors.

Markus

I don’t know what has changed, but I just recompiled gettext and redid configure. It still does not find gettext.

The configure flag I’m using is --with-nls

That’s still correct, right?

Here is the error:

checking whether to use NLS... yes
checking for gettext... no
checking for gettext in -lintl... no
configure: error: *** Unable to locate gettext() function.

Here is what seems to be the right place from configure.log

; return 0; }
configure:11940: checking whether to use FreeType
configure:11959: checking for location of FreeType includes
configure:11985: checking for ft2build.h
configure:11993: gcc -E -I/Library/Frameworks/FreeType.framework/unix/include/freetype2 -I/Library/Frameworks/FreeType.framework/unix/include conftest.c >/dev/null 2>conftest.out
configure:12027: checking for location of FreeType library
configure:12052: checking for FT_Init_FreeType in -lfreetype
configure:12069: gcc -o conftest -g -O2 -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Library/Frameworks/FreeType.framework/unix/lib -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk conftest.c -lfreetype 1>&5
configure:12110: checking whether to use NLS
configure:12130: checking for gettext
configure:12156: gcc -o conftest -g -O2 -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk conftest.c 1>&5
Undefined symbols for architecture i386:
"_gettext", referenced from:
     _main in conftest-qEjAiU.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
configure: failed program was:
#line 12133 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
   which can conflict with char gettext(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply. */
char gettext();

int main() {

/* The GNU C library defines this for functions which it implements
   to always fail with ENOSYS. Some functions are actually named
   something starting with __ and the normal name is an alias. */
#if defined (__stub_gettext) || defined (__stub___gettext)
choke me
#else
gettext();
#endif

; return 0; }
configure:12174: checking for gettext in -lintl
configure:12191: gcc -o conftest -g -O2 -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk conftest.c -lintl 1>&5
ld: library not found for -lintl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
configure: failed program was:
#line 12180 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply. */
char gettext();

int main() {
gettext()
; return 0; }

Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Head, Graduate Faculty in Complex Adaptive Systems Science
Arizona State University

voice: 480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC), 480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu

On Apr 3, 2014, at 12:07 PM, Markus Neteler <neteler@osgeo.org> wrote:

On Thu, Apr 3, 2014 at 8:16 PM, Michael Barton <Michael.Barton@asu.edu> wrote:

I'm trying to compile GRASS 7 RB.

Something has changed with the configuration checks so that it no longer can
find my installation of gettext. It worked OK on 3 January 2014, the last
time I compiled GRASS 7.

It must be a local problem: the configure* files have not been
modified for 7+ months:
releasebranch_7_0 in grass/branches – GRASS GIS

See the "config.log" files for any errors.

Markus

Michael Barton wrote:

I don't know what has changed, but I just recompiled gettext and redid configure. It still does not find gettext.

The configure flag I'm using is --with-nls

That�s still correct, right?

Yes.

configure:12130: checking for gettext
configure:12156: gcc -o conftest -g -O2 -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk conftest.c 1>&5
Undefined symbols for architecture i386:
"_gettext", referenced from:
     _main in conftest-qEjAiU.o

My interpretation of that error message is that you're requesting a
dual-architecture build but gettext is only provided for x86_64.

--
Glynn Clements <glynn@gclements.plus.com>