pgpointcloud / pointcloud

A PostgreSQL extension for storing point cloud (LIDAR) data.
https://pgpointcloud.github.io/pointcloud/
Other
396 stars 108 forks source link

Having trouble compiling your code under mingw64 (both 32 and 64) big surprise #1

Closed robe2 closed 11 years ago

robe2 commented 11 years ago

Remind me where those instructions are again you have for CentOS

Here is tail end of my output from configure:

checking for PQserverVersion in -lpq... yes Using user-specified xml2-config file: /projects/libxml/rel-libxml2-2.7.8w64gcc4 8/bin/xml2-config checking libxml/tree.h usability... yes checking libxml/tree.h presence... yes checking for libxml/tree.h... yes checking libxml/parser.h usability... yes checking libxml/parser.h presence... yes checking for libxml/parser.h... yes checking libxml/xpath.h usability... yes checking libxml/xpath.h presence... yes checking for libxml/xpath.h... yes checking libxml/xpathInternals.h usability... yes checking libxml/xpathInternals.h presence... yes checking for libxml/xpathInternals.h... yes checking for xmlInitParser in -lxml2... yes checking ght.h usability... no checking ght.h presence... no checking for ght.h... no checking for ght_init in -lght... no configure: creating ./config.status config.status: creating config.mk config.status: creating lib/pc_config.h config.status: lib/pc_config.h is unchanged

PointCloud is now configured for

-------------- Compiler Info ------------- C compiler: gcc -g -O2

-------------- Dependencies -------------- PostgreSQL config: /projects/postgresql/rel/pg9.3w64gcc48/bin/pg_config PostgreSQL version: PostgreSQL 9.3beta1 Libxml2 config: /projects/libxml/rel-libxml2-2.7.8w64gcc48/bin/xml2-conf ig Libxml2 version: 2.7.8 LibGHT status: disabled

So far so good. Then I go to make and bam:

make -C lib all make[1]: Entering directory /projects/postgis/pointcloud/pointcloud/lib' gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_bytes.o pc_bytes.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_dimstats.o pc_dimstats.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_filter.o pc_filter.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_mem.o pc_mem.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_patch.o pc_patch.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_patch_dimensional.o pc_patch_dimensional.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_patch_uncompressed.o pc_patch_uncompressed.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_patch_ght.o pc_patch_ght.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_point.o pc_point.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_pointlist.o pc_pointlist.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_schema.o pc_schema.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_stats.o pc_stats.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_util.o pc_util.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o pc_val.o pc_val.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o stringbuffer.o stringbuffer.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -c -o hashtable.o hashtable.c ar rs libpc.a pc_bytes.o pc_dimstats.o pc_filter.o pc_mem.o pc_patch.o pc_patch_dimensional.o pc_patch_uncompressed.o pc_patch_ght.o pc_point.o pc_pointlist.o pc_schema.o pc_stats.o pc_util.o pc_val.o stringbuffer.o hashtable.o make -C cunit all make[2]: Entering directory/projects/postgis/pointcloud/pointcloud/lib/cunit' gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I.. -c -o cu_tester.o cu_tester.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I.. -c -o cu_pc_bytes.o cu_pc_bytes.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I.. -c -o cu_pc_schema.o cu_pc_schema.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I.. -c -o cu_pc_point.o cu_pc_point.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I.. -c -o cu_pc_patch.o cu_pc_patch.c gcc -g -O2 -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include/libxml2 -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I/projects/zlib/rel-1.2.8w64gcc48/include -I/projects/libxml/rel-libxml2-2.7.8w64gcc48/include -I.. -c -o cu_pc_patch_ght.o cu_pc_patch_ght.c gcc -o cu_tester cu_tester.o cu_pc_bytes.o cu_pc_schema.o cu_pc_point.o cu_pc_patch.o cu_pc_patch_ght.o ../libpc.a -L/projects/libxml/rel-libxml2-2.7.8w64gcc48/lib -lxml2 -lws2_32 -L/projects/zlib/rel-1.2.8w64gcc48/lib -L/projects/libxml/rel-libxml2-2.7.8w64gcc48/lib -lcunit -L/projects/zlib/rel-1.2.8w64gcc48/lib -L/projects/libxml/rel-libxml2-2.7.8w64gcc48/lib -lz -lm make[2]: Leaving directory /projects/postgis/pointcloud/pointcloud/lib/cunit' make[1]: Leaving directory/projects/postgis/pointcloud/pointcloud/lib' make -C pgsql all make[1]: Entering directory /projects/postgis/pointcloud/pointcloud/pgsql' gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I../lib -I. -I. -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/server -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/internal -I./src/include/port/win32 -DEXEC_BACKEND "-Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/lib/pgxs/src/MAKEFI~1/../../src/include/port/win32" -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/server/port/win32 -c -o pc_inout.o pc_inout.c gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I../lib -I. -I. -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/server -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/internal -I./src/include/port/win32 -DEXEC_BACKEND "-Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/lib/pgxs/src/MAKEFI~1/../../src/include/port/win32" -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/server/port/win32 -c -o pc_access.o pc_access.c gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I../lib -I. -I. -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/server -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/internal -I./src/include/port/win32 -DEXEC_BACKEND "-Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/lib/pgxs/src/MAKEFI~1/../../src/include/port/win32" -Ic:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/include/server/port/win32 -c -o pc_pgsql.o pc_pgsql.c dlltool --export-all --output-def libpointclouddll.def pc_inout.o pc_access.o pc_pgsql.o dllwrap -o pointcloud.dll --dllname pointcloud.dll --def libpointclouddll.def pc_inout.o pc_access.o pc_pgsql.o -Lc:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/lib -Wl,--allow-multiple-definition -Wl,--as-needed -lm -L/projects/libxml/rel-libxml2-2.7.8w64gcc48/lib -lxml2 -lws2_32 -L/projects/zlib/rel-1.2.8w64gcc48/lib -L/projects/libxml/rel-libxml2-2.7.8w64gcc48/lib -lz ../lib/libpc.a -Lc:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/lib -lpostgres c:/MING64~1/projects/POSTGR~1/rel/PG9~1.3W6/lib/pgxs/src/MAKEFI~1/../../src/Makefile.shlib:385: recipe for targetpointcloud.dll' failed make[1]: Leaving directory /projects/postgis/pointcloud/pointcloud/pgsql' Makefile:3: recipe for targetall' failed

