# Compiling GEAM on FreeBSD 8.2



## moloch (Mar 25, 2011)

I'm trying to compile GEAM but I'm having absolutely no luck with it. To keep it short here is what I'm getting:

[CMD=""]./configure[/CMD]

```
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for ranlib... ranlib
checking for docbook-to-man... no
checking for jade... no
checking for jadetex... /usr/local/bin/jadetex
checking for TeX stylesheet... none
checking for HTML stylesheet... none
configure: WARNING:
***
*** It seems that the Docbook environment is not installed as required.
*** We will try to build everything,  but if you either touch some files
*** or use a bogus make tool, you may run into problems.
*** Docbook is normally only needed to build the documentation.
***
checking for memicmp... no
checking for stpcpy... yes
checking for strlwr... no
checking for strtoul... yes
checking for memmove... yes
checking for stricmp... no
checking for pth-config... /usr/local/bin/pth-config
checking for Pth - version >= 1.2.1... Segmentation fault (core dumped)
no
configure: error:
***
*** Portable Threads Library (pth) found. Please install it first.
*** Download it from ftp://ftp.gnu.org/gnu/pth/
*** On a Debian GNU/Linux system you might want to try
***   apt-get install libpth-dev
```

If I disable pth test configure is able to finish its job:

[CMD=""]./configure --disable-pthtest[/CMD]

```
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for ranlib... ranlib
checking for docbook-to-man... no
checking for jade... no
checking for jadetex... /usr/local/bin/jadetex
checking for TeX stylesheet... none
checking for HTML stylesheet... none
configure: WARNING:
***
*** It seems that the Docbook environment is not installed as required.
*** We will try to build everything,  but if you either touch some files
*** or use a bogus make tool, you may run into problems.
*** Docbook is normally only needed to build the documentation.
***
checking for memicmp... no
checking for stpcpy... yes
checking for strlwr... no
checking for strtoul... yes
checking for memmove... yes
checking for stricmp... no
checking for pth-config... /usr/local/bin/pth-config
checking for Pth - version >= 1.2.1... yes
checking for byte typedef... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating db2html
config.status: creating lib/Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating doc/version.sgml
config.status: creating doc/localstyle.dsl
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing default-1 commands
```

But attempt at compiling it fails, just like so:

[CMD=""]make check[/CMD]

```
Making check in lib
if gcc -DHAVE_CONFIG_H -I. -I. -I..      -g -O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT xmalloc.o -MD -MP -MF ".deps/xmalloc.Tpo"  
-c -o xmalloc.o `test -f 'xmalloc.c' || echo './'`xmalloc.c;  then mv -f ".deps/xmalloc.Tpo" ".deps/xmalloc.Po";  else rm -f 
".deps/xmalloc.Tpo"; exit 1;  fi
xmalloc.c: In function 'xstrdup':
xmalloc.c:66: warning: implicit declaration of function 'strlen'
xmalloc.c:66: warning: incompatible implicit declaration of built-in function 'strlen'
xmalloc.c:67: warning: implicit declaration of function 'strcpy'
xmalloc.c:67: warning: incompatible implicit declaration of built-in function 'strcpy'
if gcc -DHAVE_CONFIG_H -I. -I. -I..      -g -O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT stringhelp.o -MD -MP -MF 
".deps/stringhelp.Tpo"  -c -o stringhelp.o `test -f 'stringhelp.c' || echo './'`stringhelp.c;  then mv -f ".deps/stringhelp.Tpo" 
".deps/stringhelp.Po";  else rm -f ".deps/stringhelp.Tpo"; exit 1;  fi
stringhelp.c: In function 'memistr':
stringhelp.c:41: warning: pointer targets in assignment differ in signedness
stringhelp.c:41: warning: pointer targets in assignment differ in signedness
stringhelp.c:43: warning: pointer targets in assignment differ in signedness
stringhelp.c:48: warning: pointer targets in assignment differ in signedness
stringhelp.c:48: warning: pointer targets in assignment differ in signedness
if gcc -DHAVE_CONFIG_H -I. -I. -I..      -g -O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT logging.o -MD -MP -MF ".deps/logging.Tpo"  
-c -o logging.o `test -f 'logging.c' || echo './'`logging.c;  then mv -f ".deps/logging.Tpo" ".deps/logging.Po";  else rm -f 
".deps/logging.Tpo"; exit 1;  fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..      -g -O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT argparse.o -MD -MP -MF ".deps/argparse.Tpo"  
-c -o argparse.o `test -f 'argparse.c' || echo './'`argparse.c;  then mv -f ".deps/argparse.Tpo" ".deps/argparse.Po";  else rm -f 
".deps/argparse.Tpo"; exit 1;  fi
In file included from argparse.c:32:
argparse.h:35: error: expected specifier-qualifier-list before 'ulong'
argparse.c: In function 'initialize':
argparse.c:205: error: 'union <anonymous>' has no member named 'ret_str'
argparse.c: In function 'arg_parse':
argparse.c:497: error: 'union <anonymous>' has no member named 'ret_str'
argparse.c:546: error: 'union <anonymous>' has no member named 'ret_str'
argparse.c:615: error: 'union <anonymous>' has no member named 'ret_str'
argparse.c:655: error: 'union <anonymous>' has no member named 'ret_str'
argparse.c: In function 'set_opt_arg':
argparse.c:685: error: 'union <anonymous>' has no member named 'ret_ulong'
argparse.c:689: error: 'union <anonymous>' has no member named 'ret_str'
argparse.c: In function 'show_version':
argparse.c:852: warning: pointer targets in passing argument 1 of 'fputs' differ in signedness
*** Error code 1

Stop in /usr/home/moloch/subversion/geam-0.8.4/lib.
*** Error code 1

Stop in /usr/home/moloch/subversion/geam-0.8.4.
```

I do have devel/pth installed and I already tried reinstalling it but that didn't solve anything. Running *./configure* with prefixes to various directories was fruitless as well.

Does anyone have experience with GEAM on FreeBSD? I will appreciate any ideas and help here - it's really doing my head...


----------

