Code Monkey home page Code Monkey logo

boost-cpp-feedstock's Introduction

About boost-cpp-feedstock

Feedstock license: BSD-3-Clause

Home: http://www.boost.org/

Package license: BSL-1.0

Summary: Free peer-reviewed portable C++ source libraries.

Current build status

Azure
VariantStatus
linux_64 variant
linux_aarch64 variant
linux_ppc64le 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

Installing boost-cpp

Installing boost-cpp 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, boost-cpp can be installed with conda:

conda install boost-cpp

or with mamba:

mamba install boost-cpp

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

conda search boost-cpp --channel conda-forge

or with mamba:

mamba search boost-cpp --channel conda-forge

Alternatively, mamba repoquery may provide more information:

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

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

# List dependencies of `boost-cpp`:
mamba repoquery depends boost-cpp --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-Cloud 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 boost-cpp-feedstock

If you would like to improve the boost-cpp 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/boost-cpp-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

boost-cpp-feedstock's People

Contributors

beckermr avatar benmwebb avatar conda-forge-admin avatar conda-forge-curator[bot] avatar github-actions[bot] avatar isuruf avatar jakirkham avatar jschueller avatar mariusvniekerk avatar ocefpaf avatar regro-cf-autotick-bot avatar scopatz avatar sdebionne avatar soapza avatar tschoonj avatar xhochy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boost-cpp-feedstock's Issues

Trouble linking against boost-cpp 1.70.0 with shared libraries of unit test framework

Issue: When using CMake, I'm unable to link against a shared library variant of the unit test framework for 1.70.0. I believe I am able to link against a shared library variant for 1.69.0. CMake also finds the static variant. CMake is using 3.15.0.

Environment (conda list):

Broken Environment (boost 1.70.0):

$ conda list
# packages in environment at /home/travis/miniconda/envs/test-environment:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
binutils                  1.0.1                         0    conda-forge
binutils_impl_linux-64    2.31.1               h6176602_1  
binutils_linux-64         2.31.1               h6176602_7  
boost                     1.70.0           py36h9de70de_1    conda-forge
boost-cpp                 1.70.0               h8e57a91_2    conda-forge
bzip2                     1.0.8                h516909a_0    conda-forge
c-compiler                1.0.1                h14c3975_0    conda-forge
ca-certificates           2019.6.16            hecc5488_0    conda-forge
certifi                   2019.6.16                py36_1    conda-forge
cmake                     3.15.0               hf94ab9c_0    conda-forge
compilers                 1.0.1                         0    conda-forge
curl                      7.65.3               hf8cf82a_0    conda-forge
cxx-compiler              1.0.1                h6bb024c_0    conda-forge
eigen                     3.2.8                         2    conda-forge
expat                     2.2.5             he1b5a44_1003    conda-forge
fftw                      3.3.8           nompi_h7f3a6c3_1106    conda-forge
fortran-compiler          1.0.1                h0e1e685_0    conda-forge
gcc_impl_linux-64         7.3.0                habb00fd_1    conda-forge
gcc_linux-64              7.3.0                h553295d_7    conda-forge
gfortran_impl_linux-64    7.3.0                hdf63c60_1  
gfortran_linux-64         7.3.0                h553295d_7  
gxx_impl_linux-64         7.3.0                hdf63c60_1    conda-forge
gxx_linux-64              7.3.0                h553295d_7    conda-forge
icu                       64.2                 he1b5a44_0    conda-forge
krb5                      1.16.3            h05b26f9_1001    conda-forge
libblas                   3.8.0               10_openblas    conda-forge
libcblas                  3.8.0               10_openblas    conda-forge
libcurl                   7.65.3               hda55be3_0    conda-forge
libedit                   3.1.20170329      hf8c457e_1001    conda-forge
libffi                    3.2.1             he1b5a44_1006    conda-forge
libgcc-ng                 9.1.0                hdf63c60_0  
libgfortran-ng            7.3.0                hdf63c60_0  
liblapack                 3.8.0               10_openblas    conda-forge
libopenblas               0.3.6                h6e990d7_5    conda-forge
libssh2                   1.8.2                h22169c7_2    conda-forge
libstdcxx-ng              9.1.0                hdf63c60_0  
libuv                     1.30.1               h516909a_0    conda-forge
ncurses                   6.1               hf484d3e_1002    conda-forge
numpy                     1.16.4           py36h95a1406_0    conda-forge
openblas                  0.3.6                h6e990d7_5    conda-forge
openssl                   1.1.1c               h516909a_0    conda-forge
pcre                      8.41              hf484d3e_1003    conda-forge
pip                       19.2.1                   py36_0    conda-forge
pybind11                  2.2.4           py36hc9558a2_1001    conda-forge
python                    3.6.7             h357f687_1005    conda-forge
readline                  8.0                  hf8c457e_0    conda-forge
rhash                     1.3.6             h14c3975_1001    conda-forge
setuptools                41.0.1                   py36_0    conda-forge
sqlite                    3.29.0               hcee41ef_0    conda-forge
swig                      4.0.0                he1b5a44_0    conda-forge
tk                        8.6.9             hed695b0_1002    conda-forge
wheel                     0.33.4                   py36_0    conda-forge
xz                        5.2.4             h14c3975_1001    conda-forge
zlib                      1.2.11            h516909a_1005    conda-forge

CMake Output w.r.t. unit_test_framework with this environment:

-- Found Boost 1.70.0 at /home/travis/miniconda/envs/test-environment/lib/cmake/Boost-1.70.0
--   Requested configuration: QUIET REQUIRED COMPONENTS unit_test_framework
-- Found boost_headers 1.70.0 at /home/travis/miniconda/envs/test-environment/lib/cmake/boost_headers-1.70.0
-- Found boost_unit_test_framework 1.70.0 at /home/travis/miniconda/envs/test-environment/lib/cmake/boost_unit_test_framework-1.70.0
--   libboost_unit_test_framework.a
-- Adding boost_unit_test_framework dependencies: headers

Working Environment:

$ conda list
# packages in environment at /home/travis/miniconda/envs/test-environment:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
binutils                  1.0.1                         0    conda-forge
binutils_impl_linux-64    2.31.1               h6176602_1  
binutils_linux-64         2.31.1               h6176602_7  
boost                     1.69.0          py37h8619c78_1001    conda-forge
boost-cpp                 1.69.0            ha2d47e9_1001    conda-forge
bzip2                     1.0.8                h516909a_0    conda-forge
c-compiler                1.0.1                h14c3975_0    conda-forge
ca-certificates           2019.6.16            hecc5488_0    conda-forge
certifi                   2019.6.16                py37_1    conda-forge
cmake                     3.15.0               hf94ab9c_0    conda-forge
compilers                 1.0.1                         0    conda-forge
curl                      7.65.3               hf8cf82a_0    conda-forge
cxx-compiler              1.0.1                h6bb024c_0    conda-forge
eigen                     3.2.8                         2    conda-forge
expat                     2.2.5             he1b5a44_1003    conda-forge
fftw                      3.3.8           nompi_h7f3a6c3_1106    conda-forge
fortran-compiler          1.0.1                h0e1e685_0    conda-forge
gcc_impl_linux-64         7.3.0                habb00fd_1    conda-forge
gcc_linux-64              7.3.0                h553295d_7    conda-forge
gfortran_impl_linux-64    7.3.0                hdf63c60_1  
gfortran_linux-64         7.3.0                h553295d_7  
gxx_impl_linux-64         7.3.0                hdf63c60_1    conda-forge
gxx_linux-64              7.3.0                h553295d_7    conda-forge
icu                       58.2              hf484d3e_1000    conda-forge
krb5                      1.16.3            h05b26f9_1001    conda-forge
libblas                   3.8.0               10_openblas    conda-forge
libcblas                  3.8.0               10_openblas    conda-forge
libcurl                   7.65.3               hda55be3_0    conda-forge
libedit                   3.1.20170329      hf8c457e_1001    conda-forge
libffi                    3.2.1             he1b5a44_1006    conda-forge
libgcc-ng                 9.1.0                hdf63c60_0  
libgfortran-ng            7.3.0                hdf63c60_0  
liblapack                 3.8.0               10_openblas    conda-forge
libopenblas               0.3.6                h6e990d7_5    conda-forge
libssh2                   1.8.2                h22169c7_2    conda-forge
libstdcxx-ng              9.1.0                hdf63c60_0  
libuv                     1.30.1               h516909a_0    conda-forge
ncurses                   6.1               hf484d3e_1002    conda-forge
numpy                     1.16.4           py37h95a1406_0    conda-forge
openblas                  0.3.6                h6e990d7_5    conda-forge
openssl                   1.1.1c               h516909a_0    conda-forge
pcre                      8.41              hf484d3e_1003    conda-forge
pip                       19.2.1                   py37_0    conda-forge
pybind11                  2.2.4           py37hc9558a2_1001    conda-forge
python                    3.7.3                h33d41f4_1    conda-forge
readline                  8.0                  hf8c457e_0    conda-forge
rhash                     1.3.6             h14c3975_1001    conda-forge
setuptools                41.0.1                   py37_0    conda-forge
sqlite                    3.29.0               hcee41ef_0    conda-forge
swig                      4.0.0                he1b5a44_0    conda-forge
tk                        8.6.9             hed695b0_1002    conda-forge
wheel                     0.33.4                   py37_0    conda-forge
xz                        5.2.4             h14c3975_1001    conda-forge
zlib                      1.2.11            h516909a_1005    conda-forge

CMake Output w.r.t. unit_test_framework with this environment:

-- Found Boost: /home/travis/miniconda/envs/test-environment/include (found version "1.69.0") found components:  unit_test_framework 

Details about conda and system ( conda info ):
Details not taken.

Incompatibility between boost 1.78.0 and libcxx 16

Comment:

