Git Product home page Git Product logo

libitk-feedstock's Introduction

About libitk-feedstock

Feedstock license: BSD-3-Clause

Home: http://www.itk.org

Package license: Apache-2.0

Summary: Runtime libraries and header files for the Insight Toolkit for segmentation and registration.

Current build status

Azure
VariantStatus
linux_64 variant
linux_aarch64 variant
osx_64 variant
osx_arm64 variant
win_64 variant

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms

Installing libitk

Installing libitk from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge
conda config --set channel_priority strict

Once the conda-forge channel has been enabled, libitk, libitk-devel can be installed with conda:

conda install libitk libitk-devel

or with mamba:

mamba install libitk libitk-devel

It is possible to list all of the versions of libitk available on your platform with conda:

conda search libitk --channel conda-forge

or with mamba:

mamba search libitk --channel conda-forge

Alternatively, mamba repoquery may provide more information:

# Search all versions available on your platform:
mamba repoquery search libitk --channel conda-forge

# List packages depending on `libitk`:
mamba repoquery whoneeds libitk --channel conda-forge

# List dependencies of `libitk`:
mamba repoquery depends libitk --channel conda-forge

About conda-forge

Powered by NumFOCUS

conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the conda-forge GitHub organization. The conda-forge organization contains one repository for each of the installable packages. Such a repository is known as a feedstock.

A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by Azure, GitHub, CircleCI, AppVeyor, Drone, and TravisCI it is possible to build and upload installable packages to the conda-forge anaconda.org channel for Linux, Windows and OSX respectively.

To manage the continuous integration and simplify feedstock maintenance conda-smithy has been developed. Using the conda-forge.yml within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with conda smithy rerender.

For more information please check the conda-forge documentation.

Terminology

feedstock - the conda recipe (raw material), supporting scripts and CI configuration.

conda-smithy - the tool which helps orchestrate the feedstock. Its primary use is in the construction of the CI .yml files and simplify the management of many feedstocks.

conda-forge - the place where the feedstock and smithy live and work to produce the finished article (built conda distributions)

Updating libitk-feedstock

If you would like to improve the libitk recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the conda-forge channel, whereupon the built conda packages will be available for everybody to install and use from the conda-forge channel. Note that all branches in the conda-forge/libitk-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions.

In order to produce a uniquely identifiable distribution:

  • If the version of a package is not being increased, please add or increase the build/number.
  • If the version of a package is being increased, please remember to return the build/number back to 0.

Feedstock Maintainers

libitk-feedstock's People

Contributors

beckermr avatar bgruening avatar blowekamp avatar carterbox avatar conda-forge-admin avatar conda-forge-curator[bot] avatar gdevenyi avatar ghisvail avatar github-actions[bot] avatar hmaarrfk avatar ihnorton avatar kristhielemans avatar mariusvniekerk avatar minrk avatar ocefpaf avatar qwhelan avatar regro-cf-autotick-bot avatar thewtex avatar xhochy avatar ytausch avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

libitk-feedstock's Issues

Issue with building a conda-forge package for ANTs

I am having troubles building a conda-forge package for ANTs using the libitk-devel package. I filed an issue upstream with details about the errors in the build log. They reckon it may come from differences in ITK configurations between this conda-forge package and what ANTs expect.

Could you help me identify what's missing and where the issue should be fixed?

Thanks.

Hardcoded system library paths in ITKHDF5.cmake

I was trying to build RTK/SimpleRTK using the ITK package from conda-forge. Within my conda environment, the following file: lib/cmake/ITK-4.11/Modules/ITKHDF5.cmake has hardcoded paths for libraries such as libpthread.so which do not match their location on my Ubuntu installation.

Specifically the variable ITKHDF5_LIBRARIES is set as:

set(ITKHDF5_LIBRARIES "/home/lee8rx/miniconda3/envs/pyir/lib/libhdf5_cpp.so;/home/lee8rx/miniconda3/envs/pyir/lib/libhdf5.so;/usr/lib64/librt.so;/usr/lib64/libpthread.so;/home/lee8rx/miniconda3/envs/pyir/lib/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so")

When building RTK, I get errors related to these libraries not being found because they are in /usr/lib/x86_64-linux-gnu/ rather than /usr/lib64/ on Ubuntu 14.04.

A workaround seems to be to replace all explicit links such as /usr/lib64/libpthread.so with just the name pthread, etc. I suppose this could be done manually within build.sh using sed or a similar tool, or is there perhaps a better solution?

The same thing happens with VTK as reported here: conda-forge/vtk-feedstock#8
and in Continuum's packages as well: ContinuumIO/anaconda-issues#1338

Reason for restricting hdf5 version

Hey there,

is there any reason for restricting the hdf5 version to 1.8.18.*?
I tried building it against 1.10 and it seems to work.

Cheers and thanks for maintaining the recipe

Hardcoded path to non-existent libz library in ITKZLIB.cmake

We found this on OSX with current conda. The cmake file refers to
/Users/travis/miniconda3/conda-bld/libitk_1546796752855/_build_env/lib/libz.dylib
and therefore all other ITK libraries depend on this file.