robe2 commented 11 years ago

Oops some stuff got left out -- this is where it starts choking:

../lib/libpc.a(pc_schema.o): In function pc_schema_from_xml': c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:356: undef ined reference toxmlInitParser' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:357: undef ined reference to xmlReadMemory' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:366: undef ined reference toxmlDocGetRootElement' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:371: undef ined reference to xmlXPathNewContext' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:382: undef ined reference toxmlXPathRegisterNs' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:385: undef ined reference to xmlXPathEvalExpression' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:502: undef ined reference toxmlXPathFreeObject' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:505: undef ined reference to xmlXPathEvalExpression' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:520: undef ined reference to__imp_xmlFree' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:529: undef ined reference to xmlGetProp' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:546: undef ined reference toxmlXPathFreeObject' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:548: undef ined reference to xmlXPathFreeContext' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:549: undef ined reference toxmlFreeDoc' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_schema.c:550: undef ined reference to `xmlCleanupParser'

../lib/libpc.a(pc_bytes.o): In function pc_bytes_zlib_encode': c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_bytes.c:1074: undef ined reference todeflateInit_' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_bytes.c:1082: undef ined reference to deflate' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_bytes.c:1091: undef ined reference todeflateEnd' ../lib/libpc.a(pc_bytes.o): In function pc_bytes_zlib_decode': c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_bytes.c:1118: undef ined reference toinflateInit_' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_bytes.c:1125: undef ined reference to inflate' c:\ming64gcc48\projects\postgis\pointcloud\pointcloud\lib/pc_bytes.c:1127: undef ined reference toinflateEnd' collect2.exe: error: ld returned 1 exit status c:\ming64gcc48\mingw64\bin\dllwrap.exe: c:\ming64gcc48\mingw64\bin\gcc exited wi

robe2 commented 11 years ago

Okay got the thing to compile by changing order of SHLIB_LINK in pointcloud\pgsql\Makefile

So changed your SHLIB_LINK line to below (basically move LIB_A before other stuff

SHLIB_LINK += ../lib/$(LIB_A) $(filter -lm, $(LIBS)) $(XML2_LDFLAGS) $(ZLIB_LDFLAGS) $(GHT_LDFLAGS)