# Geos port not compiling



## PeterSprague (Feb 9, 2013)

Not sure how/where to fill a possible bug report for the geos port.

I'm attempting to compile the geos 3.3. port on a very generic supermicro server. Its a dependency for mapserver.

It crashes repeatedly, with messages:

```
Making all in php
gmake[1]: Entering directory `/usr/ports/graphics/geos/work/geos-3.3.3/php'
Making all in .
gmake[2]: Entering directory `/usr/ports/graphics/geos/work/geos-3.3.3/php'
/bin/sh /usr/local/bin/libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I../include -I../include/geos   `/usr/local/bin/php-config --includes` -DCOMPILE_DL_GEOS -I../capi -I../include  -pedantic -Wall -ansi -Wno-long-long  -ffloat-store -std=gnu99 -O2 -pipe -fno-strict-aliasing -MT geos_la-geos.lo -MD -MP -MF .deps/geos_la-geos.Tpo -c -o geos_la-geos.lo `test -f 'geos.c' || echo './'`geos.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I../include -I../include/geos -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DCOMPILE_DL_GEOS -I../capi -I../include -pedantic -Wall -ansi -Wno-long-long -ffloat-store -std=gnu99 -O2 -pipe -fno-strict-aliasing -MT geos_la-geos.lo -MD -MP -MF .deps/geos_la-geos.Tpo -c geos.c  -fPIC -DPIC -o .libs/geos_la-geos.o
geos.c:47: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'geos_functions'
geos.c:54: warning: ISO C does not allow extra ';' outside of a function
geos.c:59: error: 'geos_functions' undeclared here (not in a function)
geos.c: In function 'Gen_create_obj':
geos.c:164: error: 'zend_class_entry' has no member named 'default_properties'
geos.c: At top level:
geos.c:236: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Geometry_methods'
geos.c:297: warning: ISO C does not allow extra ';' outside of a function
geos.c:1909: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'WKTReader_methods'
geos.c:1913: warning: ISO C does not allow extra ';' outside of a function
geos.c:1987: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'WKTWriter_methods'
geos.c:1996: warning: ISO C does not allow extra ';' outside of a function
geos.c:2159: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'WKBWriter_methods'
geos.c:2169: warning: ISO C does not allow extra ';' outside of a function
geos.c:2355: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'WKBReader_methods'
geos.c:2359: warning: ISO C does not allow extra ';' outside of a function
geos.c: In function 'zm_startup_geos':
geos.c:2594: error: 'WKTReader_methods' undeclared (first use in this function)
geos.c:2594: error: (Each undeclared identifier is reported only once
geos.c:2594: error: for each function it appears in.)
geos.c:2602: error: 'WKTWriter_methods' undeclared (first use in this function)
geos.c:2610: error: 'Geometry_methods' undeclared (first use in this function)
geos.c:2621: error: 'WKBWriter_methods' undeclared (first use in this function)
geos.c:2629: error: 'WKBReader_methods' undeclared (first use in this function)
gmake[2]: *** [geos_la-geos.lo] Error 1
gmake[2]: Leaving directory `/usr/ports/graphics/geos/work/geos-3.3.3/php'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/graphics/geos/work/geos-3.3.3/php'
gmake: *** [all-recursive] Error 1
*** Error code 1

Stop in /usr/ports/graphics/geos.
*** Error code 1

Stop in /usr/ports/graphics/geos.
```

pkg_add -r graphics/geos fails to access a package.  Other ports and packages compile/install ok.

Compiled 3.3.7 source with no errors, but mapserver port will not compile unless I remove the option geos.  

Any suggestions?  Haven't found any reports by others of the issue, so it is likely something simple and/or on my end.

Peter


----------



## cpm@ (Feb 9, 2013)

It is not an isolated problem, note that with option RUBY enabled breaks the build. Read PR ports/175623.

```
geos.c:2594: error: 'WKTReader_methods' undeclared (first use in this function)
geos.c:2594: error: (Each undeclared identifier is reported only once
geos.c:2594: error: for each function it appears in.)
geos.c:2602: error: 'WKTWriter_methods' undeclared (first use in this function)
geos.c:2610: error: 'Geometry_methods' undeclared (first use in this function)
geos.c:2621: error: 'WKBWriter_methods' undeclared (first use in this function)
geos.c:2629: error: 'WKBReader_methods' undeclared (first use in this function)
```

Fails to build because variables are not defined in scope. Seems that GEOS isn't thread safe in itself and why port options default are disabled. Regarding graphics/mapserver needs POSTGIS option enabled to add WKT and WKB form support.

File a PR to freebsd-ports-bugs mailing list and wait developer/maintainer reply.


----------

