Ticket #52 (assigned enhancement)

Opened 22 months ago

Last modified 2 months ago

Add complete build configuration for CMake

Reported by: mloskot Owned by: mloskot
Priority: major Milestone: 1.3.0
Component: Build System Version: svn-trunk
Keywords: cmake autotools solutions Cc:
LAS Format Version: Not Applicable

Description (last modified by mloskot) (diff)

Proposal

Maintenance of the Visual C++ solutions and projects are usually a big hassle. My aim is to replace it (trunk/build/msvc60, trunk/build/msvc80 and trunk/build/msvc90) with projects generated on request using  CMake.

Summarizing, there will be only two build systems officially supported:

  •  autotools - standard and well-known GNU Build System used on Linux and other Unix platforms, packaging-friendly for Linux distributions, works well.
  •  CMake - multi-platform, stable and easy to use builder, automatically generates solutions for Microsoft Visual Studio, autotools replacement for those who don't want to use libtool.

In future, if CMake build turns to be useful, portable, easy to maintain, etc. we could deprecate support of autotools configuration.

Requirements:

  • CMake 2.6 or newer
  • One of the build toolsets supported by libLAS and CMake generators (i.e. GCC 4.x, Visual Studio 2003+, XCode 2.8+)

Resources:

Change History

Changed 22 months ago by mloskot

  • description modified (diff)

Changed 22 months ago by mloskot

  • owner changed from hobu to mloskot
  • status changed from new to assigned
  • description modified (diff)

Changed 21 months ago by hobu

I would add that the source:trunk/makefile.vc nmake approach is also officially supported.

Changed 21 months ago by mloskot

  • description modified (diff)

Changed 20 months ago by mloskot

Added GeoTIFF support (finished in 80%) to CMake configuration (r809)

Changed 11 months ago by mloskot

  • description modified (diff)
  • summary changed from Replace manually maintained Visual C++ projects with complete CMake setup to Add complete build configuration for CMake

Changed 11 months ago by mloskot

I've updated CMake configuration (r1191 and r1192)

Current status (r1192+):

  • libLAS builds using CMake, with and without optional libgeotiff support
  • GDAL support is not available yet

Tested on GNU/Linux and GCC 4.x

Changed 6 months ago by mloskot

  • milestone set to 1.3.0

Big update of CMake build configuration. Currently, GDAL, GeoTIFF, Zlib and SpatialIndex? dependencies are handled properly and all utilities are built if their dependencies fulfilled.

Related changesets: r1290, r1292, r1293, r1294

Changed 6 months ago by mloskot

Sample build using CMake on Linux (Ubuntu 9.04) with dependencies installed as follows:

Build libLAS (trunk) with CMake:

  • Prepare build directory out of source tree
mloskot@dog:~/dev/liblas/_hg/main$ hg pull && hg update
mloskot@dog:~/dev/liblas/_hg/main$ mkdir ../build
mloskot@dog:~/dev/liblas/_hg/main$ cd ../build
  • Configure
mloskot@dog:~/dev/liblas/_hg/build$ cmake ../main -DWITH_GEOTIFF=ON -DWITH_GDAL=ON -DWITH_ZLIB=ON -DWITH_SPATIALINDEX=ON
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found ZLIB: /usr/lib/libz.so
-- Searching for GDAL 1.6.0+ library
-- Found GDAL: /home/mloskot/usr/lib/libgdal.so
-- Searching for GeoTIFF 1.2.5+ library
--    NOTE: Required version is not checked - to be implemented
-- Found GEOTIFF: /usr/local/lib/libgeotiff.so
-- Searching for SpatialIndex 1.4.0+ library
--    NOTE: Required version is not checked - to be implemented
-- Found SPATIALINDEX: /usr/local/lib/libspatialindex.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mloskot/dev/liblas/_hg/build
  • Check what build targets are available
mloskot@dog:~/dev/liblas/_hg/build$ make help
The following are some of the valid targets for this Makefile:
... all (the default if no target is provided)
... clean
... depend
... edit_cache
... rebuild_cache
... las
... las_c
... las2las
... las2ogr
... las2txt
... lasindex
... lasinfo
... lasmerge
... txt2las
  • Build all
