bashgitmacosvigra

How do I install vigra on macOS Mojave?


I need to use CellProfiler 2.2.0 and for that I need vigra. I followed the instructions you can find here, or at least as I interpreted them. In short:

  1. I cloned the git-repository.
  2. cd ~/git/vigra.
  3. mkdir a directory to build and cd to that one
  4. cmake

However, when I want make the package at step 5), I run into this:

swvanderlaan@Sanders-MBP ~/git
$ git clone git@github.com:ukoethe/vigra.git
Cloning into 'vigra'...
remote: Enumerating objects: 49815, done.
remote: Total 49815 (delta 0), reused 0 (delta 0), pack-reused 49815
Receiving objects: 100% (49815/49815), 106.46 MiB | 7.64 MiB/s, done.
Resolving deltas: 100% (36407/36407), done.

swvanderlaan@Sanders-MBP ~/git
$ cd vigra/

swvanderlaan@Sanders-MBP ~/git/vigra
$ ls
CMakeLists.txt      LICENSE.txt         README.md           azure-pipelines.yml config              docsrc              include             src                 test                vigranumpy

swvanderlaan@Sanders-MBP ~/git/vigra
$ mkdir -v build
mkdir: created directory 'build'

swvanderlaan@Sanders-MBP ~/git/vigra
$ cd build/

swvanderlaan@Sanders-MBP ~/git/vigra/build
$ cmake ../src/
-- The C compiler identification is AppleClang 10.0.1.10010046
-- The CXX compiler identification is AppleClang 10.0.1.10010046
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/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: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 3.14)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /Users/swvanderlaan/git/vigra/build

swvanderlaan@Sanders-MBP ~/git/vigra/build
$ make
Scanning dependencies of target vigraimpex
[  4%] Building CXX object impex/CMakeFiles/vigraimpex.dir/bmp.o
/Users/swvanderlaan/git/vigra/src/impex/bmp.cxx:38:10: fatal error: 'vigra/config.hxx' file not found
#include "vigra/config.hxx"
         ^~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [impex/CMakeFiles/vigraimpex.dir/bmp.o] Error 1
make[1]: *** [impex/CMakeFiles/vigraimpex.dir/all] Error 2
make: *** [all] Error 2

How do I fix this?

Thanks and best,

Sander

My system: macOS Mojave 10.14.5 with brew:

brew config
HOMEBREW_VERSION: 2.1.6
ORIGIN: https://github.com/Homebrew/brew
HEAD: fddf5b16bd8df577380a1d810d17825ef611b81f
Last commit: 3 weeks ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 6b7110635d52dbecd386c7c538b812da87dc2da3
Core tap last commit: 18 hours ago
HOMEBREW_PREFIX: /usr/local
CPU: octa-core 64-bit kabylake
Homebrew Ruby: 2.3.7 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 10.0 build 1001
Git: 2.22.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 1.8.0_212
macOS: 10.14.5-x86_64
CLT: 10.2.1.0.1.1554506761
Xcode: 10.2.1
CLT headers: 10.2.1.0.1.1554506761
XQuartz: 2.7.11 => /opt/X11

Solution

  • The easiest way to install vigra on Mac/Linux/Windows without compiling anything is to use conda:

    conda install -c conda-forge vigra
    

    Note: Vigra supports a number of optional dependencies. That build supports many of them, but if you're interested in a particular feature, you can check the conda-forge built script for vigra:

    https://github.com/conda-forge/vigra-feedstock/blob/master/recipe/build.sh

    [I know this answer is much too late to be helpful, and it sounds like you didn't really need vigra anyway. But hopefully this is useful for any future googlers out there that might come across this page.]