cmake forcing the compiler makes the buil fail - cmake

I thought specifying -DCMAKE_CXX_COMPILER_FORCED=1 -DCMAKE_C_COMPILER_FORCED=1 for cmake would make my build faster, because it would skip compiler checks. Instead, it makes my build fail:
#16 470.8 -- Found Git: /usr/bin/git (found version "2.17.1")
#16 470.8 -- Content of the error:
#16 470.8 -- Version of this git repo: v0.0.1-2-g93b2a22
#16 470.9 -- The C compiler identification is GNU 5.5.0
#16 470.9 -- The CXX compiler identification is GNU 5.5.0
#16 470.9 -- GCC detected - Adding flags
#16 471.0 -- Looking for pthread.h
#16 471.0 -- Looking for pthread.h - found
#16 471.0 -- Looking for pthread_create
#16 471.1 -- Looking for pthread_create - not found
#16 471.1 -- Looking for pthread_create in pthreads
#16 471.1 -- Looking for pthread_create in pthreads - not found
#16 471.1 -- Looking for pthread_create in pthread
#16 471.2 -- Looking for pthread_create in pthread - found
#16 471.2 -- Found Threads: TRUE
#16 471.2 -- Found Protobuf: /usr/local/lib/libprotobuf.so;-lpthread (found version "3.5.0")
#16 471.2 CMake Error at /opt/cmake/share/cmake-3.12/Modules/FindBoost.cmake:2048 (message):
#16 471.2 Unable to find the requested Boost libraries.
#16 471.2
#16 471.2 Boost version: 1.65.1
#16 471.2
#16 471.2 Boost include path: /usr/include
#16 471.2
#16 471.2 Could not find the following Boost libraries:
#16 471.2
#16 471.2 boost_graph
#16 471.2
#16 471.2 No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
#16 471.2 directory containing Boost libraries or BOOST_ROOT to the location of
#16 471.2 Boost.
#16 471.2 Call Stack (most recent call first):
#16 471.2 CMakeLists.txt:24 (find_package)
#16 471.2
#16 471.2
#16 471.3 -- Configuring incomplete, errors occurred!
libboost-graph-dev is installed, so it's unclear what is happening here - if I remove the options, then the build is working.
What is happening here?

From the docs:
The Boost Graph Library is a header-only library and does not need to
be built to be used.
Header only libraries need not to be specified in the find_package(Boost ...) call. Remove it and instead link either to the target Boost::boost in your target_link_libraries call
or add include_directories(${Boost_INCLUDE_DIRS}) to your CMakeLists.txt file.

Related

Install pandas/numpy on Alpine-based libreoffice image