mloskot@dog:~/dev/liblas/_hg/build$ make
Scanning dependencies of target las
[  2%] Building CXX object src/CMakeFiles/las.dir/lasclassification.o
[  5%] Building CXX object src/CMakeFiles/las.dir/lascolor.o
[  7%] Building CXX object src/CMakeFiles/las.dir/laserror.o
[ 10%] Building CXX object src/CMakeFiles/las.dir/lasfile.o
[ 12%] Building CXX object src/CMakeFiles/las.dir/lasheader.o
[ 15%] Building CXX object src/CMakeFiles/las.dir/laspoint.o
[ 17%] Building CXX object src/CMakeFiles/las.dir/lasreader.o
[ 20%] Building CXX object src/CMakeFiles/las.dir/lasspatialreference.o
[ 22%] Building CXX object src/CMakeFiles/las.dir/lasvariablerecord.o
[ 25%] Building CXX object src/CMakeFiles/las.dir/laswriter.o
[ 27%] Building CXX object src/CMakeFiles/las.dir/detail/file.o
[ 30%] Building CXX object src/CMakeFiles/las.dir/detail/reader.o
[ 32%] Building CXX object src/CMakeFiles/las.dir/detail/reader10.o
[ 35%] Building CXX object src/CMakeFiles/las.dir/detail/reader11.o
[ 37%] Building CXX object src/CMakeFiles/las.dir/detail/reader12.o
[ 40%] Building CXX object src/CMakeFiles/las.dir/detail/writer.o
[ 42%] Building CXX object src/CMakeFiles/las.dir/detail/writer10.o
[ 45%] Building CXX object src/CMakeFiles/las.dir/detail/writer11.o
[ 47%] Building CXX object src/CMakeFiles/las.dir/detail/writer12.o
[ 50%] Building CXX object src/CMakeFiles/las.dir/index/index.o
[ 52%] Building CXX object src/CMakeFiles/las.dir/index/datastream.o
[ 55%] Building CXX object src/CMakeFiles/las.dir/index/visitor.o
[ 57%] Building CXX object src/CMakeFiles/las.dir/index/query.o
[ 60%] Building CXX object src/CMakeFiles/las.dir/index/storage.o
[ 62%] Building CXX object src/CMakeFiles/las.dir/gt_wkt_srs.o
[ 65%] Building CXX object src/CMakeFiles/las.dir/gt_citation.o
[ 67%] Building CXX object src/CMakeFiles/las.dir/tifvsi.o
Linking CXX static library liblas.a
[ 67%] Built target las
Scanning dependencies of target las_c
[ 70%] Building CXX object src/CMakeFiles/las_c.dir/las_c_api.o
Linking CXX shared library liblas_c.so
[ 70%] Built target las_c
Scanning dependencies of target las2las
[ 72%] Building C object apps/CMakeFiles/las2las.dir/lascommon.o
[ 75%] Building C object apps/CMakeFiles/las2las.dir/las2las.o
Linking C executable las2las
[ 75%] Built target las2las
Scanning dependencies of target las2ogr
[ 77%] Building CXX object apps/CMakeFiles/las2ogr.dir/las2ogr.o
Linking CXX executable las2ogr
[ 77%] Built target las2ogr
Scanning dependencies of target las2txt
[ 80%] Building C object apps/CMakeFiles/las2txt.dir/lascommon.o
[ 82%] Building C object apps/CMakeFiles/las2txt.dir/las2txt.o
Linking C executable las2txt
[ 82%] Built target las2txt
Scanning dependencies of target lasindex
[ 85%] Building CXX object apps/CMakeFiles/lasindex.dir/lasindex.o
Linking CXX executable lasindex
[ 85%] Built target lasindex
Scanning dependencies of target lasinfo
[ 87%] Building C object apps/CMakeFiles/lasinfo.dir/lascommon.o
[ 90%] Building C object apps/CMakeFiles/lasinfo.dir/lasinfo.o
Linking C executable lasinfo
[ 90%] Built target lasinfo
Scanning dependencies of target lasmerge
[ 92%] Building C object apps/CMakeFiles/lasmerge.dir/lascommon.o
[ 95%] Building C object apps/CMakeFiles/lasmerge.dir/lasmerge.o
Linking C executable lasmerge
[ 95%] Built target lasmerge
Scanning dependencies of target txt2las
[ 97%] Building C object apps/CMakeFiles/txt2las.dir/lascommon.o
[100%] Building C object apps/CMakeFiles/txt2las.dir/txt2las.o
Linking C executable txt2las
[100%] Built target txt2las
  • Check programs are runnable:
mloskot@dog:~/dev/liblas/_hg/build$ ./apps/lasinfo 2>&1|grep version
    lasinfo (version 1.3.0) us

WARNING At the moment make install target is not available:

