OSGeo / homebrew-osgeo4mac

Mac homebrew tap for maintaining a stable work environment for the OSGeo.org geospatial toolset
https://git.io/fhh3X
BSD 3-Clause "New" or "Revised" License
363 stars 111 forks source link

orfeo-40 problems building target OTBLearning #38

Closed Mporfiri closed 10 years ago

Mporfiri commented 10 years ago

Hi all,

trying to install OTB 4.0 using homebrew (orfeo-40 formula) I get this error:

[ 89%] Built target OTBFuzzy cd /tmp/orfeo-40-5289/OTB-4.0.0/build/Code/Learning && /usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_symlink_library ../../bin/libOTBLearning.4.0.0.dylib ../../bin/libOTBLearning.4.0.dylib ../../bin/libOTBLearning.dylib /usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_progress_report /tmp/orfeo-40-5289/OTB-4.0.0/build/CMakeFiles 12 [ 89%] Built target OTBLearning make: *\ [all] Error 2

What do you suggest me to do? What did I miss? I will be very grateful If someone could help me.

FYI this is my brew --config:

HOMEBREW_VERSION: 0.9.5 ORIGIN: https://github.com/Homebrew/homebrew.git HEAD: f7d75ded2864a4280060ba07d8d47927c3924141 HOMEBREW_PREFIX: /usr/local HOMEBREW_CELLAR: /usr/local/Cellar CPU: quad-core 64-bit haswell OS X: 10.9.2-x86_64 Xcode: 5.0.2 CLT: 5.1.0.0.1.1396320587 Clang: 5.0 build 500 X11: 2.7.6 => /opt/X11 System Ruby: 1.8.7-358 Perl: /usr/bin/perl Python: /usr/bin/python Ruby: /usr/bin/ruby

Thank you in advance.

Best regards, Martina

dakcarto commented 10 years ago

Hi Martina,

Please provide logs, i.e. brew gist-logs --config --doctor orfeo-40. See Homebrew Troubleshooting.

Mporfiri commented 10 years ago

Hi Larry,

find the logs at the following link:

https://gist.github.com/b089a7321598fce40105

Thank you for you interest and time, let me know if you need more information.

Regards, Martina

dakcarto commented 10 years ago

The error is related to your GDAL install:

[ 89%] Building CXX object Code/Learning/CMakeFiles/OTBLearning.dir/otbNonGaussianRBFKernelFunctor.cxx.o
cd /tmp/orfeo-40-5289/OTB-4.0.0/build/Code/Learning && /usr/local/Library/ENV/4.3/clang++   -DOTBLearning_EXPORTS -DOTB_USE_INTERNAL_OPENTHREADS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_XML_LIB -fPIC -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbopenthreads/OpenThreads/include -isystem /usr/local/Cellar/qt/4.8.6/include -F/usr/local/Cellar/qt/4.8.6/lib -isystem /usr/local/Cellar/qt/4.8.6/include/QtGui -isystem /usr/local/Cellar/qt/4.8.6/include/QtXml -isystem /usr/local/Cellar/qt/4.8.6/lib/QtCore.framework/Headers -I/tmp/orfeo-40-5289/OTB-4.0.0/build -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/BasicFilters -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/ContrastEnhancement -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/ChangeDetection -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Common -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/DisparityMap -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/FeatureExtraction -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Fusion -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Fuzzy -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/GeospatialAnalysis -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Hyperspectral -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/IO -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Learning -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Markov -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/MultiScale -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/MultiTemporal -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/OBIA -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/ObjectDetection -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Projections -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Radiometry -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/SARPolarimetry -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Segmentation -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Simulation -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/SpatialReasoning -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Testing -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/CurlAdapters -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/OssimAdapters -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/TinyXMLAdapters -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/OGRAdapters -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/ITKPendingPatches -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/ApplicationEngine -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbsvm -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbossimplugins -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbossimplugins/ossim -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/InsightJournal -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otb6S -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbedison/segm -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbedison/prompt -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbedison/edge -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbconfigfile -I/tmp/orfeo-40-5289/OTB-4.0.0/Code/Wrappers/QtWidget -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/BGL -I/Library/Frameworks/gdal.framework/Headers -I/usr/local/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/otbsiftfast -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/ThirdParty/DoubleConversion/src/double-conversion -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/ThirdParty/KWSys/src -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/ThirdParty/VNL/src/vxl/v3p/netlib -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/ThirdParty/VNL/src/vxl/vcl -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/ThirdParty/VNL/src/vxl/core -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/ThirdParty/VNL/src/vxl/v3p/netlib -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/ThirdParty/VNL/src/vxl/vcl -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/ThirdParty/VNL/src/vxl/core -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/ThirdParty/VNLInstantiation/include -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/Core/Common -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/Common/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/FiniteDifference/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageFilterBase/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/CurvatureFlow/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/ImageAdaptors/include -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/ThirdParty/Netlib -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Numerics/Statistics/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/Transform/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/ImageFunction/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageGrid/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/AnisotropicSmoothing/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageCompose/include -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/IO/ImageBase -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/IO/ImageBase/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/Mesh/include -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/ThirdParty/ZLIB/src -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/ThirdParty/ZLIB/src -I/tmp/orfeo-40-5289/OTB-4.0.0/build/Utilities/ITK/Modules/ThirdParty/MetaIO/src/MetaIO -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/ThirdParty/MetaIO/src/MetaIO -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/SpatialObjects/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageStatistics/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/Path/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageIntensity/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageLabel/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/Thresholding/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/ConnectedComponents/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/MathematicalMorphology/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/LabelMap/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/BinaryMathematicalMorphology/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Numerics/NarrowBand/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/DistanceMap/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/QuadEdgeMesh/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/FastMarching/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageCompare/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/Smoothing/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageGradient/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageSources/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageFeature/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Numerics/Optimizers/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/SignedDistanceFunction/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/LevelSets/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/AntiAlias/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Numerics/Polynomials/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/BiasCorrection/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/Classifiers/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/Colormap/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/FFT/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/Convolution/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/Deconvolution/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/DeformableMesh/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/Denoising/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/DisplacementField/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Numerics/Eigen/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/GPUCommon/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Core/GPUFiniteDifference/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/GPUAnisotropicSmoothing/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/GPUImageFilterBase/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Registration/GPUCommon/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Registration/Common/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Registration/PDEDeformable/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Registration/GPUPDEDeformable/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/GPUSmoothing/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/GPUThresholding/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/ImageFusion/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/KLMRegionGrowing/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/LabelVoting/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/LevelSetsv4/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/MarkovRandomFieldsClassifiers/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Numerics/Optimizersv4/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Registration/Metricsv4/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Numerics/NeuralNetworks/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/QuadEdgeMeshFiltering/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/RegionGrowing/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Registration/RegistrationMethodsv4/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Filtering/SpatialFunction/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/Voronoi/include -I/tmp/orfeo-40-5289/OTB-4.0.0/Utilities/ITK/Modules/Segmentation/Watersheds/include    -o CMakeFiles/OTBLearning.dir/otbNonGaussianRBFKernelFunctor.cxx.o -c /tmp/orfeo-40-5289/OTB-4.0.0/Code/Learning/otbNonGaussianRBFKernelFunctor.cxx
/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx:129:17: error: no member named 'SetDriver' in 'OGRDataSource'; did you mean 'GetDriver'?
  m_DataSource->SetDriver(d);
                ^~~~~~~~~
                GetDriver