I need a Docker image that has both LibreOffice installed AND python pandas. I've decided that there's a bunch of licensing issues with LibreOffice now because the Oracle's JRE/JDK requirements. So, I'm starting FROM linuxserver/libreoffice:7.2.2 in my Docker image. Now, the problem is that when I try to install pandas using a virtual environment and a requirements.txt file (only line in it is pandas>=1.4.0,<1.5) like this:
ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# Install dependencies:
COPY requirements.txt .
RUN /opt/venv/bin/python3 -m pip install --upgrade pip && \
pip install -r requirements.txt
...I get this massive error:
#9 50.08 Collecting oldest-supported-numpy>=0.10
#9 50.08 Downloading oldest_supported_numpy-2022.4.18-py3-none-any.whl (3.9 kB)
#9 50.08 Collecting numpy==1.19.3
#9 50.08 Downloading numpy-1.19.3.zip (7.3 MB)
#9 50.08 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.3/7.3 MB 2.3 MB/s eta 0:00:00
#9 50.08 Installing build dependencies: started
#9 50.08 Installing build dependencies: finished with status 'done'
#9 50.08 Getting requirements to build wheel: started
#9 50.08 Getting requirements to build wheel: finished with status 'done'
#9 50.08 Preparing metadata (pyproject.toml): started
#9 50.08 Preparing metadata (pyproject.toml): finished with status 'error'
#9 50.08 error: subprocess-exited-with-error
#9 50.08
#9 50.08 × Preparing metadata (pyproject.toml) did not run successfully.
#9 50.08 │ exit code: 1
#9 50.08 ╰─> [236 lines of output]
#9 50.08 Running from numpy source directory.
#9 50.08 setup.py:480: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
#9 50.08 run_build = parse_setuppy_commands()
#9 50.08 Processing numpy/random/_bounded_integers.pxd.in
#9 50.08 Processing numpy/random/_pcg64.pyx
#9 50.08 Processing numpy/random/_philox.pyx
#9 50.08 Processing numpy/random/mtrand.pyx
#9 50.08 Processing numpy/random/_generator.pyx
#9 50.08 Processing numpy/random/_common.pyx
#9 50.08 Processing numpy/random/_mt19937.pyx
#9 50.08 Processing numpy/random/_sfc64.pyx
#9 50.08 Processing numpy/random/_bounded_integers.pyx.in
#9 50.08 Processing numpy/random/bit_generator.pyx
#9 50.08 Cythonizing sources
#9 50.08 blas_opt_info:
#9 50.08 blas_mkl_info:
#9 50.08 customize UnixCCompiler
#9 50.08 libraries mkl_rt not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 blis_info:
#9 50.08 libraries blis not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 openblas_info:
#9 50.08 libraries openblas not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 atlas_3_10_blas_threads_info:
#9 50.08 Setting PTATLAS=ATLAS
#9 50.08 libraries tatlas not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 atlas_3_10_blas_info:
#9 50.08 libraries satlas not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 atlas_blas_threads_info:
#9 50.08 Setting PTATLAS=ATLAS
#9 50.08 libraries ptf77blas,ptcblas,atlas not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 atlas_blas_info:
#9 50.08 libraries f77blas,cblas,atlas not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 accelerate_info:
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 /tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/system_info.py:1914: UserWarning:
#9 50.08 Optimized (vendor) Blas libraries are not found.
#9 50.08 Falls back to netlib Blas library which has worse performance.
#9 50.08 A better performance should be easily gained by switching
#9 50.08 Blas library.
#9 50.08 if self._calc_info(blas):
#9 50.08 blas_info:
#9 50.08 libraries blas not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 /tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/system_info.py:1914: UserWarning:
#9 50.08 Blas (http://www.netlib.org/blas/) libraries not found.
#9 50.08 Directories to search for the libraries can be specified in the
#9 50.08 numpy/distutils/site.cfg file (section [blas]) or by setting
#9 50.08 the BLAS environment variable.
#9 50.08 if self._calc_info(blas):
#9 50.08 blas_src_info:
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 /tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/system_info.py:1914: UserWarning:
#9 50.08 Blas (http://www.netlib.org/blas/) sources not found.
#9 50.08 Directories to search for the sources can be specified in the
#9 50.08 numpy/distutils/site.cfg file (section [blas_src]) or by setting
#9 50.08 the BLAS_SRC environment variable.
#9 50.08 if self._calc_info(blas):
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 non-existing path in 'numpy/distutils': 'site.cfg'
#9 50.08 lapack_opt_info:
#9 50.08 lapack_mkl_info:
#9 50.08 libraries mkl_rt not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 openblas_lapack_info:
#9 50.08 libraries openblas not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 openblas_clapack_info:
#9 50.08 libraries openblas,lapack not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 flame_info:
#9 50.08 libraries flame not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 atlas_3_10_threads_info:
#9 50.08 Setting PTATLAS=ATLAS
#9 50.08 libraries lapack_atlas not found in /opt/venv/lib
#9 50.08 libraries tatlas,tatlas not found in /opt/venv/lib
#9 50.08 libraries lapack_atlas not found in /usr/local/lib
#9 50.08 libraries tatlas,tatlas not found in /usr/local/lib
#9 50.08 libraries lapack_atlas not found in /usr/lib
#9 50.08 libraries tatlas,tatlas not found in /usr/lib
#9 50.08 <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 atlas_3_10_info:
#9 50.08 libraries lapack_atlas not found in /opt/venv/lib
#9 50.08 libraries satlas,satlas not found in /opt/venv/lib
#9 50.08 libraries lapack_atlas not found in /usr/local/lib
#9 50.08 libraries satlas,satlas not found in /usr/local/lib
#9 50.08 libraries lapack_atlas not found in /usr/lib
#9 50.08 libraries satlas,satlas not found in /usr/lib
#9 50.08 <class 'numpy.distutils.system_info.atlas_3_10_info'>
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 atlas_threads_info:
#9 50.08 Setting PTATLAS=ATLAS
#9 50.08 libraries lapack_atlas not found in /opt/venv/lib
#9 50.08 libraries ptf77blas,ptcblas,atlas not found in /opt/venv/lib
#9 50.08 libraries lapack_atlas not found in /usr/local/lib
#9 50.08 libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
#9 50.08 libraries lapack_atlas not found in /usr/lib
#9 50.08 libraries ptf77blas,ptcblas,atlas not found in /usr/lib
#9 50.08 <class 'numpy.distutils.system_info.atlas_threads_info'>
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 atlas_info:
#9 50.08 libraries lapack_atlas not found in /opt/venv/lib
#9 50.08 libraries f77blas,cblas,atlas not found in /opt/venv/lib
#9 50.08 libraries lapack_atlas not found in /usr/local/lib
#9 50.08 libraries f77blas,cblas,atlas not found in /usr/local/lib
#9 50.08 libraries lapack_atlas not found in /usr/lib
#9 50.08 libraries f77blas,cblas,atlas not found in /usr/lib
#9 50.08 <class 'numpy.distutils.system_info.atlas_info'>
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 lapack_info:
#9 50.08 libraries lapack not found in ['/opt/venv/lib', '/usr/local/lib', '/usr/lib']
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 /tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/system_info.py:1748: UserWarning:
#9 50.08 Lapack (http://www.netlib.org/lapack/) libraries not found.
#9 50.08 Directories to search for the libraries can be specified in the
#9 50.08 numpy/distutils/site.cfg file (section [lapack]) or by setting
#9 50.08 the LAPACK environment variable.
#9 50.08 return getattr(self, '_calc_info_{}'.format(name))()
#9 50.08 lapack_src_info:
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 /tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/system_info.py:1748: UserWarning:
#9 50.08 Lapack (http://www.netlib.org/lapack/) sources not found.
#9 50.08 Directories to search for the sources can be specified in the
#9 50.08 numpy/distutils/site.cfg file (section [lapack_src]) or by setting
#9 50.08 the LAPACK_SRC environment variable.
#9 50.08 return getattr(self, '_calc_info_{}'.format(name))()
#9 50.08 NOT AVAILABLE
#9 50.08
#9 50.08 numpy_linalg_lapack_lite:
#9 50.08 FOUND:
#9 50.08 language = c
#9 50.08 define_macros = [('HAVE_BLAS_ILP64', None), ('BLAS_SYMBOL_SUFFIX', '64_')]
#9 50.08
#9 50.08 /usr/lib/python3.9/distutils/dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
#9 50.08 warnings.warn(msg)
#9 50.08 running dist_info
#9 50.08 running build_src
#9 50.08 build_src
#9 50.08 building py_modules sources
#9 50.08 creating build
#9 50.08 creating build/src.linux-x86_64-3.9
#9 50.08 creating build/src.linux-x86_64-3.9/numpy
#9 50.08 creating build/src.linux-x86_64-3.9/numpy/distutils
#9 50.08 building library "npymath" sources
#9 50.08 Could not locate executable gfortran
#9 50.08 Could not locate executable f95
#9 50.08 Could not locate executable ifort
#9 50.08 Could not locate executable ifc
#9 50.08 Could not locate executable lf95
#9 50.08 Could not locate executable pgfortran
#9 50.08 Could not locate executable nvfortran
#9 50.08 Could not locate executable f90
#9 50.08 Could not locate executable f77
#9 50.08 Could not locate executable fort
#9 50.08 Could not locate executable efort
#9 50.08 Could not locate executable efc
#9 50.08 Could not locate executable g77
#9 50.08 Could not locate executable g95
#9 50.08 Could not locate executable pathf95
#9 50.08 Could not locate executable nagfor
#9 50.08 don't know how to compile Fortran code on platform 'posix'
#9 50.08 Traceback (most recent call last):
#9 50.08 File "/tmp/tmpqq2gyha2_in_process.py", line 363, in <module>
#9 50.08 main()
#9 50.08 File "/tmp/tmpqq2gyha2_in_process.py", line 345, in main
#9 50.08 json_out['return_val'] = hook(**hook_input['kwargs'])
#9 50.08 File "/tmp/tmpqq2gyha2_in_process.py", line 164, in prepare_metadata_for_build_wheel
#9 50.08 return hook(metadata_directory, config_settings)
#9 50.08 File "/tmp/pip-build-env-6370icr8/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 157, in prepare_metadata_for_build_wheel
#9 50.08 self.run_setup()
#9 50.08 File "/tmp/pip-build-env-6370icr8/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 248, in run_setup
#9 50.08 super(_BuildMetaLegacyBackend,
#9 50.08 File "/tmp/pip-build-env-6370icr8/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 142, in run_setup
#9 50.08 exec(compile(code, __file__, 'exec'), locals())
#9 50.08 File "setup.py", line 508, in <module>
#9 50.08 setup_package()
#9 50.08 File "setup.py", line 500, in setup_package
#9 50.08 setup(**metadata)
#9 50.08 File "/tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/core.py", line 169, in setup
#9 50.08 return old_setup(**new_attr)
#9 50.08 File "/tmp/pip-build-env-6370icr8/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 165, in setup
#9 50.08 return distutils.core.setup(**attrs)
#9 50.08 File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
#9 50.08 dist.run_commands()
#9 50.08 File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
#9 50.08 self.run_command(cmd)
#9 50.08 File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
#9 50.08 cmd_obj.run()
#9 50.08 File "/tmp/pip-build-env-6370icr8/overlay/lib/python3.9/site-packages/setuptools/command/dist_info.py", line 31, in run
#9 50.08 egg_info.run()
#9 50.08 File "/tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/command/egg_info.py", line 24, in run
#9 50.08 self.run_command("build_src")
#9 50.08 File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
#9 50.08 self.distribution.run_command(command)
#9 50.08 File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
#9 50.08 cmd_obj.run()
#9 50.08 File "/tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/command/build_src.py", line 144, in run
#9 50.08 self.build_sources()
#9 50.08 File "/tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/command/build_src.py", line 155, in build_sources
#9 50.08 self.build_library_sources(*libname_info)
#9 50.08 File "/tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/command/build_src.py", line 288, in build_library_sources
#9 50.08 sources = self.generate_sources(sources, (lib_name, build_info))
#9 50.08 File "/tmp/pip-install-m9ffqtsd/numpy_f52b823899c842e29073892fb891d2ea/numpy/distutils/command/build_src.py", line 378, in generate_sources
#9 50.08 source = func(extension, build_dir)
#9 50.08 File "numpy/core/setup.py", line 663, in get_mathlib_info
#9 50.08 raise RuntimeError("Broken toolchain: cannot link a simple C program")
#9 50.08 RuntimeError: Broken toolchain: cannot link a simple C program
#9 50.08 [end of output]
#9 50.08
#9 50.08 note: This error originates from a subprocess, and is likely not a problem with pip.
#9 50.08 error: metadata-generation-failed
#9 50.08
#9 50.08 × Encountered error while generating package metadata.
#9 50.08 ╰─> See above for output.
#9 50.08
#9 50.08 note: This is an issue with the package mentioned above, not pip.
#9 50.08 hint: See above for details.
#9 50.08 [end of output]
#9 50.08
#9 50.08 note: This error originates from a subprocess, and is likely not a problem with pip.
#9 50.09 error: subprocess-exited-with-error
#9 50.09
#9 50.09 × pip subprocess to install build dependencies did not run successfully.
#9 50.09 │ exit code: 1
#9 50.09 ╰─> See above for output.
#9 50.09
#9 50.09 note: This error originates from a subprocess, and is likely not a problem with pip.
------
executor failed running [/bin/sh -c /opt/venv/bin/python3 -m pip install --upgrade pip && pip install -r requirements.txt]: exit code: 1
I've looked around at several answers listed here that seem very similar to what I'm getting, but this discussion seems pretty old and out of date. None of the solutions I've tried from there are working.
It looks like BLAS and a couple of other items aren't installed correctly on the Alpine image. I've tried a bunch of different ways to do this and none have worked so far. How can I install pandas on this Alpine Docker image?
UPDATE
I'd be willing to use a Debian or Ubuntu-based Docker image as long as it comes preloaded with LibreOffice. The only image I've found online, so far, that comes with LibreOffice preloaded is an Alpine image...
I think you can use openjdk, but I'm not sure.
As for pandas, it's missing BLAS C libraries that can only be installed with apk. You can do that easily by running apk add openblas, but you might need also the openblas-dev package as well.