mloskot@dog:~/dev/liblas/_hg/build$ make install
make: *** No rule to make target `install'. Stop.

So, you need to copy libLAS libraries and programs manually to target location.

Changed 6 months ago by mloskot

Added requirement of GeoTIFF if GDAL support selected (r1295)

Changed 6 months ago by mloskot

Now, it's possible to install libraries and utilities and info files with make install (r1296)

mloskot@dog:~/dev/liblas/_hg/build$ make install
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mloskot/dev/liblas/_hg/build
[ 63%] Built target las
[ 66%] Built target las_c
[ 73%] Built target las2las
[ 80%] Built target las2txt
[ 86%] Built target lasinfo
[ 93%] Built target lasmerge
[100%] Built target txt2las
Install the project...
-- Install configuration: "Debug"
-- Installing: /home/mloskot/usr2/share/liblas/doc/AUTHORS
-- Installing: /home/mloskot/usr2/share/liblas/doc/ChangeLog
-- Installing: /home/mloskot/usr2/share/liblas/doc/COPYING
-- Installing: /home/mloskot/usr2/share/liblas/doc/INSTALL
-- Installing: /home/mloskot/usr2/share/liblas/doc/LICENSE.txt
-- Installing: /home/mloskot/usr2/share/liblas/doc/README
-- Installing: /home/mloskot/usr2/lib/liblas.a
-- Installing: /home/mloskot/usr2/lib/liblas_c.so
-- Installing: /home/mloskot/usr2/bin/lasinfo
-- Removed runtime path from "/home/mloskot/usr2/bin/lasinfo"
-- Installing: /home/mloskot/usr2/bin/lasmerge
-- Removed runtime path from "/home/mloskot/usr2/bin/lasmerge"
-- Installing: /home/mloskot/usr2/bin/las2las
-- Removed runtime path from "/home/mloskot/usr2/bin/las2las"
-- Installing: /home/mloskot/usr2/bin/las2txt
-- Removed runtime path from "/home/mloskot/usr2/bin/las2txt"
-- Installing: /home/mloskot/usr2/bin/txt2las
-- Removed runtime path from "/home/mloskot/usr2/bin/txt2las"

Tested on Linux.

Changed 6 months ago by mloskot

Thanks to brilliant simplicity of CMake configuration, here we have header files included in make install target (r1297)

Testers welcome!

Changed 6 months ago by hobu

Gave things a quick test....

cmake . -DWITH_GEOTIFF=ON -DWITH_GDAL=ON -DWITH_ZLIB=ON -DWITH_SPATIALINDEX=ON -DSPATIALINDEX_LIBRARY=/tmp/lasjunk/lib/libspatialindex.dylib -DSPATIALINDEX_INCLUDE_DIR=/tmp/lasjunk/include/
  "_TIFFSetField", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFIsTiled", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFError", referenced from:
      VSI_TIFFOpen(char const*, char const*)in liblas.a(tifvsi.cpp.o)
      VSI_TIFFOpen(char const*, char const*)in liblas.a(tifvsi.cpp.o)
  "_TIFFGetField", referenced from:
      _GTIFWktFromMemBuf in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFWktFromMemBuf in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFWktFromMemBuf in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFWktFromMemBuf in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFWriteCheck", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFWriteEncodedStrip", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFWriteDirectory", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)

My cmake version is 2.6-patch 3, if that is maybe the problem.

A few questions:

- How to set the installation directory prefix?

- We/I need macros for OCI detection and eventually boost finding

- The libgeotiff version check needs to look for the ST_Create symbol which is 1.2.5+ (1.3.0 beta was just released as well).

- How to build debug?

Changed 6 months ago by mloskot

Hobu,

Your command looks good. I suppose GeoTIFF can not be found or version older than 1.2.5 is being hooked.

  • How to set installation prefix?

Use  CMAKE_INSTALL_PREFIX variable. By the way, there are  two ways to configure CMake build: from CLI using cmake or using GUI (ncurses-based ccmake for Unix or CMakeSetup for Windows). Most of the variables are available in advanced mode (hit t to toggle it in ccmake, then you will be able to set prefix or even variables like  CMAKE_VERBOSE_MAKEFILE. The fantastic beauty is that developers can decide which variables are available in simple mode and which are available only in advanced mode (in simple mode they get default values).

  • We need OCI and Boost macros?

Module  FindBoost is available out of the box, so we can try it. For OCI, I'm going to write or find one, for instance  FindOracle.cmake from FairRoot? project.

  • The libgeotiff version check needs to look for the ST_Create symbol which is 1.2.5+

Good point, I'll add this check. It should be easy (see  Wiki) using  CHECK_FUNCTION_EXISTS macro

  • How to build debug?

Use  CMAKE_BUILD_TYPE variable.

Thanks for testing!

Changed 6 months ago by mloskot

Hobu, I've forgotten to confirm CMake version. Yes, your version is perfect. I've set requirement to CMake 2.6+.

By the way, according to current configuration of install target, here is expected layout of libLAS tree:

mloskot@vb-ubuntu904-i386:/home/mloskot/usr$ tree -d
.
|-- bin
|-- include
|   `-- liblas
|       |-- capi
|       |-- detail
|       `-- index
|-- lib
`-- share
    `-- liblas
        `-- doc