boost 1.78.0 is not compatible with libcxx 16 that was recently released in conda-forge (conda-forge/libcxx-feedstock#113). A fix was released in boost 1.81 (boostorg/config#440), but boost 1.78.0 is the version pinned in conda-forge. I tought backporting the fix in 1.78.0, but from #130 it seems that due to ABI breakage we cannot backport stuff to 1.78.0 .

fyi @conda-forge/boost-cpp

Related issues:

Link error : undefined reference to `boost::program_options::options_description::options_description(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)'

Issue: Link error : undefined reference to `boost::program_options::options_description::options_description(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned int, unsigned int)'

I tried to compile example from https://www.boost.org/doc/libs/1_66_0/doc/html/program_options/tutorial.html#id-1.3.31.4.3 but I cannot deal why there is this link error.
It works fine if I install boost without conda. cf. attached files
boost_po.tar.gz


Environment (conda list):
$ conda list
# packages in environment at /builds/miniconda3/envs/boost-cpp-program-options:
#
# Name                    Version                   Build  Channel
boost-cpp                 1.65.0                        0    conda-forge
bzip2                     1.0.6             h14c3975_1002    conda-forge
ca-certificates           2018.11.29           ha4d7672_0    conda-forge
certifi                   2018.11.29            py36_1000    conda-forge
cloog                     0.18.0                        0  
cmake                     3.13.4               h8d4ced6_0    conda-forge
curl                      7.62.0               hbc83047_0  
expat                     2.2.5             hf484d3e_1002    conda-forge
gmp                       6.1.2             hf484d3e_1000    conda-forge
icu                       58.2              hf484d3e_1000    conda-forge
isl                       0.12.2                        0  
libcurl                   7.62.0               h20c2e04_0  
libffi                    3.2.1             hf484d3e_1005    conda-forge
libgcc-ng                 7.3.0                hdf63c60_0    conda-forge
libssh2                   1.8.0                         1    conda-forge
libstdcxx-ng              7.3.0                hdf63c60_0    conda-forge
libuv                     1.26.0               h14c3975_0    conda-forge
mpc                       1.1.0                         4    conda-forge
mpfr                      3.1.5                         0    conda-forge
ncurses                   6.1               hf484d3e_1002    conda-forge
openssl                   1.1.1a            h14c3975_1000    conda-forge
pip                       19.0.3                   py36_0    conda-forge
python                    3.6.8                h0371630_0  
readline                  7.0               hf8c457e_1001    conda-forge
rhash                     1.3.6             h14c3975_1001    conda-forge
setuptools                40.8.0                   py36_0    conda-forge
sqlite                    3.26.0            h67949de_1000    conda-forge
tk                        8.6.9             h84994c4_1000    conda-forge
wheel                     0.33.1                   py36_0    conda-forge
xz                        5.2.4             h14c3975_1001    conda-forge
zlib                      1.2.11            h14c3975_1004    conda-forge


Details about conda and system ( conda info ):
$ conda info
     active environment : boost-cpp-program-options
    active env location : /builds/miniconda3/envs/boost-cpp-program-options
            shell level : 2
       user config file : /builds/.condarc
 populated config files : /builds/.condarc
          conda version : 4.6.6
    conda-build version : 3.17.8
         python version : 3.7.1.final.0
       base environment : /builds/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/free/linux-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /builds/miniconda3/pkgs
                          /builds/.conda/pkgs
       envs directories : /builds/miniconda3/envs
                          /builds/.conda/envs
               platform : linux-64
             user-agent : conda/4.6.6 requests/2.21.0 CPython/3.7.1 Linux/4.9.5-200.fc25.x86_64 fedora/25 glibc/2.24
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

boost-cpp 1.70.0 cmake config files give the static libs, not shared

Issue: When building software with cmake that depends on boost-cpp 1.70.0, the cmake configs in $CONDA_PREFIX/lib/cmake give the static version of the boost libraries instead of the shared libraries.

This will likely break the build for various reasons, for example libboost_filesystem.a has hidden symbols in it. As soon as you try to link with a shared object file, the build will error out because hidden objects/symbols cannot be used in shared object builds.

Setting the cmake variable Boost_USE_STATIC_LIBS to "OFF" causes cmake to error out because it can't find libboost_system.so.

If you instead move the cmake config files away, then FindBoost.cmake can conclude and works properly.

For example:

$ mkdir /tmp/hold-cmake-config
$ mv $CONDA_PREFIX/lib/cmake/?oost* /tmp/hold-cmake-config/

Now cmake and FindBoost.cmake can do their thing and the build finishes.

Boost-cpp 1.70 conflicts with blas from conda-forge

@jschueller @msarahan @xhochy
Issue:
When I try to update environment containing boost-cpp=1.70.0 with conda update --all it resolves like this:

## Package Plan ##
The following packages will be SUPERSEDED by a higher-priority channel:

  blas                                            pkgs/main --> conda-forge

The following packages will be DOWNGRADED:

  boost-cpp                               1.70.0-h6a4c333_0 --> 1.69.0-h6a4c333_
1000

I found out this issue while trying to update to pyarrow=0.14.0
conda-forge/pyarrow-feedstock#81


Environment (conda list):

# packages in environment at C:\Users\user\AppData\Local\Continuum\miniconda3\envs\cyclone:
#
# Name                    Version                   Build  Channel
_py-xgboost-mutex         2.0                       cpu_0
asn1crypto                0.24.0                py37_1003    conda-forge
atomicwrites              1.3.0                      py_0    conda-forge
attrs                     19.1.0                     py_0    conda-forge
backcall                  0.1.0                      py_0    conda-forge
blas                      1.0                         mkl
bleach                    3.1.0                      py_0    conda-forge
bokeh                     1.2.0                    py37_0    conda-forge
boost-cpp                 1.70.0               h6a4c333_0    conda-forge
boto                      2.49.0                     py_0    conda-forge
boto3                     1.9.185                    py_0    conda-forge
botocore                  1.12.185                   py_0    conda-forge
brotli                    1.0.7             he025d50_1000    conda-forge
bz2file                   0.98                       py_0    conda-forge
c-ares                    1.15.0            h2fa13f4_1001    conda-forge
ca-certificates           2019.6.16            hecc5488_0    conda-forge
catboost                  0.15.2                   py37_0    conda-forge
certifi                   2019.6.16                py37_0    conda-forge
cffi                      1.12.3           py37hb32ad35_0    conda-forge
chardet                   3.0.4                 py37_1003    conda-forge
click                     7.0                        py_0    conda-forge
cloudpickle               1.2.1                      py_0    conda-forge
colorama                  0.4.1                      py_0    conda-forge
cryptography              2.7              py37hb32ad35_0    conda-forge
cx_oracle                 7.2.0            py37h2fa13f4_0    conda-forge
cycler                    0.10.0                     py_1    conda-forge
cytoolz                   0.9.0.1         py37hfa6e2cd_1001    conda-forge
dask                      2.1.0                      py_0    conda-forge
dask-core                 2.1.0                      py_0    conda-forge
decorator                 4.4.0                      py_0    conda-forge
defusedxml                0.5.0                      py_1    conda-forge
distributed               2.1.0                      py_0    conda-forge
docutils                  0.14                  py37_1001    conda-forge
double-conversion         3.1.5                h6538335_1    conda-forge
entrypoints               0.3                   py37_1000    conda-forge
fastparquet               0.3.1            py37hfa6e2cd_1    conda-forge
featuretools              0.9.1                      py_0    conda-forge
freetype                  2.10.0               h5db478b_0    conda-forge
funcsigs                  1.0.2                      py_3    conda-forge
future                    0.17.1                py37_1000    conda-forge
gflags                    2.2.2             he025d50_1001    conda-forge
glog                      0.4.0                he025d50_1    conda-forge
graphviz                  2.38.0            h6538335_1011    conda-forge
grpc-cpp                  1.22.0               h4d7d3fa_0    conda-forge
heapdict                  1.0.0                 py37_1000    conda-forge
hyperopt                  0.1.2                      py_0    conda-forge
icc_rt                    2019.0.0             h0cc432a_1
icu                       58.1                     vc14_0    conda-forge
idna                      2.8                   py37_1000    conda-forge
imageio                   2.5.0                    py37_0    conda-forge
importlib_metadata        0.18                     py37_0    conda-forge
intel-openmp              2019.4                      245
ipykernel                 5.1.1            py37h39e3cac_0    conda-forge
ipython                   7.6.1            py37h5ca1d4c_0    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
jedi                      0.14.0                   py37_0    conda-forge
jinja2                    2.10.1                     py_0    conda-forge
jmespath                  0.9.4                      py_0    conda-forge
joblib                    0.13.2                     py_0    conda-forge
jpeg                      9c                hfa6e2cd_1001    conda-forge
json5                     0.8.5                      py_0    conda-forge
jsonschema                3.0.1                    py37_0    conda-forge
jupyter_client            5.3.1                      py_0    conda-forge
jupyter_core              4.4.0                      py_0    conda-forge
jupyterlab                1.0.2                    py37_0    conda-forge
jupyterlab_server         1.0.0                      py_1    conda-forge
kiwisolver                1.1.0            py37he980bc4_0    conda-forge
libblas                   3.8.0                     8_mkl    conda-forge
libcblas                  3.8.0                     8_mkl    conda-forge
libpng                    1.6.37               h7602738_0    conda-forge
libprotobuf               3.8.0                h1a1b453_0    conda-forge
libsodium                 1.0.16            h2fa13f4_1001    conda-forge
libtiff                   4.0.10            h6512ee2_1003    conda-forge
libxgboost                0.90                          0
llvmlite                  0.29.0           py37hed17590_1    conda-forge
locket                    0.2.0                      py_2    conda-forge
lz4-c                     1.8.3             he025d50_1001    conda-forge
m2w64-gcc-libgfortran     5.3.0                         6
m2w64-gcc-libs            5.3.0                         7
m2w64-gcc-libs-core       5.3.0                         7
m2w64-gmp                 6.1.0                         2
m2w64-libwinpthread-git   5.0.0.4634.697f757               2
markupsafe                1.1.1            py37hfa6e2cd_0    conda-forge
matplotlib                3.1.1                    py37_0    conda-forge
matplotlib-base           3.1.1            py37h2852a4a_0    conda-forge
mistune                   0.8.4           py37hfa6e2cd_1000    conda-forge
mkl                       2019.4                      245
mkl_fft                   1.0.13           py37hfa6e2cd_1    conda-forge
mkl_random                1.0.4            py37h830ac7b_0    conda-forge
more-itertools            7.1.0                      py_0    conda-forge
msgpack-python            0.6.1            py37he980bc4_0    conda-forge
msys2-conda-epoch         20160418                      1
nbconvert                 5.5.0                      py_0    conda-forge
nbformat                  4.4.0                      py_1    conda-forge
networkx                  2.3                        py_0    conda-forge
notebook                  5.7.8                    py37_1    conda-forge
numba                     0.44.1           py37hf9181ef_0
numpy                     1.16.4           py37h19fb1c0_0
numpy-base                1.16.4           py37hc3f5095_0
olefile                   0.46                       py_0    conda-forge
openssl                   1.1.1b               hfa6e2cd_2    conda-forge
packaging                 19.0                       py_0    conda-forge
pandas                    0.24.2           py37he350917_0    conda-forge
pandoc                    2.7.3                         0    conda-forge
pandocfilters             1.4.2                      py_1    conda-forge
parso                     0.5.0                      py_0    conda-forge
partd                     1.0.0                      py_0    conda-forge
patsy                     0.5.1                      py_0    conda-forge
pickleshare               0.7.5                 py37_1000    conda-forge
pillow                    6.1.0            py37h9a613e6_0    conda-forge
pip                       19.1.1                   py37_0    conda-forge
pluggy                    0.12.0                     py_0    conda-forge
prometheus_client         0.7.1                      py_0    conda-forge
prompt_toolkit            2.0.9                      py_0    conda-forge
psutil                    5.6.3            py37hfa6e2cd_0    conda-forge
py                        1.8.0                      py_0    conda-forge
py-xgboost                0.90                     py37_0
pycparser                 2.19                     py37_1    conda-forge
pygments                  2.4.2                      py_0    conda-forge
pymongo                   3.8.0            py37h6538335_0    conda-forge
pyodbc                    4.0.26           py37h6538335_0    conda-forge
pyopenssl                 19.0.0                   py37_0    conda-forge
pyparsing                 2.4.0                      py_0    conda-forge
pyqt                      5.9.2            py37h6538335_0    conda-forge
pyrsistent                0.15.3           py37hfa6e2cd_0    conda-forge
pysocks                   1.7.0                    py37_0    conda-forge
pytest                    5.0.1                    py37_0    conda-forge
python                    3.7.3                h510b542_1    conda-forge
python-dateutil           2.8.0                      py_0    conda-forge
python-graphviz           0.11.1                     py_0    conda-forge
python-snappy             0.5.4            py37hd25c944_0    conda-forge
pytz                      2019.1                     py_0    conda-forge
pywavelets                1.0.3            py37h452e1ab_1    conda-forge
pywin32                   224             py37hfa6e2cd_1000    conda-forge
pywinpty                  0.5.5                 py37_1000    conda-forge
pyyaml                    5.1.1            py37hfa6e2cd_0    conda-forge
pyzmq                     18.0.2           py37he7828b0_0    conda-forge
qt                        5.9.7                hc6833c9_1    conda-forge
re2                       2019.07.01       vc14h6538335_0  [vc14]  conda-forge
requests                  2.22.0                   py37_0    conda-forge
s3fs                      0.2.2                      py_0    conda-forge
s3transfer                0.2.1                    py37_0    conda-forge
scikit-image              0.15.0           py37he350917_2    conda-forge
scikit-learn              0.21.2           py37h7208079_1    conda-forge
scipy                     1.2.1            py37h29ff71c_0
seaborn                   0.9.0                      py_1    conda-forge
send2trash                1.5.0                      py_0    conda-forge
setuptools                41.0.1                   py37_0    conda-forge
shap                      0.29.3           py37he350917_0    conda-forge
sip                       4.19.8          py37h6538335_1000    conda-forge
six                       1.12.0                py37_1000    conda-forge
smart_open                1.8.4                      py_0    conda-forge
snappy                    1.1.7             h6538335_1002    conda-forge
sortedcontainers          2.1.0                      py_0    conda-forge
sqlalchemy                1.3.5            py37hfa6e2cd_0    conda-forge
sqlite                    3.28.0               hfa6e2cd_1    conda-forge
statsmodels               0.10.0           py37hfa6e2cd_0    conda-forge
tblib                     1.4.0                      py_0    conda-forge
terminado                 0.8.2                    py37_0    conda-forge
testpath                  0.4.2                   py_1001    conda-forge
thrift                    0.11.0          py37h6538335_1001    conda-forge
tk                        8.6.9             hfa6e2cd_1002    conda-forge
toolz                     0.9.0                      py_1    conda-forge
tornado                   6.0.3            py37hfa6e2cd_0    conda-forge
tqdm                      4.32.2                     py_0    conda-forge
traitlets                 4.3.2                 py37_1000    conda-forge
uriparser                 0.9.3                he025d50_1    conda-forge
urllib3                   1.24.3                   py37_0    conda-forge
vc                        14.1                 h0510ff6_4
vs2015_runtime            14.15.26706          h3a45250_4
wcwidth                   0.1.7                      py_1    conda-forge
webencodings              0.5.1                      py_1    conda-forge
wheel                     0.33.4                   py37_0    conda-forge
win_inet_pton             1.1.0                    py37_0    conda-forge
wincertstore              0.2                   py37_1002    conda-forge
winpty                    0.4.3                         4    conda-forge
xlrd                      1.2.0                      py_0    conda-forge
xlsxwriter                1.1.8                      py_0    conda-forge
xlwt                      1.3.0                      py_1    conda-forge
xz                        5.2.4             h2fa13f4_1001    conda-forge
yaml                      0.1.7             hfa6e2cd_1001    conda-forge
zeromq                    4.3.1             he025d50_1000    conda-forge
zict                      1.0.0                      py_0    conda-forge
zipp                      0.5.1                      py_0    conda-forge
zlib                      1.2.11            h2fa13f4_1004    conda-forge
zstd                      1.4.0                hd8a0e53_0    conda-forge

Details about conda and system ( conda info ):
     active environment : cyclone
    active env location : C:\Users\user\AppData\Local\Continuum\miniconda3\envs\cyclone
            shell level : 2
       user config file : C:\Users\user\.condarc
 populated config files : C:\Users\user\.condarc
          conda version : 4.6.14
    conda-build version : not installed
         python version : 3.7.3.final.0
       base environment : C:\Users\user\AppData\Local\Continuum\miniconda3
 (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/win-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Users\user\AppData\Local\Continuum\miniconda3\pkgs
                          C:\Users\user\.conda\pkgs
                          C:\Users\user\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\user\AppData\Local\Continuum\miniconda3\envs
                          C:\Users\user\.conda\envs
                          C:\Users\user\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.6.14 requests/2.22.0 CPython/3.7.3 Windows/7 Windows/6.1.7601
          administrator : False
             netrc file : None
           offline mode : False

Symbols' exposure in Windows' shared library as distributed by boost-cpp

Comment:

Hello,

First, thank you for maintaining this feedstock and distributing this major dependency! ๐Ÿค

I am proposing updating folly's feedstock to package a shared library for Windows with conda-forge/folly-feedstock#115.

I am currently meeting this error when folly's DLL is being linked against boost (backed here by boost-cpp):

[300/307] Linking CXX shared library folly.dll
FAILED: folly.dll folly.lib 
cmd.exe /C "cmd.exe /C "%BUILD_PREFIX%\Library\bin\cmake.exe -E __create_def %SRC_DIR%\CMakeFiles\folly.dir\.\exports.def %SRC_DIR%\CMakeFiles\folly.dir\.\exports.def.objs && cd %SRC_DIR%" && %BUILD_PREFIX%\Library\bin\cmake.exe -E vs_link_dll --intdir=CMakeFiles\folly.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\HostX64\x64\link.exe /nologo @CMakeFiles\folly.rsp  /out:folly.dll /implib:folly.lib /pdb:folly.pdb /dll /version:0.58 /machine:x64 /debug /INCREMENTAL  /DEF:CMakeFiles\folly.dir\.\exports.def  && cd ."
LINK Pass 1: command "C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\HostX64\x64\link.exe /nologo @CMakeFiles\folly.rsp /out:folly.dll /implib:folly.lib /pdb:folly.pdb /dll /version:0.58 /machine:x64 /debug /INCREMENTAL /DEF:CMakeFiles\folly.dir\.\exports.def /MANIFEST /MANIFESTFILE:CMakeFiles\folly.dir/intermediate.manifest CMakeFiles\folly.dir/manifest.res" failed (exit code 1120) with the following output:
   Creating library folly.lib and object folly.exp
NestedCommandLineApp.cpp.obj : error LNK2001: unresolved external symbol "public: static unsigned int const boost::program_options::options_description::m_default_line_length" (?m_default_line_length@options_description@program_options@boost@@2IB)

ProgramOptions.cpp.obj : error LNK2001: unresolved external symbol "public: static unsigned int const boost::program_options::options_description::m_default_line_length" (?m_default_line_length@options_description@program_options@boost@@2IB)

I guess those symbol need to be exposed (since they are qualified as public).

What do you think? Must these symbols be exposed? If so, are there some options to set for the bootstrapping scripts or some patches to apply to boost on this feedstock?

Thank you for your help!

Boost headers missing from $CONDA_PREFIX/include/boost

Issue: non-Python headers are missing from $CONDA_PREFIX/include/boost

conda install libboost boost-cpp boost --yes
ls -F $CONDA_PREFIX/include/boost
python/  python.hpp

Environment (conda list):
$ conda list
# packages in environment at /opt/app/data/home_extenstion/gregory-werbin/projects/tts-classification/conda-env:
#
# Name                    Version                   Build  Channel
_py-xgboost-mutex         2.0                       cpu_0  
_r-mutex                  1.0.0                     mro_2  
absl-py                   0.5.0                      py_0    conda-forge
appdirs                   1.4.3                     <pip>
arrow-cpp                 0.11.0           py36h5c3f529_0  
asn1crypto                0.24.0                   py36_0  
astor                     0.7.1                      py_0    conda-forge
atomicwrites              1.2.1                      py_0    conda-forge
attrs                     18.2.0                     py_0    conda-forge
backcall                  0.1.0                    py36_0  
bidict                    0.17.3                     py_0    conda-forge
binutils                  2.31                          0    conda-forge
binutils_impl_linux-64    2.31.1               h6176602_1  
binutils_linux-64         2.31.1               h6176602_3  
blas                      1.0                         mkl  
bleach                    3.0.2                      py_0    conda-forge
bokeh                     0.13.0                py36_1000    conda-forge
boltons                   18.0.1                     py_0    conda-forge
boost                     1.67.0                   py36_4  
boost-cpp                 1.67.0               h14c3975_4  
boto                      2.49.0                   py36_0  
boto3                     1.9.21                   py36_0  
botocore                  1.12.23                  py36_0  
bwidget                   1.9.11                        1  
bz2file                   0.98                      <pip>
bzip2                     1.0.6                h14c3975_5  
c-ares                    1.14.0               h470a237_0    conda-forge
ca-certificates           2018.03.07                    0  
cairo                     1.14.12              h8948797_3  
category_encoders         1.3.0                      py_0    conda-forge
certifi                   2018.10.15               py36_0  
cffi                      1.11.5           py36he75722e_1  
chardet                   3.0.4                    py36_1  
click                     7.0                        py_0    conda-forge
cloog                     0.18.0                        0  
cloudpickle               0.6.1                      py_0    conda-forge
ConfigArgParse            0.13.0                    <pip>
configparser              3.5.0                 py36_1001    conda-forge
cryptography              2.3.1            py36hc365091_0  
curl                      7.61.0               h84994c4_0  
cycler                    0.10.0                   py36_0  
cymem                     1.31.2                   py36_0    conda-forge
cython                    0.29             py36hfc679d8_0    conda-forge
cytoolz                   0.9.0.1          py36h14c3975_1  
dask                      0.19.4                     py_0    conda-forge
dask-core                 0.19.4                     py_0    conda-forge
dask-distance             0.2.0                      py_0    conda-forge
dask-glm                  0.2.0                    py36_0  
dask-ml                   0.11.0                   py36_0  
dask-searchcv             0.2.0                    py36_0  
dask-tensorflow           0.0.2                      py_0    conda-forge
dask-xgboost              0.1.5                      py_0    conda-forge
databricks-api            0.1.0            py36h5ab1744_0    chubb-gregory_werbin
databricks-cli            0.8.2            py36h8a97ec0_0    chubb-gregory_werbin
databricks-utils          0.0.7            py36he9fa4dc_0    chubb-gregory_werbin
datrie                    0.7.1                     <pip>
dbus                      1.13.2               h714fa37_1  
decorator                 4.3.0                    py36_0  
dill                      0.2.8.2                  py36_0  
distributed               1.23.3                py36_1000    conda-forge
docutils                  0.14                     py36_0  
en-core-web-lg            2.0.0                     <pip>
entrypoints               0.2.3                 py36_1002    conda-forge
expat                     2.2.5                hfc679d8_2    conda-forge
face                      0.1.0                      py_0    gwerbin
fancycompleter            0.8                   py36_1000    conda-forge
fastcluster               1.1.25           py36hf8a1672_0    conda-forge
fastparquet               0.1.6                    py36_0    conda-forge
fontconfig                2.13.0               h9420a91_0  
freetype                  2.9.1                h8a8886c_1  
fribidi                   1.0.5                h7b6447c_0  
frozendict                1.2                      py36_0    conda-forge
future                    0.16.0                py36_1002    conda-forge
gast                      0.2.0                      py_0    conda-forge
gcc                       4.8.5                         7  
gcc_impl_linux-64         7.3.0                habb00fd_1  
gcc_linux-64              7.3.0                h553295d_3  
gensim                    3.6.0                     <pip>
gettext                   0.19.8.1             h5e8e0c9_1    conda-forge
gflags                    2.2.1                hf484d3e_0  
gfortran_impl_linux-64    7.3.0                hdf63c60_1  
gfortran_linux-64         7.3.0                h553295d_3  
gitdb2                    2.0.5                     <pip>
GitPython                 2.1.11                    <pip>
glib                      2.56.2               h464dc38_0    conda-forge
glmnet                    2.0.0                    py36_2    conda-forge
glog                      0.3.5                hf484d3e_1  
glom                      18.3.1                     py_0    gwerbin
gmp                       6.1.2                hfc679d8_0    conda-forge
graphite2                 1.3.12               hfc679d8_1    conda-forge
graphviz                  2.38.0               h08bfae6_9    conda-forge
grpcio                    1.12.1           py36hdbcaa40_0  
gsl                       2.2.1                h0c605f7_3  
gst-plugins-base          1.14.0               hbbd80ab_1  
gstreamer                 1.14.0               hb453b48_1  
gxx_impl_linux-64         7.3.0                hdf63c60_1  
gxx_linux-64              7.3.0                h553295d_3  
h5py                      2.8.0            py36h7eb728f_3    conda-forge
harfbuzz                  1.9.0                h04dbb29_1    conda-forge
hdf5                      1.10.2               hc401514_2    conda-forge
heapdict                  1.0.0                 py36_1000    conda-forge
hyperopt                  0.1.1                      py_0    conda-forge
icu                       58.2                 h9c2bf20_1  
idna                      2.7                      py36_0  
imbalanced-learn          0.4.2                      py_0    conda-forge
intel-openmp              2019.0                      118  
ipdb                      0.11                       py_1    conda-forge
ipykernel                 5.1.0            py36h39e3cac_0  
ipython                   7.0.1            py36h39e3cac_0  
ipython_genutils          0.2.0                    py36_0  
ipywidgets                7.4.2                      py_0    conda-forge
isl                       0.12.2                        0  
jedi                      0.13.1                   py36_0  
jinja2                    2.10                       py_1    conda-forge
jmespath                  0.9.3                    py36_0  
joblib                    0.12.5                     py_0    conda-forge
jpeg                      9c                   h470a237_1    conda-forge
jq                        1.5                           4    conda-forge
jq                        0.1.6                     <pip>
jsonschema                2.6.0                     <pip>
jsonschema                2.6.0                 py36_1002    conda-forge
jupyter_client            5.2.3                    py36_0  
jupyter_core              4.4.0                    py36_0  
keras                     2.2.4                    py36_0    conda-forge
keras-applications        1.0.4                      py_1    conda-forge
keras-preprocessing       1.0.2                      py_1    conda-forge
kiwisolver                1.0.1            py36hf484d3e_0  
krb5                      1.14.6                        0    conda-forge
libboost                  1.67.0               h46d08c1_4  
libcurl                   7.61.0               h1ad7b7a_0  
libedit                   3.1.20170329         h6b74fdf_2  
libevent                  2.1.8                h93c0eb6_0  
libffi                    3.2.1                hd88cf55_4  
libgcc                    7.2.0                h69d50b8_2    conda-forge
libgcc-ng                 8.2.0                hdf63c60_1  
libgfortran               3.0.0                         1    conda-forge
libgfortran-ng            7.3.0                hdf63c60_0  
libgpuarray               0.7.6                h470a237_3    conda-forge
libiconv                  1.15                 h470a237_3    conda-forge
libopenblas               0.3.3                h5a2b251_3  
libpng                    1.6.35               hbc83047_0  
libprotobuf               3.6.1                hd28b015_0    conda-forge
libsodium                 1.0.16               h1bed415_0  
libssh2                   1.8.0                h9cfc8f7_4  
libstdcxx-ng              8.2.0                hdf63c60_1  
libtiff                   4.0.9                he6b73bb_2    conda-forge
libtool                   2.4.6                h7b6447c_5  
libuuid                   1.0.3                h1bed415_2  
libxcb                    1.13                 h1bed415_1  
libxgboost                0.80                 hfc679d8_1    conda-forge
libxml2                   2.9.8                h26e45fe_1  
lightgbm                  2.2.1            py36hfc679d8_0    conda-forge
llvmlite                  0.25.0           py36hd28b015_1    conda-forge
locket                    0.2.0                      py_2    conda-forge
loky                      2.3.1                      py_0    conda-forge
lz4-c                     1.8.1.2              h14c3975_0  
make                      4.2.1                h1bed415_1  
mako                      1.0.7                      py_1    conda-forge
markdown                  2.6.11                     py_0    conda-forge
markupsafe                1.0              py36h470a237_1    conda-forge
matplotlib                3.0.1            py36h5429711_0  
matplotlib-base           3.0.0            py36hc039c98_2    conda-forge
mistune                   0.8.4            py36h470a237_0    conda-forge
mkl                       2019.0                      118  
mkl_fft                   1.0.6                    py36_0    conda-forge
mkl_random                1.0.1                    py36_0    conda-forge
more-itertools            4.3.0                 py36_1000    conda-forge
mpc                       1.1.0                         4    conda-forge
mpfr                      3.1.5                         0    conda-forge
msgpack-numpy             0.4.3.2                  py36_0  
msgpack-python            0.5.6            py36h6bb024c_1  
multipledispatch          0.6.0                      py_0    conda-forge
murmurhash                0.28.0           py36hfc679d8_0    conda-forge
nbconvert                 5.3.1                      py_1    conda-forge
nbformat                  4.4.0                      py_1    conda-forge
ncurses                   6.1                  hf484d3e_0  
networkx                  2.2                        py_1    conda-forge
nltk                      3.3.0                    py36_0  
notebook                  5.7.0                 py36_1000    conda-forge
numba                     0.40.0           py36hf8a1672_0    conda-forge
numpy                     1.15.3           py36h1d66e8a_0  
numpy-base                1.15.3           py36h81de0dd_0  
oniguruma                 6.8.2                h470a237_1    conda-forge
openblas                  0.3.3                ha44fe06_1    conda-forge
openssl                   1.0.2p               h14c3975_0  
optunity                  1.1.1            py36h7da2bbe_0    chubb-gregory_werbin
packaging                 18.0                       py_0    conda-forge
pandas                    0.23.4           py36h04863e7_0  
pandoc                    2.3.1                         0    conda-forge
pandocfilters             1.4.2                      py_1    conda-forge
pango                     1.40.14              he752989_2    conda-forge
parquet-cpp               1.5.1                         1    conda-forge
parso                     0.3.1                    py36_0  
partd                     0.3.9                      py_0    conda-forge
patsy                     0.5.0                    py36_0  
pcre                      8.42                 h439df22_0  
pdbpp                     0.9.1                    py36_1    conda-forge
pexpect                   4.6.0                    py36_0  
pickleshare               0.7.5                    py36_0  
pip                       18.1                      <pip>
pip                       10.0.1                   py36_0  
pixman                    0.34.0               h470a237_3    conda-forge
plac                      0.9.6                    py36_0  
pluggy                    0.8.0                      py_0    conda-forge
polo                      0.5              py36hd66caef_0    chubb-gregory_werbin
preshed                   1.0.1            py36hfc679d8_0    conda-forge
prometheus_client         0.4.2                      py_0    conda-forge
prompt_toolkit            2.0.6                    py36_0  
protobuf                  3.6.1            py36hfc679d8_1    conda-forge
psutil                    5.4.7            py36h470a237_1    conda-forge
ptyprocess                0.6.0                    py36_0  
pv                        1.6.6                h470a237_0    conda-forge
py                        1.7.0                      py_0    conda-forge
py-boost                  1.67.0           py36h04863e7_4  
py-xgboost                0.80             py36hfc679d8_1    conda-forge
pyarrow                   0.11.0           py36he6710b0_0  
pycparser                 2.19                     py36_0  
pygments                  2.2.0                    py36_0  
pygpu                     0.7.6            py36h7eb728f_0    conda-forge
pymongo                   3.7.1            py36hfc679d8_0    conda-forge
pyopenssl                 18.0.0                   py36_0  
pyparsing                 2.2.2                    py36_0  
pyqt                      5.9.2            py36h05f1152_2  
pysocks                   1.6.8                    py36_0  
pytest                    3.9.1                 py36_1000    conda-forge
python                    3.6.6                h6e4f718_2  
python-dateutil           2.7.3                    py36_0  
python-graphviz           0.8.4                    py36_1  
pytz                      2018.5                   py36_0  
PyYAML                    3.13                      <pip>
pyyaml                    3.13             py36h470a237_1    conda-forge
pyzmq                     17.1.2           py36h14c3975_0  
qt                        5.9.6                h8703b6f_2  
r                         3.5.1                    r351_0    conda-forge
r-assertthat              0.2.0            r351h6115d3f_1    conda-forge
r-base                    3.5.1                h4fe35fd_1    conda-forge
r-bh                      1.66.0_1                 r351_1    conda-forge
r-bindr                   0.1.1            r351h6115d3f_1    conda-forge
r-bindrcpp                0.2.2            r351h9d2a408_1    conda-forge
r-bit                     1.1_12           r351h470a237_2    conda-forge
r-bit64                   0.9_7            r351hc070d10_0    conda-forge
r-bitops                  1.0_6            r351hc070d10_2    conda-forge
r-blob                    1.1.1                    r351_1    conda-forge
r-boot                    1.3_20                   r351_0    conda-forge
r-catools                 1.17.1.1         r351h9d2a408_2    conda-forge
r-class                   7.3_14           r351hc070d10_2    conda-forge
r-cli                     1.0.0            r351h6115d3f_1    conda-forge
r-cluster                 2.0.7_1          r351h364d78e_0    conda-forge
r-codetools               0.2_15           r351h6115d3f_1    conda-forge
r-colorspace              1.3_2            r351hc070d10_2    conda-forge
r-crayon                  1.3.4            r351h6115d3f_1    conda-forge
r-dbi                     1.0.0            r351h6115d3f_1    conda-forge
r-dbplyr                  1.2.2            r351h6115d3f_1    conda-forge
r-dendextend              1.8.0            r351h6115d3f_1    conda-forge
r-deoptimr                1.0_8            r351h6115d3f_1    conda-forge
r-digest                  0.6.18           r351hc070d10_0    conda-forge
r-diptest                 0.75_7           r351hc070d10_1    conda-forge
r-dplyr                   0.7.6            r351h9d2a408_1    conda-forge
r-fansi                   0.3.0            r351hc070d10_0    conda-forge
r-flexmix                 2.3_14           r351h6115d3f_1    conda-forge
r-foreach                 1.4.4            r351h6115d3f_1    conda-forge
r-foreign                 0.8_71           r351hc070d10_2    conda-forge
r-fpc                     2.1_11.1         r351h6115d3f_1    conda-forge
r-gclus                   1.3.1            r351h6115d3f_1    conda-forge
r-gdata                   2.18.0           r351h6115d3f_1    conda-forge
r-ggplot2                 3.0.0            r351h6115d3f_1    conda-forge
r-glue                    1.3.0            r351h470a237_2    conda-forge
r-gplots                  3.0.1            r351h6115d3f_1    conda-forge
r-gridextra               2.3              r351h6115d3f_1    conda-forge
r-gtable                  0.2.0            r351h6115d3f_1    conda-forge
r-gtools                  3.8.1            r351hc070d10_2    conda-forge
r-iterators               1.0.10           r351h6115d3f_1    conda-forge
r-kernlab                 0.9_27           r351h9d2a408_0    conda-forge
r-kernsmooth              2.23_15          r351h364d78e_2    conda-forge
r-labeling                0.3              r351h6115d3f_1    conda-forge
r-lattice                 0.20_35          r351hc070d10_0    conda-forge
r-lazyeval                0.2.1            r351hc070d10_2    conda-forge
r-magrittr                1.5              r351h6115d3f_1    conda-forge
r-mass                    7.3_50           r351hc070d10_2    conda-forge
r-matrix                  1.2_14           r351hc070d10_2    conda-forge
r-mclust                  5.4.1            r351h364d78e_2    conda-forge
r-memoise                 1.1.0            r351h6115d3f_1    conda-forge
r-mgcv                    1.8_24           r351hc070d10_2    conda-forge
r-modeltools              0.2_22           r351h6115d3f_1    conda-forge
r-munsell                 0.5.0            r351h6115d3f_1    conda-forge
r-mvtnorm                 1.0_8            r351h364d78e_0    conda-forge
r-nlme                    3.1_137          r351h364d78e_0    conda-forge
r-nnet                    7.3_12           r351hc070d10_2    conda-forge
r-pillar                  1.3.0            r351h6115d3f_0    conda-forge
r-pkgconfig               2.0.2            r351h6115d3f_1    conda-forge
r-plogr                   0.2.0            r351h6115d3f_1    conda-forge
r-plyr                    1.8.4            r351h9d2a408_2    conda-forge
r-prabclus                2.2_6            r351h6115d3f_1    conda-forge
r-prettyunits             1.0.2            r351h6115d3f_1    conda-forge
r-purrr                   0.2.5            r351hc070d10_1    conda-forge
r-qap                     0.1_1            r351h364d78e_2    conda-forge
r-r6                      2.2.2            r351h6115d3f_1    conda-forge
r-rcolorbrewer            1.1_2            r351h6115d3f_1    conda-forge
r-rcpp                    0.12.17          r351h9d2a408_2    conda-forge
r-recommended             3.5.1                    r351_1    conda-forge
r-registry                0.5              r351h6115d3f_1    conda-forge
r-reshape2                1.4.3            r351h9d2a408_2    conda-forge
r-rlang                   0.3.0            r351h470a237_0    conda-forge
r-robustbase              0.93_2           r351h364d78e_0    conda-forge
r-rpart                   4.1_13           r351hc070d10_2    conda-forge
r-rsqlite                 2.1.1            r351h9d2a408_0    conda-forge
r-scales                  1.0.0            r351h9d2a408_1    conda-forge
r-seriation               1.2_3            r351h364d78e_1    conda-forge
r-spatial                 7.3_11           r351hc070d10_2    conda-forge
r-stringi                 1.2.4            r351h9d2a408_1    conda-forge
r-stringr                 1.3.1            r351h6115d3f_1    conda-forge
r-survival                2.42_6           r351hc070d10_1    conda-forge
r-tibble                  1.4.2            r351hc070d10_2    conda-forge
r-tidyselect              0.2.4            r351h9d2a408_2    conda-forge
r-trimcluster             0.1_2.1          r351h6115d3f_0    conda-forge
r-tsp                     1.1_6            r351hc070d10_0    conda-forge
r-utf8                    1.1.4            r351hc070d10_0    conda-forge
r-viridis                 0.5.1            r351h6115d3f_1    conda-forge
r-viridislite             0.3.0            r351h6115d3f_1    conda-forge
r-whisker                 0.3_2            r351h6115d3f_1    conda-forge
r-withr                   2.1.2            r351h6115d3f_0    conda-forge
ratelimiter               1.2.0.post0               <pip>
readline                  7.0                  h7b6447c_5  
regex                     2017.11.09               py36_0    conda-forge
requests                  2.19.1                   py36_0  
rpy2                      2.9.4           py36r351h941a26a_1    conda-forge
s3transfer                0.1.13                   py36_0  
scikit-learn              0.20.0           py36h4989274_1  
scikit-optimize           0.5.2                      py_0    conda-forge
scipy                     1.1.0            py36hfa4b5c9_1  
send2trash                1.5.0                      py_0    conda-forge
setuptools                40.4.3                   py36_0  
sigopt                    3.5.0                      py_0    conda-forge
simplegeneric             0.8.1                    py36_2  
sip                       4.19.8           py36hf484d3e_0  
six                       1.11.0                   py36_1  
smart_open                1.7.1                    py36_0  
smmap2                    2.0.5                     <pip>
snakemake                 5.3.0                     <pip>
snappy                    1.1.7                hbae5bb6_3  
sortedcontainers          2.0.5                      py_0    conda-forge
spacy                     2.0.13           py36hf8a1672_0    conda-forge
sqlite                    3.25.2               h7b6447c_0  
statsmodels               0.9.0            py36h035aef0_0  
tabulate                  0.8.2                      py_0    conda-forge
tblib                     1.3.2                      py_1    conda-forge
tensorboard               1.10.0                   py36_0    conda-forge
tensorflow                1.10.0                   py36_0    conda-forge
termcolor                 1.1.0                      py_2    conda-forge
terminado                 0.8.1                 py36_1001    conda-forge
testpath                  0.4.2                 py36_1000    conda-forge
theano                    1.0.3                    py36_0    conda-forge
thinc                     6.10.3           py36hf8a1672_3    conda-forge
thrift                    0.11.0           py36hfc679d8_1    conda-forge
thrift-cpp                0.11.0               hc04171f_3  
tk                        8.6.8                hbc83047_0  
tktable                   2.10                 h14c3975_0  
toolz                     0.9.0                    py36_0  
tornado                   5.1.1            py36h7b6447c_0  
tqdm                      4.27.0             pyha03479a_0    chubb-gregory_werbin
traitlets                 4.3.2                    py36_0  
tts-classification        0.0.0                     <pip>
tzlocal                   1.5.1                      py_0    conda-forge
ujson                     1.35             py36h14c3975_0  
urllib3                   1.23                     py36_0  
wcwidth                   0.1.7                    py36_0  
webencodings              0.5.1                      py_1    conda-forge
werkzeug                  0.14.1                     py_0    conda-forge
wheel                     0.32.1                   py36_0  
widgetsnbextension        3.4.2                 py36_1000    conda-forge
wmctrl                    0.3                   py36_1001    conda-forge
wrapt                     1.10.11          py36h14c3975_2  
xgboost                   0.80             py36hfc679d8_1    conda-forge
xlrd                      1.1.0                    py36_1  
xorg-kbproto              1.0.7                h470a237_2    conda-forge
xorg-libice               1.0.9                h470a237_4    conda-forge
xorg-libsm                1.2.2                h470a237_5    conda-forge
xorg-libx11               1.6.6                h470a237_0    conda-forge
xorg-libxdmcp             1.1.2                h470a237_7    conda-forge
xorg-libxext              1.3.3                h470a237_4    conda-forge
xorg-libxpm               3.5.12               h470a237_2    conda-forge
xorg-libxrender           0.9.10               h470a237_2    conda-forge
xorg-libxt                1.1.5                h470a237_2    conda-forge
xorg-renderproto          0.11.1               h470a237_2    conda-forge
xorg-xextproto            7.3.0                h470a237_2    conda-forge
xorg-xproto               7.0.31               h470a237_7    conda-forge
xz                        5.2.4                h14c3975_4  
yaml                      0.1.7                h470a237_1    conda-forge
zeromq                    4.2.5                hf484d3e_1  
zict                      0.1.3                      py_0    conda-forge
zlib                      1.2.11               ha838bed_2  
zstd                      1.3.3                h84994c4_0  

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

     active environment : /opt/app/data/home_extenstion/gregory-werbin/projects/tts-classification/conda-env
    active env location : /opt/app/data/home_extenstion/gregory-werbin/projects/tts-classification/conda-env
            shell level : 1
       user config file : /opt/data/home_extenstion/gregory-werbin/.condarc
 populated config files : /opt/data/home_extenstion/gregory-werbin/.condarc
          conda version : 4.5.11
    conda-build version : 3.16.2
         python version : 3.7.0.final.0
       base environment : /opt/data/home_extenstion/gregory-werbin/.local/pyenv/versions/miniconda3-latest  (writable)
           channel URLs : https://conda.anaconda.org/chubb-gregory_werbin/linux-64
                          https://conda.anaconda.org/chubb-gregory_werbin/noarch
                          https://conda.anaconda.org/gwerbin/linux-64
                          https://conda.anaconda.org/gwerbin/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/linux-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/pro/linux-64
                          https://repo.anaconda.com/pkgs/pro/noarch
                          https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /opt/data/home_extenstion/gregory-werbin/.local/pyenv/versions/miniconda3-latest/pkgs
                          /opt/data/home_extenstion/gregory-werbin/.conda/pkgs
       envs directories : /opt/data/home_extenstion/gregory-werbin/.local/pyenv/versions/miniconda3-latest/envs
                          /opt/data/home_extenstion/gregory-werbin/.conda/envs
               platform : linux-64
             user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Linux/3.10.0-514.26.2.el7.x86_64 rhel/7.3 glibc/2.17
                UID:GID : 51757:51714
             netrc file : /opt/data/home_extenstion/gregory-werbin/.netrc
           offline mode : False

Problem when installing Boost with conda 4.7.2

While further investigating issue #49, I've found that, when trying to install Boost packages like this with latest conda 4.7.2 (from conda-canary), it fails with this message:

> conda create -y -n boost_170_test python boost==1.70.0 boost-cpp==1.70.0
WARNING conda.base.context:use_only_tar_bz2(632): Conda is constrained to only using the old .tar.bz2 file format because you have conda-build installed, and it is <3.18.3.  Update or remove conda-build to get smaller downloads and faster extractions.
Collecting package metadata (repodata.json): done
Solving environment: failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

  - boost-cpp==1.70.0 -> libboost[version='<0']
  - boost==1.70.0 -> boost-cpp=1.70.0 -> libboost[version='<0']

note that if I remove the boost pins, it will work, and will install the 1.69.0 version.

ฮป conda create -y -n boost_170_test python boost boost-cpp
WARNING conda.base.context:use_only_tar_bz2(632): Conda is constrained to only using the old .tar.bz2 file format because you have conda-build installed, and it is <3.18.3.  Update or remove conda-build to get smaller downloads and faster extractions.
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: W:\Miniconda3\envs\boost_170_test

  added / updated specs:
    - boost
    - boost-cpp
    - python


The following NEW packages will be INSTALLED:

  boost              conda-forge/win-64::boost-1.69.0-py37hf75dd32_1001
  boost-cpp          conda-forge/win-64::boost-cpp-1.69.0-h6a4c333_1000
  ca-certificates    conda-forge/win-64::ca-certificates-2019.3.9-hecc5488_0
  certifi            conda-forge/win-64::certifi-2019.3.9-py37_0
  intel-openmp       pkgs/main/win-64::intel-openmp-2019.4-245
  libblas            conda-forge/win-64::libblas-3.8.0-8_mkl
  libcblas           conda-forge/win-64::libcblas-3.8.0-8_mkl
  liblapack          conda-forge/win-64::liblapack-3.8.0-8_mkl
  mkl                pkgs/main/win-64::mkl-2019.4-245
  numpy              conda-forge/win-64::numpy-1.16.3-py37h873a0b8_0
  openssl            conda-forge/win-64::openssl-1.1.1b-hfa6e2cd_2
  pip                conda-forge/win-64::pip-19.1.1-py37_0
  python             conda-forge/win-64::python-3.7.3-hb12ca83_0
  setuptools         conda-forge/win-64::setuptools-41.0.1-py37_0
  sqlite             conda-forge/win-64::sqlite-3.28.0-hfa6e2cd_0
  vc                 pkgs/main/win-64::vc-14.1-h0510ff6_4
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.15.26706-h3a45250_4
  wheel              conda-forge/win-64::wheel-0.33.4-py37_0
  wincertstore       conda-forge/win-64::wincertstore-0.2-py37_1002
  zlib               conda-forge/win-64::zlib-1.2.11-h2fa13f4_1004


Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use:
# > activate boost_170_test
#
# To deactivate an active environment, use:
# > deactivate
#
# * for power-users using bash, you must source
#

I'm adding system info to this gist as to not pollute the issue.

boost_zlib is missing from Windows build?

I tried to bring up another project on conda-forge but I came into a linkage problem as below:

[ 16%] Linking CXX shared library gazebo_common.dll
LINK: command "C:\PROGRA~2\MICROS~1\2017\ENTERP~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\gazebo_common.dir\objects1.rsp /out:gazebo_common.dll /implib:gazebo_common.lib /pdb:%SRC_DIR%\build\gazebo\common\gazebo_common.pdb /dll /version:9.11 /machine:x64 /INCREMENTAL:NO -LIBPATH:%SRC_DIR%\build\test -LIBPATH:%PREFIX%\Library\lib %PREFIX%\Library\lib\dl.lib %PREFIX%\Library\lib\boost_thread.lib %PREFIX%\Library\lib\boost_system.lib %PREFIX%\Library\lib\boost_filesystem.lib %PREFIX%\Library\lib\boost_program_options.lib %PREFIX%\Library\lib\boost_regex.lib %PREFIX%\Library\lib\boost_iostreams.lib %PREFIX%\Library\lib\boost_date_time.lib %PREFIX%\Library\lib\boost_chrono.lib %PREFIX%\Library\lib\boost_atomic.lib %PREFIX%\Library\lib\FreeImage.lib tinyxml_internal.lib %PREFIX%\Library\lib\libcurl.lib %PREFIX%\Library\lib\sdformat.lib %PREFIX%\Library\lib\ignition-math4.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:gazebo_common.dll.manifest" failed (exit code 1104) with the following output:
LINK : fatal error LNK1104: cannot open file 'boost_zlib.lib'

And even if I tried to use add_definitions(-DBOOST_ALL_NO_LIB=1) to hack the CMakeLists.txt, which still gave me the similar result.

[ 16%] Linking CXX shared library gazebo_common.dll
LINK: command "C:\PROGRA~2\MICROS~1\2017\ENTERP~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\gazebo_common.dir\objects1.rsp /out:gazebo_common.dll /implib:gazebo_common.lib /pdb:%SRC_DIR%\build\gazebo\common\gazebo_common.pdb /dll /version:9.11 /machine:x64 /INCREMENTAL:NO -LIBPATH:%SRC_DIR%\build\test -LIBPATH:%PREFIX%\Library\lib %PREFIX%\Library\lib\dl.lib %PREFIX%\Library\lib\boost_thread.lib %PREFIX%\Library\lib\boost_system.lib %PREFIX%\Library\lib\boost_filesystem.lib %PREFIX%\Library\lib\boost_program_options.lib %PREFIX%\Library\lib\boost_regex.lib %PREFIX%\Library\lib\boost_iostreams.lib %PREFIX%\Library\lib\boost_date_time.lib %PREFIX%\Library\lib\boost_chrono.lib %PREFIX%\Library\lib\boost_atomic.lib %PREFIX%\Library\lib\FreeImage.lib tinyxml_internal.lib %PREFIX%\Library\lib\libcurl.lib %PREFIX%\Library\lib\sdformat.lib %PREFIX%\Library\lib\ignition-math4.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:gazebo_common.dll.manifest" failed (exit code 1120) with the following output:
   Creating library gazebo_common.lib and object gazebo_common.exp
ModelDatabase.cc.obj : error LNK2019: unresolved external symbol "int const boost::iostreams::zlib::default_compression" (?default_compression@zlib@iostreams@boost@@3HB) referenced in function "private: static struct boost::iostreams::gzip_params __cdecl boost::iostreams::basic_gzip_decompressor<class std::allocator<char> >::make_params(int)" (?make_params@?$basic_gzip_decompressor@V?$allocator@D@std@@@iostreams@boost@@CA?AUgzip_params@23@H@Z)
ModelDatabase.cc.obj : error LNK2019: unresolved external symbol "int const boost::iostreams::zlib::deflated" (?deflated@zlib@iostreams@boost@@3HB) referenced in function "private: static struct boost::iostreams::gzip_params __cdecl boost::iostreams::basic_gzip_decompressor<class std::allocator<char> >::make_params(int)" (?make_params@?$basic_gzip_decompressor@V?$allocator@D@std@@@iostreams@boost@@CA?AUgzip_params@23@H@Z)
ModelDatabase.cc.obj : error LNK2019: unresolved external symbol "int const boost::iostreams::zlib::default_strategy" (?default_strategy@zlib@iostreams@boost@@3HB) referenced in function "private: static struct boost::iostreams::gzip_params __cdecl boost::iostreams::basic_gzip_decompressor<class std::allocator<char> >::make_params(int)" (?make_params@?$basic_gzip_decompressor@V?$allocator@D@std@@@iostreams@boost@@CA?AUgzip_params@23@H@Z)
ModelDatabase.cc.obj : error LNK2019: unresolved external symbol "int const boost::iostreams::zlib::okay" (?okay@zlib@iostreams@boost@@3HB) referenced in function "public: __cdecl boost::iostreams::gzip_error::gzip_error(int)" (??0gzip_error@iostreams@boost@@QEAA@H@Z)
ModelDatabase.cc.obj : error LNK2019: unresolved external symbol "int const boost::iostreams::zlib::stream_end" (?stream_end@zlib@iostreams@boost@@3HB) referenced in function "public: void __cdecl boost::iostreams::symmetric_filter<class boost::iostreams::detail::zlib_decompressor_impl<class std::allocator<char> >,class std::allocator<char> >::close<struct boost::iostreams::basic_gzip_decompressor<class std::allocator<char> >::peekable_source<class boost::iostreams::detail::linked_streambuf<char,struct std::char_traits<char> > > >(struct boost::iostreams::basic_gzip_decompressor<class std::allocator<char> >::peekable_source<class boost::iostreams::detail::linked_streambuf<char,struct std::char_traits<char> > > &,int)" (??$close@U?$peekable_source@V?$linked_streambuf@DU?$char_traits@D@std@@@detail@iostreams@boost@@@?$basic_gzip_decompressor@V?$allocator@D@std@@@iostreams@boost@@@?$symmetric_filter@V?$zlib_decompressor_impl@V?$allocator@D@std@@@detail@iostreams@boost@@V?$allocator@D@std@@@iostreams@boost@@QEAAXAEAU?$peekable_source@V?$linked_streambuf@DU?$char_traits@D@std@@@detail@iostreams@boost@@@?$basic_gzip_decompressor@V?$allocator@D@std@@@12@H@Z)
ModelDatabase.cc.obj : error LNK2019: unresolved external symbol "int const boost::iostreams::zlib::sync_flush" (?sync_flush@zlib@iostreams@boost@@3HB) referenced in function "public: void __cdecl boost::iostreams::symmetric_filter<class boost::iostreams::detail::zlib_decompressor_impl<class std::allocator<char> >,class std::allocator<char> >::close<struct boost::iostreams::basic_gzip_decompressor<class std::allocator<char> >::peekable_source<class boost::iostreams::detail::linked_streambuf<char,struct std::char_traits<char> > > >(struct boost::iostreams::basic_gzip_decompressor<class std::allocator<char> >::peekable_source<class boost::iostreams::detail::linked_streambuf<char,struct std::char_traits<char> > > &,int)" (??$close@U?$peekable_source@V?$linked_streambuf@DU?$char_traits@D@std@@@detail@iostreams@boost@@@?$basic_gzip_decompressor@V?$allocator@D@std@@@iostreams@boost@@@?$symmetric_filter@V?$zlib_decompressor_impl@V?$allocator@D@std@@@detail@iostreams@boost@@V?$allocator@D@std@@@iostreams@boost@@QEAAXAEAU?$peekable_source@V?$linked_streambuf@DU?$char_traits@D@std@@@detail@iostreams@boost@@@?$basic_gzip_decompressor@V?$allocator@D@std@@@12@H@Z)

Is there a way to install a boost header only package?

Comment:

I am trying to install the boost package. But I was wondering if there is a way to specify an option like 'headers_only'. As I only need the header files from this package.
Of course I can install the package and take out the include directory and use.
But if there was a way to install a header only package, it would be helpful.

make a boost-cpp 1.72 branch

It appears that one of our migrations got ahead of another and we need a 1.72 branch on the latest icu version. ping @conda-forge/boost-cpp

boost-cpp 1.70 is making conda solve 70x slower

I think that the problem is related to this: conda solver is unable to prune versions, because it won't find a satisfiable boost-cpp version.

Things needed to reproduce the problem are here:

https://gist.github.com/tadeu/49c6de435dae6764f6616eb10efde2a4

(this could also be a conda problem, instead of a particular problem in boost-cpp)

The diff for conda env update --debug, with both Boost versions, is here:

https://gist.github.com/tadeu/49c6de435dae6764f6616eb10efde2a4/revisions#diff-8c6e71389c61ffe86203031a361d8c00

Note that around line 563, it prunes all boost-cpp down to 0

DEBUG conda.resolve:filter_group(400): boost: pruned from 122 -> 1
DEBUG conda.resolve:filter_group(400): boost-cpp: pruned from 39 -> 0

Latest builds do not have zlib enabled

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

The latest builds do not have zlib enabled.
For example https://dev.azure.com/conda-forge/84710dde-1620-425b-80d0-4cf5baca359d/_apis/build/builds/489010/logs/27
shows zlib: no.
The linux-64/boost-cpp-1.77.0-he72f1d9_2.tar.bz2 build published 10 days ago is broken, whereas the linux-64/boost-cpp-1.77.0-h359cf19_1.tar.bz2 build published many months earlier is OK.

It appears that the previous fix for this, #114 & #115 by @benmwebb, was not actually merged into main - it was just merged into a version branch.

Installed packages

conda list

Environment info

conda info

boost consolidation/harmonization

There's a bunch of discussions that touch upon changing our distribution of boost in some way. All of these come with quite some effort, but I believe we could solve them with essentially one PR plus a special migrator.

Open discussions I'm aware of:

Rough idea:

  • Unify all in this feedstock
  • Rename current boost-cpp --> libboost, and add a run-export
  • Add header-only output to this feedstock (without the export) -- This is now called libboost-headers discussion & a (basically unanimous) vote
  • Add boost from https://github.com/conda-forge/boost-feedstock (which already depends on boost-cpp)
    • Rename it to py-boost to match with Anaconda? Rename it to libboost-python, at least in conda-forge - I also think this name would be much clearer to communicate that it's for boost's python bindings, rather than boost itself.
  • Add piggy-back to the next boost migration (finally found out how this should be done)
    • If boost-cpp only in host, turn into libboost-headers. If also in run, remove it there but use libboost in host.
    • Shepherd migration
  • Profit

In short:

conda-forge:
currently
Anaconda:
currently
conda-forge (& Anaconda?):
proposal
lib boost-cpp libboost libboost
header-only lib - - libboost-headers
python bindings boost py-boost libboost-python

Am I overlooking something? Any thoughts/comments?
@conda-forge/boost-cpp @conda-forge/boost @conda-forge/core

Footnotes

  1. where the following was said: "-cpp was a trend that I started with boost-cpp. That was a mistake. I'm in favour of changing it [...]" โ†ฉ

Creating a libboost-headers only package from existing recipe fails

Comment:

I am aware of the libboost-headers available for 1.82.0. However I need the libboost-headers for 1.70.0 and hence trying to build a package from the existing recipe at boost-cpp-feedstock. I have downloaded the boost-cpp-feedstock repo and modified the meta.yml and install-lib.bat. However I run into errors while creating a package. Below is the recipe:

meta.yml:

{% set version = "1.70.0" %}

{% set boost_libs = [
    "atomic", "chrono", "container", "context", "contract", "coroutine",
    "date_time", "filesystem", "graph", "iostreams", "locale", "log", "log_setup",
    "math_c99", "math_c99f", "math_tr1", "math_tr1f", "prg_exec_monitor",
    "program_options", "random", "regex", "serialization", "system", "thread",
    "timer", "type_erasure", "unit_test_framework", "wave", "wserialization"
] %}
{% set boost_libs = boost_libs + ["math_c99l", "math_tr1l"] %}  # [not ppc64le]
{% set boost_libs_static_only = ["exception", "test_exec_monitor"] %}
{% set boost_libs_py = ["python%s" % py, "numpy%s" % py] %}

package:
  name: boost-split
  version: {{ version }}

source:
  url: https://boostorg.jfrog.io/artifactory/main/release/{{ version }}/source/boost_{{ version|replace(".", "_") }}.tar.bz2
  sha256: 430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778

outputs:
  - name: libboost-headers
    script: install-lib.bat  # [win]

install-lib.bat

@echo on

if [%PKG_NAME%] == [libboost-headers] (
    REM for libboost-headers, only the headers
    robocopy temp_prefix\include %LIBRARY_INC% /E >nul
    REM robocopy leaves non-zero exit status as sign of success; clear it
    echo "robocopy done"
) else (
    REM everything else
    xcopy /E /Y temp_prefix\lib %LIBRARY_LIB%
)

Error attached.
error.txt

find_package(Boost CONFIG REQUIRED) fails with CMake's CMP0057 related error if cmake_minimum_required is <= 3.2

Issue:

If one creates an environment with boost-cpp and the dev dependencies:

conda create -n boost-cpp boost-cpp compilers cmake pkg-config

And in this environment it configures a CMake project such as:

cmake_minimum_required(VERSION 3.2)

project(boost_mre)

find_package(Boost CONFIG REQUIRED)

The configuration fails with the error:

(boost-cpp) straversaro@IITICUBLAP102:~/boost_find_package_mre/build$ cmake ..
CMake Warning (dev) at /home/straversaro/mambaforge/envs/boost-cpp/lib/cmake/Boost-1.76.0/BoostConfig.cmake:240 (if):
  Policy CMP0057 is not set: Support new IN_LIST if() operator.  Run "cmake
  --help-policy CMP0057" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  IN_LIST will be interpreted as an operator when the policy is set to NEW.
  Since the policy is not set the OLD behavior will be used.
Call Stack (most recent call first):
  CMakeLists.txt:6 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at /home/straversaro/mambaforge/envs/boost-cpp/lib/cmake/Boost-1.76.0/BoostConfig.cmake:240 (if):
  if given arguments:

    "ALL" "IN_LIST" "Boost_FIND_COMPONENTS"

  Unknown arguments specified
Call Stack (most recent call first):
  CMakeLists.txt:6 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/straversaro/boost_find_package_mre/build/CMakeFiles/CMakeOutput.log".

The problem is due to the fact that the BoostConfig.cmake file strongly assumes that the IN_LIST operator is available in CMake, so implicitly assuming that CMP0057 is set to ON. This is true if cmake_minimum_required is at least 3.3, or if one calls find_package(Boost REQUIRED) without CONFIG or NO_MODULE options, as that will result in CMake's FindBoost being called, that sets CMP0057 to ON in https://github.com/Kitware/CMake/blob/v3.21.0/Modules/FindBoost.cmake#L594 .

However, if one has a project in which cmake_minimum_required is <= 3.2 and find_package(Boost CONFIG) or find_package(Boost NO_MODULE) is invoked, it will fail with the error reported earlier in this issue.

This can be fixed by patching (eventually even upstream) the BoostConfig.cmake file to also enable explicitly CMP0057 as done in FindBoost.cmake module. However, in practice just bumping the cmake_minimum_required to 3.3 (CMake 3.3 was released in July 2015, ~ 6 years ago) or avoiding to use find_package(Boost CONFIG) will be sufficient to avoid this problem. For this reason, I do not plan to patch the feedstock, but I wanted to open an issue to clearly describe the problem if anyone was encountering it. However, if anyone is interested in patching Boost to fix the problem I would be happy to help.


Environment (conda list):
$ conda list
(boost-cpp) straversaro@IITICUBLAP102:~/boost_find_package_mre/build$ conda list
# packages in environment at /home/straversaro/mambaforge/envs/boost-cpp:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
binutils                  2.36.1               hdd6e379_1    conda-forge
binutils_impl_linux-64    2.36.1               h193b22a_1    conda-forge
binutils_linux-64         2.36                hf3e587d_32    conda-forge
boost-cpp                 1.76.0               h312852a_1    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.17.1               h7f98852_1    conda-forge
c-compiler                1.2.0                h7f98852_0    conda-forge
ca-certificates           2021.5.30            ha878542_0    conda-forge
cmake                     3.21.0               h8897547_0    conda-forge
compilers                 1.2.0                ha770c72_0    conda-forge
cxx-compiler              1.2.0                h4bd325d_0    conda-forge
expat                     2.4.1                h9c3ff4c_0    conda-forge
fortran-compiler          1.2.0                h1990efc_0    conda-forge
gcc_impl_linux-64         9.3.0               h70c0ae5_19    conda-forge
gcc_linux-64              9.3.0               hf25ea35_32    conda-forge
gfortran_impl_linux-64    9.3.0               hc4a2995_19    conda-forge
gfortran_linux-64         9.3.0               hdc58fab_32    conda-forge
gxx_impl_linux-64         9.3.0               hd87eabc_19    conda-forge
gxx_linux-64              9.3.0               h3fbe746_32    conda-forge
icu                       68.1                 h58526e2_0    conda-forge
kernel-headers_linux-64   2.6.32              h77966d4_13    conda-forge
krb5                      1.19.1               hcc1bbae_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_1    conda-forge
libcurl                   7.77.0               h2574ce0_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libgcc-devel_linux-64     9.3.0               h7864c58_19    conda-forge
libgcc-ng                 9.3.0               h2828fa1_19    conda-forge
libgfortran-ng            9.3.0               hff62375_19    conda-forge
libgfortran5              9.3.0               hff62375_19    conda-forge
libgomp                   9.3.0               h2828fa1_19    conda-forge
libnghttp2                1.43.0               h812cca2_0    conda-forge
libssh2                   1.9.0                ha56f1ee_6    conda-forge
libstdcxx-devel_linux-64  9.3.0               hb016644_19    conda-forge
libstdcxx-ng              9.3.0               h6de172a_19    conda-forge
libuv                     1.41.1               h7f98852_0    conda-forge
lz4-c                     1.9.3                h9c3ff4c_0    conda-forge
ncurses                   6.2                  h58526e2_4    conda-forge
openssl                   1.1.1k               h7f98852_0    conda-forge
pkg-config                0.29.2            h36c2ea0_1008    conda-forge
rhash                     1.4.1                h7f98852_0    conda-forge
sysroot_linux-64          2.12                h77966d4_13    conda-forge
tk                        8.6.10               h21135ba_1    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.11            h516909a_1010    conda-forge
zstd                      1.5.0                ha95c52a_0    conda-forge

Details about conda and system ( conda info ):
$ conda info
(boost-cpp) straversaro@IITICUBLAP102:~/boost_find_package_mre/build$ conda info

     active environment : boost-cpp
    active env location : /home/straversaro/mambaforge/envs/boost-cpp
            shell level : 1
       user config file : /home/straversaro/.condarc
 populated config files : /home/straversaro/mambaforge/.condarc
                          /home/straversaro/.condarc
          conda version : 4.10.3
    conda-build version : not installed
         python version : 3.9.5.final.0
       virtual packages : __linux=4.19.104=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/straversaro/mambaforge  (writable)
      conda av data dir : /home/straversaro/mambaforge/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/straversaro/mambaforge/pkgs
                          /home/straversaro/.conda/pkgs
       envs directories : /home/straversaro/mambaforge/envs
                          /home/straversaro/.conda/envs
               platform : linux-64
             user-agent : conda/4.10.3 requests/2.25.1 CPython/3.9.5 Linux/4.19.104-microsoft-standard ubuntu/20.04.2 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

Document which boost package should be used when

As discussed in #25, there are multiple boost packages.

Besides finding a resolution for those issues - what is the "right" way for other recipes to access the boost libraries? What should be in the host and run dependencies, respectively? boost or boost-cpp or libboost?

The reason I'm opening this is that we have plenty of packages in Bioconda requiring boost and a few requiring boost-cpp or libboost. Also, I just had a user report a linking issue that resulted from installing python 3.7.1 - that lead to different libboost_*_1.67.so files being installed and things breaking. What's the right way to require/pin boost so that this doesn't happen?

linker error on static lib usage with new lib name scheme

Issue:
Building a package via cmake which use boost with static libs issue a linker error like LINK : fatal error LNK1104: cannot open file 'boost_system.lib', while the Linker section of VS project file reference "C:\Users\argl\Documents\coding\minimal_boost\builds\minimal-boost_1531237067460\_h_env\Library\lib\libboost_system.lib"
This issue seems to come up since boost package version 1.66 build 1 (since the new name scheme for boost libs was introduced).

You will find a minimal package example attached.

To clearify, my bld.bat called cmake like following:

cmake .. -G "Visual Studio 14 2015 Win64" ^
	 -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
	 -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^
         -DBoost_USE_STATIC_LIBS=ON

This results in the linker error mentioned above.

If you will set DBoost_USE_STATIC_LIBS to OFF all is fine, but to use dynamic libs is not my use case.


Environment (conda build output):
The following NEW packages will be INSTALLED:

    blas:           1.1-openblas                  conda-forge
    boost:          1.67.0-py36_vc14_0            conda-forge [vc14         ]
    boost-cpp:      1.67.0-vc14_0                 conda-forge [vc14         ]
    certifi:        2018.4.16-py36_0              conda-forge
    cmake:          3.11.4-0                      conda-forge
    icc_rt:         2017.0.4-h97af966_0
    intel-openmp:   2018.0.3-0
    libflang:       5.0.0-vc14_20180208           conda-forge [vc14         ]
    llvm-meta:      5.0.0-0                       conda-forge
    mkl:            2018.0.3-1
    mkl_fft:        1.0.2-py36_0                  conda-forge
    mkl_random:     1.0.1-py36_0                  conda-forge
    numpy:          1.14.3-py36_blas_openblas_200 conda-forge [blas_openblas]
    numpy-base:     1.14.3-py36h5c71026_0
    openblas:       0.2.20-vc14_8                 conda-forge [vc14         ]
    openmp:         5.0.0-vc14_1                  conda-forge [vc14         ]
    pip:            9.0.3-py36_0                  conda-forge
    python:         3.6.5-1                       conda-forge
    setuptools:     40.0.0-py36_0                 conda-forge
    vc:             14-0                          conda-forge
    vs2015_runtime: 14.0.25420-0                  conda-forge
    wheel:          0.31.1-py36_0                 conda-forge
    wincertstore:   0.2-py36_1                    conda-forge
    zlib:           1.2.11-vc14_0                 conda-forge [vc14         ]


Details about conda and system ( conda info ):
System: windows 10 64bit Compiler: Visual Studio 2015 / VC14 ``` $ conda info active environment : None user config file : C:\Users\argl\.condarc populated config files : C:\Users\argl\tools\dev\Miniconda3\.condarc conda version : 4.5.7 conda-build version : 3.10.9 python version : 3.5.5.final.0 base environment : C:\Users\argl\tools\dev\Miniconda3 (writable) channel URLs : https://conda.anaconda.org/conda-forge/win-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/win-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/free/win-64 https://repo.anaconda.com/pkgs/free/noarch https://repo.anaconda.com/pkgs/r/win-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/pro/win-64 https://repo.anaconda.com/pkgs/pro/noarch https://repo.anaconda.com/pkgs/msys2/win-64 https://repo.anaconda.com/pkgs/msys2/noarch package cache : C:\Users\argl\tools\dev\Miniconda3\pkgs C:\Users\argl\AppData\Local\conda\conda\pkgs envs directories : C:\Users\argl\tools\dev\Miniconda3\envs C:\Users\argl\AppData\Local\conda\conda\envs C:\Users\argl\.conda\envs platform : win-64 user-agent : conda/4.5.7 requests/2.19.1 CPython/3.5.5 Windows/10 Windows/10.0.16299 administrator : False netrc file : None offline mode : False ```

minimal_boost.zip

Adding Boost.MPI variants

Boost.MPI is currently disabled in the current package. I'd like to add MPI variants of the boost-cpp package -I am currently maintaining my own builds.

mpi:
  - nompi
  - mpich  # [unix]
  - openmpi  # [unix]

pin_run_as_build:
  mpich: x.x
  openmpi: x.x

Would that work for you?

linking errors when using boost_programoptions

I encountered linker errors when linking to the shared version of the library on windows. Because find_package() automatically prefers the shared version, the shared libraries should be either fixed or removed on windows, and the static libraries should be renamed so that find_package() will find them.

Linking errors with boost

Hi guys, I installed boost-cpp 1.67.0 from conda-forge and tried to link boost with my project and it's giving me some errors, such as:

libmyproject.so: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'

libmyproject.so: undefined reference to `boost::re_detail_106700::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'

libmyproject.so: undefined reference to `boost::re_detail_106700::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const'

libmyproject.so: undefined reference to `boost::re_detail_106700::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'

I'm using the same gcc version (7.2.0)

Also provide `libboost...-mt` libraries?

Hi! I'm on a Mac and need libboost_thread-mt.[a,dylib], but this package does not supply it. It only provides libboost_thread.[a,dylib]. Could this feedstock / build procedure be modified to include those libraries? I think it's as simple as adding symlinks: libboost_thread-mt to libboost_thread.

My situation: I'm building caffe from source. I got an error from make saying ld: library not found for -lboost_thread-mt, same as this person on SO. It seems like most people use brew to install boost on OS X, and brew includes the -mt libboost libraries. But I wanted to use conda to avoid the OS-level install.

Referencing conda-forge/boost-feedstock#48

boost:1.68: undefined symbol: library depending on boost and build with c++14

Because boost is build with c++17 all dependencies of boost (especially if build against boost.system) must use c++17 too. I guess boost should be more compatible if build with -std=c++14 (But I am not sure)
Maybe it is possible to build with -std=c++14? (Allthough I don't like the idea. Better make all boost-depending packages c++17 compatible. But this is again a lot of work...)

the reported error at runtime:
runtime error: undefined symbol: _ZN5boost6system6detail24system_category_instanceE

Dependency hell from three ABI changes per year

BOOST releases a new minor version about three times each year. Each version brings a new ABI and is not compatible with older releases.

In the current scheme, that means that packages linking against libboost* can only be installed into the same environment if they were built no more than 4 months apart!

There are a few options out of this dilemma:

  1. Don't build the DLL at all, force everything to link statically
  2. Trigger a CI rebuild of all dependent packages as soon as BOOST is updated to a new minor version.
    2a) Limit updates to 1 per year, skipping boost versions.
  3. Build libboostX.Y packages using outputs: and use CB3 to push it into the run dependencies if libboost-dev is used in the host dependencies.

I'd prefer 3 as it allows co-installing software long term without constant rebuilds, but benefits from DLL space savings and updating.

Incidentally - it might be worthwhile to also build individual packages for each boost library. Or at least split out the larger ones. The whole thing is quite larger, after all.

Link Error within cf azure build

Issue:

When using boost-cpp as a dependency here, I get strange linker errors like:

radolan2shapefile.cpp:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv]+0x38): 
undefined reference to `boost::program_options::arg[abi:cxx11]'

When using boost-cpp 1.69.0 it compiles and linkes OK. Any help appreciated.


Environment (conda list):
See logs in PR

Details about conda and system ( conda info ):
See logs in PR.

Issue with latest build

Issue:

Pretty sure that this PR broke something
#113


Environment (conda list):
$ conda list

# packages in environment at /home/mmh/miniconda3/envs/rdkit-test:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
boost                     1.74.0           py38h2b96118_5    conda-forge
boost-cpp                 1.74.0               h359cf19_6    conda-forge
brotli                    1.0.9                h7f98852_6    conda-forge
brotli-bin                1.0.9                h7f98852_6    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
ca-certificates           2021.10.26           h06a4308_2  
cairo                     1.16.0            ha00ac49_1009    conda-forge
certifi                   2021.10.8        py38h578d9bd_1    conda-forge
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.13.94              ha180cfb_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fonttools                 4.29.1           py38h497a2fe_0    conda-forge
freetype                  2.11.0               h70c0345_0  
fribidi                   1.0.10               h516909a_0    conda-forge
gettext                   0.21.0               hf68c758_0  
giflib                    5.2.1                h516909a_2    conda-forge
greenlet                  1.1.2            py38h709712a_1    conda-forge
icu                       69.1                 h9c3ff4c_0    conda-forge
jbig                      2.1               h7f98852_2003    conda-forge
jpeg                      9e                   h7f98852_0    conda-forge
kiwisolver                1.3.2            py38h1fd1430_1    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
lerc                      3.0                  h9c3ff4c_0    conda-forge
libblas                   3.9.0           13_linux64_openblas    conda-forge
libbrotlicommon           1.0.9                h7f98852_6    conda-forge
libbrotlidec              1.0.9                h7f98852_6    conda-forge
libbrotlienc              1.0.9                h7f98852_6    conda-forge
libcblas                  3.9.0           13_linux64_openblas    conda-forge
libdeflate                1.8                  h7f98852_0    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 11.2.0              h1d223b6_12    conda-forge
libgfortran-ng            11.2.0              h69a702a_12    conda-forge
libgfortran5              11.2.0              h5c6108e_12    conda-forge
libglib                   2.70.2               h174f98d_1    conda-forge
libgomp                   11.2.0              h1d223b6_12    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
libimagequant             2.17.0               h7f98852_1    conda-forge
liblapack                 3.9.0           13_linux64_openblas    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libopenblas               0.3.18          pthreads_h8fe5266_0    conda-forge
libpng                    1.6.37               hed695b0_2    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_12    conda-forge
libtiff                   4.3.0                h6f004c6_2    conda-forge
libuuid                   2.32.1            h14c3975_1000    conda-forge
libwebp                   1.2.2                h3452ae3_0    conda-forge
libwebp-base              1.2.2                h7f98852_1    conda-forge
libxcb                    1.13              h7f98852_1004    conda-forge
libxml2                   2.9.12               h885dcf4_1    conda-forge
libzlib                   1.2.11            h36c2ea0_1013    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
matplotlib-base           3.5.1            py38hf4fb855_0    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
ncurses                   6.3                  h9c3ff4c_0    conda-forge
numpy                     1.22.2           py38h6ae9a64_0    conda-forge
openjpeg                  2.4.0                hb52868f_1    conda-forge
openssl                   3.0.0                h7f98852_2    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
pandas                    1.4.0            py38h43a58ef_0    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
pillow                    9.0.1            py38he2f12e7_0    conda-forge
pip                       22.0.3             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h36c2ea0_0    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
pycairo                   1.20.1           py38hf61ee4a_1    conda-forge
pyparsing                 3.0.7              pyhd8ed1ab_0    conda-forge
python                    3.8.12          h0744224_3_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.8                      2_cp38    conda-forge
pytz                      2021.3             pyhd8ed1ab_0    conda-forge
rdkit                     2021.09.3        py38h8c3fb5a_0    conda-forge
readline                  8.1.2                h7f8727e_1  
reportlab                 3.5.68           py38hadf75a6_1    conda-forge
setuptools                60.7.1           py38h578d9bd_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sqlalchemy                1.4.31           py38h497a2fe_0    conda-forge
sqlite                    3.37.0               h9cd32fc_0    conda-forge
tk                        8.6.11               h27826a3_1    conda-forge
unicodedata2              14.0.0           py38h497a2fe_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xorg-kbproto              1.0.7             h14c3975_1002    conda-forge
xorg-libice               1.0.10               h516909a_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.7.2                h7f98852_0    conda-forge
xorg-libxau               1.0.9                h14c3975_0    conda-forge
xorg-libxdmcp             1.1.3                h516909a_0    conda-forge
xorg-libxext              1.3.4                h7f98852_1    conda-forge
xorg-libxrender           0.9.10            h7f98852_1003    conda-forge
xorg-renderproto          0.11.1            h14c3975_1002    conda-forge
xorg-xextproto            7.3.0             h14c3975_1002    conda-forge
xorg-xproto               7.0.31            h14c3975_1007    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.11            h36c2ea0_1013    conda-forge
zstd                      1.5.2                ha95c52a_0    conda-forge



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

     active environment : rdkit-test
    active env location : /home/mmh/miniconda3/envs/rdkit-test
            shell level : 2
       user config file : /home/mmh/.condarc
 populated config files : /home/mmh/.condarc
          conda version : 4.11.0
    conda-build version : 3.21.5
         python version : 3.8.5.final.0
       virtual packages : __cuda=11.4=0
                          __linux=5.15.11=0
                          __glibc=2.34=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/mmh/miniconda3  (writable)
      conda av data dir : /home/mmh/miniconda3/etc/conda
  conda av metadata url : None
           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/mmh/miniconda3/pkgs
                          /home/mmh/.conda/pkgs
       envs directories : /home/mmh/miniconda3/envs
                          /home/mmh/.conda/envs
               platform : linux-64
             user-agent : conda/4.11.0 requests/2.25.1 CPython/3.8.5 Linux/5.15.11-76051511-generic pop/21.04 glibc/2.34
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False



To reproduce:

$ mamba create -n rdkit-test python=3.8 rdkit=2021.09.4
$ conda activate rdkit-test
$ python
>>> from rdkit.Chem.rdmolfiles import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mmh/miniconda3/envs/rdkit-test/lib/python3.8/site-packages/rdkit/Chem/__init__.py", line 23, in <module>
    from rdkit.Chem.rdmolfiles import *
ImportError: /home/mmh/miniconda3/envs/rdkit-test/lib/python3.8/site-packages/rdkit/Chem/../../../../libRDKitmaeparser.so.1: undefined symbol: _ZN5boost9iostreams4zlib8deflatedE

This error just started showing up on my CI and this looks like it just got released, looking at the timestamp on boost-cpp 1.74.0
https://anaconda.org/conda-forge/boost-cpp/files

If I install the last build mamba install boost-cpp=1.74.0=h359cf19_5 then the error goes away

Static libraries for boost-cpp

Comment:

Hi,

I am trying to build a conda package for a project that depends on static boost libraries (e.g boost_iostreams.a on linux).

Is it possible to provide these libraries with this package? Or is there another conda package that includes the static libraries?

Best regards
Peter

package variant without header files?

I am wondering whether there could be a boost-cpp package variant that only contains the binary library files and leaves out the header files. The use case for this would be a downstream binary package linking to boost libraries contained in this package.

A boost-cpp package without the header files would currently leave out some 13000 files, making for a much faster installation, and reduce the package size by about 75%.

I do not consider myself a C++ developer, so if I fundamentally misunderstood how boost-cpp is intended to work then please correct me ๐Ÿ™‚

MSVC: Linker Errors in Dependent Projects

Hi,

I am trying to link against the conda package on Windows created by this package with a CMake project.

A minimal example is published here: https://github.com/ax3l/conda_boost_linking

The problem I am facing is during linking against boost::filesystem on which I am getting errors of the kind:

myLib.lib(myLib.obj) : error LNK2019: unresolved external symbol "void __cdecl boost::filesystem::path_traits::convert(char const *,char const *,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class std::codecvt<wchar_t,char,struct _Mbstatet> const &)" (?convert@path_traits@filesystem@boost@@YAXPEBD0AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEBV?$codecvt@_WDU_Mbstatet@@@5@@Z) referenced in function "int __cdecl f(int,char * * const)" (?f@@YAHHQEAPEAD@Z) [C:\projects\TestBoost\build\app.vcxproj]
myLib.lib(myLib.obj) : error LNK2019: unresolved external symbol "public: static class std::codecvt<wchar_t,char,struct _Mbstatet> const & __cdecl boost::filesystem::path::codecvt(void)" (?codecvt@path@filesystem@boost@@SAAEBV?$codecvt@_WDU_Mbstatet@@@std@@XZ) referenced in function "int __cdecl f(int,char * * const)" (?f@@YAHHQEAPEAD@Z) [C:\projects\TestBoost\build\app.vcxproj]

(See three build examples here: https://ci.appveyor.com/project/ax3l/conda-boost-linking and my appveyor file here: https://github.com/ax3l/conda_boost_linking/blob/master/appveyor.yml)

I am building on x86 and with both VS2015 and 2017 but seem to get no further with this. (Update: the minimal example builds with VS2017 for some reason now...)

Do you have any recommendations for Windows builds? Any CMake property I am missing? A certain VS version I should be using? Something off in the appveyor file?

After googling for a day I tried around with BOOST_ALL_NO_LIB, Unicode settings and native wchar_t but all of those did not change the situation. Also the alternative boost-feedstock shows the same issues.

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.