/Library/Frameworks/gdal.framework/Headers/ogrsf_frmts.h:234:25: note: 'GetDriver' declared here
    OGRSFDriver        *GetDriver() const;
                        ^
/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx:129:27: error: too many arguments to function call, expected 0, have 1
  m_DataSource->SetDriver(d);
  ~~~~~~~~~~~~~~~~~~~~~~~ ^
/Library/Frameworks/gdal.framework/Headers/ogrsf_frmts.h:234:5: note: 'GetDriver' declared here
    OGRSFDriver        *GetDriver() const;
    ^
/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx:175:13: error: no member named 'SetDriver' in 'OGRDataSource'; did you mean 'GetDriver'?
    source->SetDriver(d);
            ^~~~~~~~~
            GetDriver
/Library/Frameworks/gdal.framework/Headers/ogrsf_frmts.h:234:25: note: 'GetDriver' declared here
    OGRSFDriver        *GetDriver() const;
                        ^
/tmp/orfeo-40-5289/OTB-4.0.0/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx:175:23: error: too many arguments to function call, expected 0, have 1
    source->SetDriver(d);
    ~~~~~~~~~~~~~~~~~ ^
/Library/Frameworks/gdal.framework/Headers/ogrsf_frmts.h:234:5: note: 'GetDriver' declared here
    OGRSFDriver        *GetDriver() const;
    ^
4 errors generated.
make[2]: *** [Code/UtilitiesAdapters/OGRAdapters/CMakeFiles/OTBOGRAdapters.dir/otbOGRDataSourceWrapper.cxx.o] Error 1
make[2]: *** Waiting for unfinished jobs....

brew doctor indicates you have 'unbrewed' libraries and components for GDAL in /usr/local/lib. There is also a CMake reference to /Library/Frameworks/gdal.framework, which is not the Kyngchaos.com GDAL.framework; so, I can only infer that you have manually compiled/installed GDAL in the past.

This probably caused Homebrew's gdal formula to fail to link into HOMEBREW_PREFIX, i.e. /usr/local in your case, when it was installed.

Given the brew doctor output you should:

Note: This may be an incompatibility with GDAL 1.11.0. I will also recompile here to double-check that.

dakcarto commented 10 years ago

Tested here, builds fine on OS X 10.7.5 against GDAL 1.11.

Mporfiri commented 10 years ago

Hi Lerry,

following your suggestion I have successfully compiled OTB 4.0. Unfortunately I have a problem doing the executable (the simplest one, print 'Hello world'). I do not know if this is the right place where post my issue. However, trying to run the executable I get the following error:

dyld: Symbol not found: _json_tokener_errors Referenced from: /usr/local/opt/liblwgeom/lib/liblwgeom-2.1.1.dylib Expected in: /usr/local/lib/libjson-c.2.dylib in /usr/local/opt/liblwgeom/lib/liblwgeom-2.1.1.dylib Trace/BPT trap: 5

I have already installed json-c-0.11 library.

Thank you very much for your time, feel free to close this issue if you want.

Regards, Martina

dakcarto commented 10 years ago

See: https://github.com/Homebrew/homebrew/issues/29430. You may have installed some packages before json-c was reverted to 0.11.

Try the following:

You do not have to recompile orfeo-40, since it is only a dylib issue with a dependency.

dakcarto commented 10 years ago

See also: https://github.com/OSGeo/homebrew-osgeo4mac/issues/33#issuecomment-45360134

Mporfiri commented 10 years ago

Hi Larry,

following your suggestion I fixed my problem and the executable runs.

Thank you very much!! Martina