Cmake compiler error ANN library not found

I tried to compile this repository link but I am stuck with CMake Error: ann_LIBRARIES not found. While searching in the inernet I found ANN link which I build but I don't know how to give the absolute path in Cmake file. And also I installed libflann1.9 and libflann-dev but still I am having the same problem.
I have ubuntu 18.04 and qt5, boost lib, blas & lapack and libpng libraries are installed.
cmake ..
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - 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
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- serialization
-- filesystem
-- system
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libxml++-2.6'
-- Found libxml++-2.6, version 2.40.1
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- system
-- filesystem
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Found GLUT: /usr/lib/x86_64-linux-gnu/libglut.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- thread
-- chrono
-- system
-- date_time
-- atomic
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- system
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.34")
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- thread
-- system
-- chrono
-- date_time
-- atomic
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- thread
-- serialization
-- program_options
-- regex
-- system
-- chrono
-- date_time
-- atomic
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- program_options
-- regex
-- system
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- program_options
-- system
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- program_options
-- regex
-- system
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
ann_LIBRARIES
linked by target "TrackingUtils" in directory /home/dhiren/Dev/FranksVelodyneAlgos/libTrackingUtils
-- Configuring incomplete, errors occurred!
See also "/home/dhiren/Dev/FranksVelodyneAlgos/build/CMakeFiles/CMakeOutput.log".
See also "/home/dhiren/Dev/FranksVelodyneAlgos/build/CMakeFiles/CMakeError.log".
Thank you
Finally, I was able to compile the codebase
My procedures are given follows:
First I tried to compile the source code in ubuntu 18.04 but got stuck with so many errors, so I tried in ubuntu 14.04 (docker).
I installed the required packages as the author mentioned.
Now I stuck with ann_LIBRARIES problem, so for that, I downloaded ANN library from link and build by simply performing make linux-g++ from inside ann_1.1.2 folder
Now ANN library is ready to use. After that to avoid the ann_LIBRARIES problem while building process, we should perform command from terminal cmake -Dann_LIBRARIES=/home/ann_1.1.2/lib/libANN.a ..
Now so far I build the project sucessfully. Now time to compile the code using make command, again I got ANN/ANN.h: No such file or directory error which I resolved by giving absulute path #include </home/ann_1.1.2/include/ANN/ANN.h> //approximate) nearest neighbor from each file where the error arose. Obviously providing absolute path is not a good idea. That's it
Thanks to #Tsyvarev
Hope this will help somebody.