Here's an example of a Travis log for our build [https://api.travis-ci.org/v3/job/480922636/log.txt], which seems to say it's using conda-4.5.12 and 4.13.0-hab14342_1001. Not that the log file is somewhat misleading as there /Users/travis/miniconda3/ does exist (while when building on local machine it doesn't of course).

More details are on SyneRBI/SIRF#295

Complete renaming of package

The README need to be update to properly link to the libitk packages.

The old "itk" packages need to be marked as broken.

Rename to libitk

Since this package just provides the C++ headers / libraries, it could be renamed to libitk, which would be consistent libxml2, libdap4, libiconv, libtiff, etc., and would facilitate installation of the Python bindings package with conda install itk.

Add selected ITK remote modules

I have a package (convert3d) which requires one of the ITK remote modules (MorphologicalContourInterpolation).

Could we provide it through this recipe or should it be maintained in its own?

What do you reckon?

how to avoid version conflicts in feedstocks that depend on libitk?

Comment:

Our STIR feedstock uses libitk in our recipe as follows:

requirements:
  build:
    - {{ compiler('c') }}
    - {{ compiler('cxx') }}
    - cmake
    - ninja
  host:
    - libitk-devel
    - libitk <5.2  # [win]
    - libitk  # [not win]
  run:
    - {{ pin_compatible('libitk', min_pin='x.x', max_pin='x.x') }}

(cutting out non-ITK stuff). The pin_compatible line was put in by @carterbox in an attempt to fix the problem that the tests or actual downloaded package uses a different version of ITK than what was used to build, resulting in shared-libraries not found, but it is still happening, see
conda-forge/stir-feedstock#34

Any suggestions how we should fix this properly?

On Windows the itkdevel package contains build paths.

Issue:
On Windows the itkdevel package contains build paths.

grep -r libitk_[0-9]\* Library/lib/cmake/
Library/lib/cmake//ITK-5.0/Modules/ITKPNG.cmake:set(ITKPNG_LIBRARIES "D:/bld/libitk_1574524116751/_h_env/Library/lib/libpng.lib;D:/bld/libitk_1574524116751/_h_env/Library/lib/z.lib")
Library/lib/cmake//ITK-5.0/Modules/ITKPNG.cmake:set(ITKPNG_INCLUDE_DIRS "${ITK_INSTALL_PREFIX}/include/ITK-5.0;D:/bld/libitk_1574524116751/_h_env/Library/include;D:/bld/libitk_1574524116751/_h_env/Library/include;D:/bld/libitk_1574524116751/_h_env/Library/include;D:/bld/libitk_1574524116751/_h_env/Library/include")
Library/lib/cmake//ITK-5.0/Modules/ITKTIFF.cmake:set(ITKTIFF_LIBRARIES "D:/bld/libitk_1574524116751/_h_env/Library/lib/tiff.lib")
Library/lib/cmake//ITK-5.0/Modules/ITKTIFF.cmake:set(ITKTIFF_INCLUDE_DIRS "${ITK_INSTALL_PREFIX}/include/ITK-5.0;D:/bld/libitk_1574524116751/_h_env/Library/include")
Library/lib/cmake//ITK-5.0/Modules/ITKJPEG.cmake:set(ITKJPEG_LIBRARIES "D:/bld/libitk_1574524116751/_h_env/Library/lib/jpeg.lib")
Library/lib/cmake//ITK-5.0/Modules/ITKJPEG.cmake:set(ITKJPEG_INCLUDE_DIRS "${ITK_INSTALL_PREFIX}/include/ITK-5.0;D:/bld/libitk_1574524116751/_h_env/Library/include")

Use GDCM library

Please see: conda-forge/gdcm-feedstock#3

The current gdcm package does not contain header files it only contains libraries and python wrapping. Additionally it also has a runtime python dependency. As we don't want to introduce a python dependency for this ITK package, it may be best to create a separate libgdcm package.

gdcmSerieHelper.h: No such file or directory

Issue:
Using this package on ubuntu 18.04 leads to the following error

In file included from /home/sirfuser/devel/STIR/src/IO/ITKImageInputFileFormat.cxx:41:0:
/home/sirfuser/miniconda3/include/ITK-5.0/itkGDCMSeriesFileNames.h:25:10: fatal error: gdcmSerieHelper.h: No such file or directory
 #include "gdcmSerieHelper.h"
          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

My understanding is that this is because I have no system GDCM, and this package does not depend on gdcm, see #1.

sudo apt install libgdcm2-dev

did not help even (just like here) though this installs /usr/include/gdcm-2.8/gdcmSerieHelper.h, which might be an ITK issue?


Environment (conda list):
``` $ conda list # packages in environment at /home/sirfuser/miniconda3: # # Name Version Build Channel _libgcc_mutex 0.1 main asn1crypto 1.2.0 py37_0 beautifulsoup4 4.8.1 py37_0 blinker 1.4 py37_0 bzip2 1.0.8 h7b6447c_0 ca-certificates 2019.11.28 hecc5488_0 conda-forge certifi 2019.11.28 py37_0 conda-forge cffi 1.13.2 py37h2e261b9_0 chardet 3.0.4 py37_1003 conda 4.8.0 py37_0 conda-forge conda-build 3.18.11 py37_0 conda-forge conda-forge-pinning 2019.12.02 0 conda-forge conda-package-handling 1.6.0 py37h7b6447c_0 conda-smithy 3.6.3 py_0 conda-forge cryptography 2.8 py37h1ba5d50_0 deprecated 1.2.6 py_0 expat 2.2.6 he6710b0_0 fftw 3.3.8 nompi_h7f3a6c3_1110 conda-forge filelock 3.0.12 py_0 git 2.23.0 pl526hacde149_0 gitdb2 2.0.6 py_0 gitpython 3.0.5 py_0 glob2 0.7 py_0 hdf5 1.10.5 nompi_h3c11f04_1104 conda-forge idna 2.8 py37_0 isodate 0.6.0 py_1 jinja2 2.10.3 py_0 jpeg 9c h14c3975_1001 conda-forge krb5 1.16.1 h173b8e3_7 libarchive 3.3.3 h5d8350f_5 libcurl 7.67.0 h20c2e04_0 libedit 3.1.20181209 hc058e9b_0 libffi 3.2.1 hd88cf55_4 libgcc-ng 9.1.0 hdf63c60_0 libgfortran-ng 7.3.0 hdf63c60_2 conda-forge libitk 5.0.1 h2b26915_1 conda-forge libitk-devel 5.0.1 he1b5a44_1 conda-forge liblief 0.9.0 h7725739_2 libpng 1.6.37 hed695b0_0 conda-forge libssh2 1.8.2 h1ba5d50_0 libstdcxx-ng 9.1.0 hdf63c60_0 libtiff 4.1.0 h2733197_0 libxml2 2.9.9 hea5a465_1 lz4-c 1.8.1.2 h14c3975_0 lzo 2.10 h49e0be7_2 markupsafe 1.1.1 py37h7b6447c_0 msrest 0.6.10 py_0 conda-forge ncurses 6.1 he6710b0_1 oauthlib 3.1.0 py_0 openssl 1.1.1d h516909a_0 conda-forge patchelf 0.10 he6710b0_0 pcre 8.43 he6710b0_0 perl 5.26.2 h14c3975_0 pip 19.3.1 py37_0 pkginfo 1.5.0.1 py37_0 psutil 5.6.7 py37h7b6447c_0 py-lief 0.9.0 py37h7725739_2 pycosat 0.6.3 py37h14c3975_0 pycparser 2.19 py37_0 pycrypto 2.6.1 py37h14c3975_9 pygithub 1.43.6 py37_0 conda-forge pyjwt 1.7.1 py37_0 pyopenssl 19.1.0 py37_0 pysocks 1.7.1 py37_0 python 3.7.4 h265db76_1 python-libarchive-c 2.8 py37_13 pytz 2019.3 py_0 pyyaml 5.1.2 py37h7b6447c_0 readline 7.0 h7b6447c_5 requests 2.22.0 py37_1 requests-oauthlib 1.3.0 py_0 ripgrep 0.10.0 hc07d326_0 ruamel.yaml 0.16.5 py37h7b6447c_1 ruamel.yaml.clib 0.2.0 py37h7b6447c_0 ruamel_yaml 0.15.46 py37h14c3975_0 setuptools 42.0.2 py37_0 six 1.13.0 py37_0 smmap2 2.0.5 py37_0 soupsieve 1.9.5 py37_0 sqlite 3.30.1 h7b6447c_0 tk 8.6.8 hbc83047_0 toolz 0.10.0 py_0 tqdm 4.40.0 py_0 urllib3 1.25.7 py37_0 vsts-python-api 0.1.22 py_0 conda-forge wheel 0.33.6 py37_0 wrapt 1.11.2 py37h7b6447c_0 xz 5.2.4 h14c3975_4 yaml 0.1.7 had09818_2 zlib 1.2.11 h7b6447c_3 zstd 1.3.7 h0b5b093_0 ```

Details about conda and system ( conda info ):
$ conda info

     active environment : base
    active env location : /home/sirfuser/miniconda3
            shell level : 1
       user config file : /home/sirfuser/.condarc
 populated config files : /home/sirfuser/.condarc
          conda version : 4.8.0
    conda-build version : 3.18.11
         python version : 3.7.4.final.0
       virtual packages : __glibc=2.27
       base environment : /home/sirfuser/miniconda3  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/sirfuser/miniconda3/pkgs
                          /home/sirfuser/.conda/pkgs
       envs directories : /home/sirfuser/miniconda3/envs
                          /home/sirfuser/.conda/envs
               platform : linux-64
             user-agent : conda/4.8.0 requests/2.22.0 CPython/3.7.4 Linux/4.15.0-29-generic ubuntu/18.04.2 glibc/2.27
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.