10 directories
mloskot@vb-ubuntu904-i386:/home/mloskot/usr$

Changed 6 months ago by hobu

I tried playing around with determining the availability of ST_Create. I got so far as

    INCLUDE(CheckFunctionExists) 
    SET(CMAKE_REQUIRED_LIBRARIES "geotiff")
    CHECK_FUNCTION_EXISTS(ST_Create HAVE_ST_CREATE )
    
    IF (HAVE_ST_CREATE)
        MESSAGE(FATAL_ERROR "GeoTIFF support requires libgeotiff 1.2.5 or newer.")
    ENDIF()

but it doesn't quite work.

Another small tidbit is if the user wants oracle, they need to have GDAL.

Do you know where I can find info on how to use Mercurial + buildbot? I haven't had much luck, but I'd like to set up notifications again. Once we do this, I have all of the pieces replicated of an svn layout, and I can build up the infrastructure on osgeo hardware (I want to move libLAS there).

Changed 6 months ago by mloskot

I'll work out the macro, no worries.

The Oracle vs GDAL issue is the same as GDAL vs GeoTIFF. The latter is already supported (see  screenshot).

The recent version of Buildbot 0.7.11 does already provide  support for Mercurial. Actually, I'm  going to update OSGeo Buildbot installation, so we can benefit of new features and fixes.

Changed 6 months ago by mloskot

Hobu,

Your check for ST_Create function works. Simply, the condition was wrong - the original reports error when HAVE_ST_CREATE is true. Anyway, working version committed (r1299). Sample output:

mloskot@dog:~/dev/liblas/_hg/build$ cmake ../main -DWITH_GEOTIFF=ON
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Searching for GeoTIFF 1.2.5+ library
--    NOTE: Required version is not checked - to be implemented
-- Found GEOTIFF: /usr/local/lib/libgeotiff.so
-- Looking for ST_Create
-- Looking for ST_Create - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mloskot/dev/liblas/_hg/build
mloskot@dog:~/dev/liblas/_hg/build$ gmake

Changed 6 months ago by mloskot

  • description modified (diff)

Changed 5 months ago by mloskot

  • Updated Visual Studio settings (r1301 and r1302)
  • Added detection of Boost C++ Libraries (r1303)

Changed 5 months ago by mloskot

Added unit test suite to the CMake configuration (r1330) - closer and closer to forget about autotools :-)

Changed 5 months ago by mloskot

Refined configuration of unit test package (r1332)

How to build libLAS with tests enabled and run tests:

  • Configuring libLAS with test unit suite enabled
mloskot@dog:~/dev/liblas/_hg/main$ hg tip | grep changeset
changeset:   1331:9110441400b4
mloskot@dog:~/dev/liblas/_hg/main$ cd ../main
mloskot@dog:~/dev/liblas/_hg/build$ cmake ../main -DWITH_TESTS=ON
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Adding libLAS utilities to build - done
-- Adding libLAS unit test suite to build - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mloskot/dev/liblas/_hg/build
  • Building
mloskot@dog:~/dev/liblas/_hg/build$ gmake 
Scanning dependencies of target las
...
Linking CXX executable ../../bin/Debug/liblas_test
[100%] Built target liblas_test
  • Running unit test suite
mloskot@dog:~/dev/liblas/_hg/build$ gmake test
Running tests...
Start processing tests
Test project /home/mloskot/dev/liblas/_hg/build
  1/  1 Testing liblas_test                      Passed

100% tests passed, 0 tests failed out of 1
  • Inspecting detailed test log:
mloskot@dog:~/dev/liblas/_hg/build$ cat Testing/Temporary/LastTest.log 
Start testing: Oct 03 00:43 BST
----------------------------------------------------------
Changing directory into: /home/mloskot/dev/liblas/_hg/build/test/unit
1/1 Testing: liblas_test
1/1 Test: liblas_test
Command: "/home/mloskot/dev/liblas/_hg/build/bin/Debug/liblas_test" "/home/mloskot/dev/liblas/_hg/main/test/data" 
Directory: /home/mloskot/dev/liblas/_hg/build/test/unit
"liblas_test" start time: Oct 03 00:43 BST
Output:
----------------------------------------------------------
libLAS Test Suite:
==================
liblas::LASError: ...
liblas::LASFile: ..........
liblas::LASHeader: ............
liblas::LASPoint: ................
liblas::LASReader: .......
liblas::LASSpatialReference: .
liblas::LASVariableRecord: ......
liblas::LASWriter: ....
liblas::guid: .......
liblas::lasreader_iterator: ......................

tests summary: ok:88
----------------------------------------------------------
"liblas_test" end time: Oct 03 00:43 BST
"liblas_test" time elapsed: 00:00:00
----------------------------------------------------------

End testing: Oct 03 00:43 BST
mloskot@dog:~/dev/liblas/_hg/build$ 

Holy cow!

Changed 5 months ago by mloskot

How to check if make test target is available?

mloskot@dog:~/dev/liblas/_hg/build$ make help | grep test
... test
... liblas_test

Changed 5 months ago by mloskot

Added CTest support (r1416)

Changed 5 months ago by mloskot

Here is article describing how to use CMake with libLAS

Changed 2 months ago by mloskot

Updated CMake configuration (r1454, r1459, r1462).

Successfully tested building core libLAS, utilities and tests using Visual C++ 1600 from Visual Studio 2010 Beta 2.

Changed 2 months ago by mloskot

Updated CMake macro for SpatialIndex? (r1465) to determine the library version:

C:\liblas\build> cmake ..\main -DWITH_SPATIALINDEX=ON
...
-- Searching for SpatialIndex 1.4.0+ library
-- Trying OSGeo4W using default location OSGEO4W_ROOT=c:/OSGeo4W
-- Found SpatialIndex version: 1.4.0
-- Found SpatialIndex: C:/OSGeo4W/lib/spatialindex_i.lib
...

Changed 2 months ago by hobu

I still get linking errors:

cmake . -DWITH_GEOTIFF=ON -DWITH_GDAL=ON -DWITH_ZLIB=ON -DWITH_SPATIALINDEX=ON -DSPATIALINDEX_LIBRARY=/tmp/spdx/lib/libspatialindex.dylib -DSPATIALINDEX_INCLUDE_DIR=/tmp/spdx/include/

I think this might be because my GDAL has an external libtiff linkage, and I need to pull in -ltiff as well? libgeotiff already shows it is linked though.

ember:gdal hobu$ otool -L /usr/local/lib/libgeotiff.dylib
/usr/local/lib/libgeotiff.dylib:
	/usr/local/lib/libgeotiff.1.dylib (compatibility version 2.0.0, current version 2.2.0)
	/usr/local/lib/libproj.0.dylib (compatibility version 6.0.0, current version 6.5.0)
	/usr/local/lib/libtiff.5.dylib (compatibility version 6.0.0, current version 6.1.0)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)
Undefined symbols:
  "_TIFFSetField", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFIsTiled", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFError", referenced from:
      VSI_TIFFOpen(char const*, char const*)in liblas.a(tifvsi.cpp.o)
      VSI_TIFFOpen(char const*, char const*)in liblas.a(tifvsi.cpp.o)
  "_TIFFGetField", referenced from:
      _GTIFWktFromMemBuf in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFWktFromMemBuf in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFWktFromMemBuf in liblas.a(gt_wkt_srs.cpp.o)
      _GTIFWktFromMemBuf in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFWriteCheck", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFWriteEncodedStrip", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)
  "_TIFFWriteDirectory", referenced from:
      _GTIFMemBufFromWkt in liblas.a(gt_wkt_srs.cpp.o)

GDAL's --with-hide-internal-symbol will also hide those symbols from the library if it is used on an *internally* linked GDAL build. It appears as though we need to manually link -ltiff, but I don't know why for sure.

Changed 2 months ago by mloskot

Implemented version check of GeoTIFF library in FindGeoTIFF.cmake macro (r1478) Minimum required version is 1.2.5, tested with GeoTIFF 1.3.0 (SVN)

Changed 2 months ago by mloskot

Howard, can you confirm if you link only libtiff as external or libgeotiff too? Is this what you used?

--with-libtiff=external
--with-geotiff=external

Changed 2 months ago by mloskot

Added configuration for Oracle support (r1479, r1480)

Changed 2 months ago by mloskot

Improved configuration for las2oci target r1481, r1482)

Note: See TracTickets for help on using tickets.