Compiling Caffe with Cmake and Ninja fails

I tried compiling Caffe on windows with CMAKE_BUILD_SHARED_LIBS option on, but it failed and stated I need to use Ninja. When I set Ninja to 1 in the config file (build_win.cmd), and run the script, it complains and gives the following error message:
CMake Error: CMake was unable to find a build program corresponding to
"Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select
a different build tool. CMake Error: CMAKE_C_COMPILER not set, after
EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after
EnableLanguage
-- Configuring incomplete, errors occurred! ERROR: Configure failed
I don't know what other steps I need to take in order to have a successful compilation process. All I did was to download Ninja, extract it somewhere and add it to my environment variable.
Do I need to install gcc as well?
Update
As suggested in the comments, I checked my path and noticed it was ill-configured. I fixed that now I get these errors, it seems it can't find the needed libraries:
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: C:/Users/Master/gcc/bin/gcc.exe
-- Check for working C compiler: C:/Users/Master/gcc/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Users/Master/gcc/bin/c++.exe
-- Check for working CXX compiler: C:/Users/Master/gcc/bin/c++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
Imported targets not available for Boost version
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
cmake/Dependencies.cmake:8 (find_package)
CMakeLists.txt:79 (include)
CMake Warning at C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
Imported targets not available for Boost version
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
cmake/Dependencies.cmake:8 (find_package)
CMakeLists.txt:79 (include)
CMake Warning at C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
Imported targets not available for Boost version
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
cmake/Dependencies.cmake:8 (find_package)
CMakeLists.txt:79 (include)
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
CMake Error at C:/Program Files/CMake/share/cmake-3.7/Modules/FindBoost.cmake:1793 (message):
Unable to find the requested Boost libraries.
Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
cmake/Dependencies.cmake:8 (find_package)
CMakeLists.txt:79 (include)
-- Could NOT find GFlags (missing: GFLAGS_INCLUDE_DIR GFLAGS_LIBRARY)
-- Could NOT find Glog (missing: GLOG_INCLUDE_DIR GLOG_LIBRARY)
CMake Error at C:/Program Files/CMake/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find Protobuf (missing: Protobuf_LIBRARIES Protobuf_INCLUDE_DIR)
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files/CMake/share/cmake-3.7/Modules/FindProtobuf.cmake:393 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/ProtoBuf.cmake:9 (find_package)
cmake/Dependencies.cmake:48 (include)
CMakeLists.txt:79 (include)
-- Configuring incomplete, errors occurred!
See also "G:/caffe_latest2/build/CMakeFiles/CMakeOutput.log".
See also "G:/caffe_latest2/build/CMakeFiles/CMakeError.log".
ERROR: Configure failed
I found the cause. I had installed GCC on my system, and cmake would try to use that instead of Visual C++ compiler.
All that is needed is just downloading Ninja, placing it in your Path Variable and you are good to go.
Change the needed settings in the build_win.cmd to use Ninja and you are done

Why does CMake refuse to use a non-default compiler?

I want to check whether my C++ project compiles on an older version of GCC. For this reason I have installed the older version and want CMake to use it to compile my project.
The CMake FAQ on changing the compiler tells me that this is the right way to do it:
CC=gcc-4.4 CXX=g++-4.4 cmake -G "Unix Makefiles" ..
So this is what I typed and CMake seems to run fine:
chris#chris-machine:~/projects/myProject/build$ CC=gcc-4.4 CXX=g++-4.4 cmake -G "Unix Makefiles" ..
-- Found PythonInterp: /usr/bin/python (found version "2.7.4")
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/chris/projects/myProject/build
However, looking at CMakeCache.txt now I find this:
//CXX compiler.
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
Obviously CMake did not use the compiler I specified. When I change this line to use g++-4.4 and run CMake again it will create an endless loop:
chris#chris-machine:~/projects/myProject/build$ CC=gcc-4.4 CXX=g++-4.4 cmake -G "Unix Makefiles" ..
-- Configuring done
You have changed variables that require your cache to be deleted.
Configure will be re-run and you may have to reset some variables.
The following variables have changed:
CMAKE_CXX_COMPILER= /usr/bin/g++-4.4
-- Found PythonInterp: /usr/bin/python (found version "2.7.4")
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
You have changed variables that require your cache to be deleted.
Configure will be re-run and you may have to reset some variables.
The following variables have changed:
CMAKE_CXX_COMPILER= /usr/bin/g++-4.4
-- Found PythonInterp: /usr/bin/python (found version "2.7.4")
// and so on...
Why does CMake not use the compiler I specify and how can I fix this?
From link you provide:
This method is not guaranteed to work for all generators
Use the second method:
cmake -G "Your Generator" -D CMAKE_C_COMPILER=gcc-4.4 -D CMAKE_CXX_COMPILER=g++-4.4 path/to/your/source
If it not help:
use absolute path
do not forget to clean all in build directory
I've come across this exact issue as well. Apparently this is a "won't fix" issue in CMake: https://cmake.org/Bug/view.php?id=14841
One work-around is to remove the CMakeCXXCompiler.cmake file inside the build directory's CMakeFiles directory every time you want to re-generate your build directory.
The path should be: build_directory/CMakeFiles/CMAKE_VERSION/CMakeCXXCompiler.cmake. On Linux, you can get your CMAKE_VERSION programmatically with cmake --version | cut -d ' ' -f 3.
A neat "fix" would be to simply add the removal of that file into your build script whenever you anticipate you will come across this.

Apache segfault errors for child processes

Apache on production server is failing periodically. Apache logs show segfault errors for child processes.
Core dump backtrace shows next:
#0 0x00007fc2462d6617 in ?? ()
#1 0x00007fc24d9458b8 in _hooks ()
#2 0x00007fc2498c798f in ?? () from /usr/lib/apache2/modules/libphp5.so
#3 0x00007fc2498ce342 in ?? () from /usr/lib/apache2/modules/libphp5.so
#4 0x00007fc2498ce5c8 in zend_hash_graceful_reverse_destroy ()
from /usr/lib/apache2/modules/libphp5.so
#5 0x00007fc2498c26b5 in ?? () from /usr/lib/apache2/modules/libphp5.so
#6 0x00007fc24986d4cd in php_module_shutdown ()
from /usr/lib/apache2/modules/libphp5.so
#7 0x00007fc24986d579 in php_module_shutdown_wrapper ()
from /usr/lib/apache2/modules/libphp5.so
#8 0x00007fc24994de51 in ?? () from /usr/lib/apache2/modules/libphp5.so
#9 0x00007fc24ce467d7 in ?? () from /usr/lib/libapr-1.so.0
#10 0x00007fc24ce45684 in apr_pool_destroy () from /usr/lib/libapr-1.so.0
#11 0x00007fc24d72b4ce in clean_child_exit (code=0)
at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:196
#12 0x00007fc24d72b8f9 in accept_mutex_on (child_num_arg=<value optimized out>)
at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:212
#13 child_main (child_num_arg=<value optimized out>)
at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:568
#14 0x00007fc24d72bb5a in make_child (s=0x7fc24f517938, slot=3)
at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:758
#15 0x00007fc24d72c7e4 in perform_idle_server_maintenance (
---Type <return> to continue, or q <return> to quit---
_pconf=<value optimized out>, plog=<value optimized out>,
s=<value optimized out>)
at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:893
#16 ap_mpm_run (_pconf=<value optimized out>, plog=<value optimized out>,
s=<value optimized out>)
at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:1097
#17 0x00007fc24d701350 in main (argc=3, argv=0x7fff9a1da0d8)
at /build/buildd/apache2-2.2.14/server/main.c:742
I have updated Apache from 2.2.14 to 2.2.20 and PHP from 5.3.2 to 5.3.6 but this error still exists.
What could be causing this problem?
UPDATE
Here php -v output:
root#host:~# php -v
PHP 5.3.6-13ubuntu3.1 with Suhosin-Patch (cli) (built: Aug 29 2011 23:39:16)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with eAccelerator v1.0-dev, Copyright (c) 2004-2012 eAccelerator, by eAccelerator
php -m:
root#host:~# php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
eAccelerator
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imagick
imap
intl
json
libxml
mbstring
mcrypt
memcache
mhash
ming
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
ps
pspell
readline
recode
Reflection
session
shmop
SimpleXML
snmp
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib
[Zend Modules]
eAccelerator
Also I tried to disable eAccelerator but nothing was changed.