conda-forge / cmake-feedstock

A conda-smithy repository for cmake.
BSD 3-Clause "New" or "Revised" License
4 stars 43 forks source link

error loading shared object with conda-build 2 #21

Closed pelson closed 6 years ago

pelson commented 8 years ago

I have been able to reproduce the problem identified in https://github.com/conda-forge/cmake-feedstock/issues/14, and can confirm that simply changing from conda-build 2 to conda-build 1 fixes the problem.

Some pertinent output:

+ ldd /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/cmake
    linux-vdso.so.1 =>  (0x00007ffe9d1fb000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f5dbfe42000)
    libexpat.so.1 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libexpat.so.1 (0x00007f5dbfc18000)
    libz.so.1 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libz.so.1 (0x00007f5dbf9fd000)
    libarchive.so.13 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libarchive.so.13 (0x00007f5dbf731000)
    libcurl.so.4 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libcurl.so.4 (0x00007f5dbf4cd000)
    libjsoncpp.so.0 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libjsoncpp.so.0 (0x00007f5dbf294000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f5dbef8e000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f5dbed09000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f5dbeaf3000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f5dbe75f000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5dbe541000)
    /lib64/ld-linux-x86-64.so.2 (0x00005651f30b4000)
    libssl.so.1.0.0 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/./libssl.so.1.0.0 (0x00007f5dbe2c9000)
    libcrypto.so.1.0.0 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/./libcrypto.so.1.0.0 (0x00007f5dbde7b000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f5dbdc73000)
+ cmake --version
cmake: error while loading shared libraries: libarchive.so.13: cannot open shared object file: No such file or directory

I will use this issue as a place to document findings...

pelson commented 8 years ago

Disabling symbolic linking, and forcing copy (within the docker linux-anvil build image) fixed this for conda-build 2...

pelson commented 8 years ago

Logs:

with sym-links:

BUILD START: bob.extension-2.3.1-0
    (actual version deferred until further download or env creation)
Using Anaconda API: https://api.anaconda.org

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    bzip2-1.0.6                |                3          83 KB  defaults
    ca-certificates-2016.8.31  |                0         163 KB  conda-forge
    jsoncpp-0.10.6             |                1         163 KB  conda-forge
    libiconv-1.14              |                3         2.0 MB  conda-forge
    libarchive-3.2.1           |                2         2.3 MB  conda-forge
    cmake-3.6.2                |                0         7.9 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        12.6 MB

The following NEW packages will be INSTALLED:

    bzip2:           1.0.6-3     defaults    (soft-link)
    ca-certificates: 2016.8.31-0 conda-forge (soft-link)
    cmake:           3.6.2-0     conda-forge (soft-link)
    curl:            7.49.1-1    conda-forge (soft-link)
    expat:           2.1.0-2     conda-forge (soft-link)
    jsoncpp:         0.10.6-1    conda-forge (soft-link)
    libarchive:      3.2.1-2     conda-forge (soft-link)
    libiconv:        1.14-3      conda-forge (soft-link)
    ncurses:         5.9-9       conda-forge (soft-link)
    openssl:         1.0.2h-2    conda-forge (soft-link)
    xz:              5.2.2-0     conda-forge (soft-link)
    zlib:            1.2.8-3     conda-forge (soft-link)

ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/2/2621a', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/2/2621a', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p12', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-m', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p12-m', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-m-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p12-m-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p12-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p14', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-m', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p14-m', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-m-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p14-m-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p14-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p4', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p4', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p5', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p5', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p7', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p7', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p8', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p8', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p8-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p8-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p9', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-8', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p9-8', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-8-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p9-8-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p9-w', type=3, error=FileExistsError(17, 'File exists'))
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:Build prefix failed with prefix length 255
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:Error was: 
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:ERROR: placeholder '/opt/conda/envs/_build_placehold_placehold_placehold_placehold_placehold_placeho' too short in: conda-forge::ncurses-5.9-9

WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:One or more of your package dependencies needs to be rebuilt with a longer prefix length.
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:Falling back to legacy prefix length of 80 characters.
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:Your package will not install into prefixes > 80 characters.

The following NEW packages will be INSTALLED:

    bzip2:           1.0.6-3     defaults    (soft-link)
    ca-certificates: 2016.8.31-0 conda-forge (soft-link)
    cmake:           3.6.2-0     conda-forge (soft-link)
    curl:            7.49.1-1    conda-forge (soft-link)
    expat:           2.1.0-2     conda-forge (soft-link)
    jsoncpp:         0.10.6-1    conda-forge (soft-link)
    libarchive:      3.2.1-2     conda-forge (soft-link)
    libiconv:        1.14-3      conda-forge (soft-link)
    ncurses:         5.9-9       conda-forge (soft-link)
    openssl:         1.0.2h-2    conda-forge (soft-link)
    xz:              5.2.2-0     conda-forge (soft-link)
    zlib:            1.2.8-3     conda-forge (soft-link)

ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/2/2621a', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/2/2621a', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p12', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-m', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p12-m', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-m-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p12-m-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p12-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p14', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-m', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p14-m', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-m-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p14-m-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p14-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p4', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p4', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p5', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p5', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p7', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p7', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p8', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p8', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p8-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p8-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p9', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-8', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p9-8', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-8-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p9-8-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/share/terminfo/p/p9-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/hmac.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/ssl/man/man3/hmac.3', type=2, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/md5.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/ssl/man/man3/md5.3', type=2, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/mdc2.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/ssl/man/man3/mdc2.3', type=2, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/pem.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/ssl/man/man3/pem.3', type=2, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/rc4.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/ssl/man/man3/rc4.3', type=2, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/ssl.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/ssl/man/man3/ssl.3', type=2, error=FileExistsError(17, 'File exists'))

WARNING: conda-build appears to be out of date. You have version 2.0.3 but the
latest version is 2.0.4. Run

conda update -n root conda-build

to get the latest version.

WARNING: conda-build appears to be out of date. You have version 2.0.3 but the
latest version is 2.0.4. Run

conda update -n root conda-build

to get the latest version.

Source cache directory is: /feedstock_root/build_artefacts/src_cache
Found source in cache: bob.extension-2.3.1.zip
Applying patch: '/recipe_root/test.patch'
patching file bob/extension/test_extensions.py
BUILD START (revised): bob.extension-2.3.1-0
Package: bob.extension-2.3.1-0
source tree in: /feedstock_root/build_artefacts/recipe_root_1475907367617/work/bob.extension-2.3.1
+ source /opt/conda/bin/activate /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place
++ which cmake
+ ldd /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/cmake
    linux-vdso.so.1 =>  (0x00007ffe9d1fb000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f5dbfe42000)
    libexpat.so.1 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libexpat.so.1 (0x00007f5dbfc18000)
    libz.so.1 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libz.so.1 (0x00007f5dbf9fd000)
    libarchive.so.13 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libarchive.so.13 (0x00007f5dbf731000)
    libcurl.so.4 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libcurl.so.4 (0x00007f5dbf4cd000)
    libjsoncpp.so.0 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/libjsoncpp.so.0 (0x00007f5dbf294000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f5dbef8e000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f5dbed09000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f5dbeaf3000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f5dbe75f000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5dbe541000)
    /lib64/ld-linux-x86-64.so.2 (0x00005651f30b4000)
    libssl.so.1.0.0 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/./libssl.so.1.0.0 (0x00007f5dbe2c9000)
    libcrypto.so.1.0.0 => /feedstock_root/build_artefacts/recipe_root_1475907367617/_b_env_placehold_place/bin/../lib/./libcrypto.so.1.0.0 (0x00007f5dbde7b000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f5dbdc73000)
+ cmake --version
cmake: error while loading shared libraries: libarchive.so.13: cannot open shared object file: No such file or directory

with copy:

BUILD START: bob.extension-2.3.1-0
    (actual version deferred until further download or env creation)
Using Anaconda API: https://api.anaconda.org

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    bzip2-1.0.6                |                3          83 KB  defaults
    ca-certificates-2016.8.31  |                0         163 KB  conda-forge
    jsoncpp-0.10.6             |                1         163 KB  conda-forge
    libiconv-1.14              |                3         2.0 MB  conda-forge
    libarchive-3.2.1           |                2         2.3 MB  conda-forge
    cmake-3.6.2                |                0         7.9 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        12.6 MB

The following NEW packages will be INSTALLED:

    bzip2:           1.0.6-3     defaults    (copy)
    ca-certificates: 2016.8.31-0 conda-forge (copy)
    cmake:           3.6.2-0     conda-forge (copy)
    curl:            7.49.1-1    conda-forge (copy)
    expat:           2.1.0-2     conda-forge (copy)
    jsoncpp:         0.10.6-1    conda-forge (copy)
    libarchive:      3.2.1-2     conda-forge (copy)
    libiconv:        1.14-3      conda-forge (copy)
    ncurses:         5.9-9       conda-forge (copy)
    openssl:         1.0.2h-2    conda-forge (copy)
    xz:              5.2.2-0     conda-forge (copy)
    zlib:            1.2.8-3     conda-forge (copy)

ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/2/2621a', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/2/2621a', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p12', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-m', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p12-m', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-m-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p12-m-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p12-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p14', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-m', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p14-m', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-m-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p14-m-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p14-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p4', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p4', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p5', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p5', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p7', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p7', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p8', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p8', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p8-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p8-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p9', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-8', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p9-8', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-8-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p9-8-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/share/terminfo/p/p9-w', type=3, error=FileExistsError(17, 'File exists'))
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:Build prefix failed with prefix length 255
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:Error was: 
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:ERROR: placeholder '/opt/conda/envs/_build_placehold_placehold_placehold_placehold_placehold_placeho' too short in: conda-forge::ncurses-5.9-9

WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:One or more of your package dependencies needs to be rebuilt with a longer prefix length.
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:Falling back to legacy prefix length of 80 characters.
WARNING:/opt/conda/lib/python3.5/site-packages/conda_build/build.py:Your package will not install into prefixes > 80 characters.

The following NEW packages will be INSTALLED:

    bzip2:           1.0.6-3     defaults    (copy)
    ca-certificates: 2016.8.31-0 conda-forge (copy)
    cmake:           3.6.2-0     conda-forge (copy)
    curl:            7.49.1-1    conda-forge (copy)
    expat:           2.1.0-2     conda-forge (copy)
    jsoncpp:         0.10.6-1    conda-forge (copy)
    libarchive:      3.2.1-2     conda-forge (copy)
    libiconv:        1.14-3      conda-forge (copy)
    ncurses:         5.9-9       conda-forge (copy)
    openssl:         1.0.2h-2    conda-forge (copy)
    xz:              5.2.2-0     conda-forge (copy)
    zlib:            1.2.8-3     conda-forge (copy)

ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/2/2621a', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/2/2621a', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p12', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-m', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p12-m', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-m-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p12-m-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p12-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p12-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p14', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-m', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p14-m', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-m-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p14-m-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p14-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p14-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p4', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p4', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p5', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p5', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p7', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p7', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p8', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p8', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p8-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p8-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p9', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-8', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p9-8', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-8-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p9-8-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/ncurses-5.9-9/share/terminfo/p/p9-w', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/share/terminfo/p/p9-w', type=3, error=FileExistsError(17, 'File exists'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/hmac.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/ssl/man/man3/hmac.3', type=3, error=OSError(40, 'Too many levels of symbolic links'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/md5.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/ssl/man/man3/md5.3', type=3, error=OSError(40, 'Too many levels of symbolic links'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/mdc2.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/ssl/man/man3/mdc2.3', type=3, error=OSError(40, 'Too many levels of symbolic links'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/pem.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/ssl/man/man3/pem.3', type=3, error=OSError(40, 'Too many levels of symbolic links'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/rc4.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/ssl/man/man3/rc4.3', type=3, error=OSError(40, 'Too many levels of symbolic links'))
ERROR:conda.install:failed to link (src='/opt/conda/pkgs/openssl-1.0.2h-2/ssl/man/man3/ssl.3', dst='/feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/ssl/man/man3/ssl.3', type=3, error=OSError(40, 'Too many levels of symbolic links'))

WARNING: conda-build appears to be out of date. You have version 2.0.3 but the
latest version is 2.0.4. Run

conda update -n root conda-build

to get the latest version.

WARNING: conda-build appears to be out of date. You have version 2.0.3 but the
latest version is 2.0.4. Run

conda update -n root conda-build

to get the latest version.

Source cache directory is: /feedstock_root/build_artefacts/src_cache
Found source in cache: bob.extension-2.3.1.zip
Applying patch: '/recipe_root/test.patch'
patching file bob/extension/test_extensions.py
BUILD START (revised): bob.extension-2.3.1-0
Package: bob.extension-2.3.1-0
source tree in: /feedstock_root/build_artefacts/recipe_root_1475907739316/work/bob.extension-2.3.1
+ source /opt/conda/bin/activate /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place
++ which cmake
+ ldd /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/bin/cmake
    linux-vdso.so.1 =>  (0x00007fff21dd2000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f79529cc000)
    libexpat.so.1 => /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/bin/../lib/libexpat.so.1 (0x00007f79527a2000)
    libz.so.1 => /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/bin/../lib/libz.so.1 (0x00007f7952587000)
    libarchive.so.13 => /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/bin/../lib/libarchive.so.13 (0x00007f79522bb000)
    libcurl.so.4 => /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/bin/../lib/libcurl.so.4 (0x00007f7952057000)
    libjsoncpp.so.0 => /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/bin/../lib/libjsoncpp.so.0 (0x00007f7951e1e000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f7951b18000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f7951893000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f795167d000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f79512e9000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f79510cb000)
    /lib64/ld-linux-x86-64.so.2 (0x0000563864af0000)
    libssl.so.1.0.0 => /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/bin/../lib/./libssl.so.1.0.0 (0x00007f7950e53000)
    libcrypto.so.1.0.0 => /feedstock_root/build_artefacts/recipe_root_1475907739316/_b_env_placehold_place/bin/../lib/./libcrypto.so.1.0.0 (0x00007f7950a05000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f79507fd000)
+ cmake --version
cmake version 3.6.2
pelson commented 8 years ago

Within my docker container (condaforge/linux-anvil) I am able to reproduce the linking problem with conda-build 2 iff the conda-build root is /feedstock_root/build_artefacts. If I set it to /foo I don't see the problem. Perhaps a similar issue to https://github.com/conda/conda-build/issues/1337, except in this case, I am not getting an error - it is attempting the build, but subsequently fails.

I'm still trying to verify this, what is confusing is that I'm not entirely convinced it is a long prefix issue:

>>> len('/foo/recipe_root_1475916505573/_b_env_placehold_placehold_placehold_placehold_pl')
80
>>> len('/feedstock_root/build_artefacts/recipe_root_1475916341339/_b_env_placehold_place')
80

I suppose it is conceivable that one of the dependencies has a build prefix length of less than 80 even and is therefore unable to be installed in a 80 character long prefix...

shadowwalkersb commented 7 years ago

Does which cmake produce no output? How about which -a cmake?

shadowwalkersb commented 7 years ago

Also, RPATH for libarchive.so.13 may be useful. I can't remember the command from top of my mind ATM.

jakirkham commented 7 years ago

Do you mean something like this objdump -x <ELF> | grep RPATH?

jakirkham commented 7 years ago

FYI @mariusvniekerk offered to lend a hand trying to rebuild cmake with conda-build 2. TBH if that just fixes it, I'm not sure it is worth putting too much effort into trying to understand the cause of the problem. After all, we are already half way through the month so we need to start switching to a new Travis CI image at this point. ( https://github.com/conda-forge/conda-forge.github.io/issues/249 )

shadowwalkersb commented 7 years ago

Any updates here?

mariusvniekerk commented 7 years ago

So i'm having build issues trying to get libarchive working with conda-build 2. Seems to not be able to find the lzma stuff despite xz building and testing fine.

jakirkham commented 7 years ago

Do you have a log and other info you can share?

mariusvniekerk commented 7 years ago

So I'm getting failures building deps for cmake.

perl with conda-build 2.

t/op/utftaint ................................................. Insecure directory in $ENV{PATH} while running with -T switch at ./test.pl line 738.
# Looks like you planned 89 tests but ran 86.
FAILED--expected 89 tests, saw 86

ext/Devel-Peek/t/Peek ......................................... Insecure directory in $ENV{PATH} while running with -T switch at ../../t/test.pl line 738.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 2 just after 127.
FAILED--no leader found

lib/overload .................................................. Insecure directory in $ENV{PATH} while running with -T switch at ./test.pl line 738, <$iter_fh> line 18.

Failed 4 tests out of 2263, 99.82% okay.
### Since not all tests were successful, you may want to run some of
### them individually and examine any diagnostic messages they produce.
### See the INSTALL document's section on "make test".
### You have a good chance to get more information by running
###   ./perl harness
### in the 't' directory since most (>=80%) of the tests succeeded.
        ../ext/Devel-Peek/t/Peek.t
        ../lib/overload.t
        op/utftaint.t
        re/substT.t

This seems to be related to something that conda build is doing with $PATH manipulation?

m4 with conda-build 2

FAIL: test-update-copyright.sh

============================================================================
Testsuite summary for GNU M4 1.4.17
============================================================================
# TOTAL: 163
# PASS:  142
# SKIP:  20
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

This seems to be related to http://trac.clfs.org/ticket/1078

shadowwalkersb commented 7 years ago

I looked at a couple of libraries on conda-forge that cmake depends on. It looks like they have only $ORIGIN/. as RPATH. Then, cmake can't find them. According to ltrace output here, where I was trying to debug this same issue after I hit in my feedstock, then system paths are searched and libz and others are found in /usr/lib64. libarchive can't be found, because it simply doesn't exist or even after installing it with yum, the version is different. It is libarchive.so.2.8.3 found in /usr/lib64/libarchive.so.2.8.3 as opposed to the expected libarchive.so.13.

Setting LD_LIBRARY_PATH

export LD_LIBRARY_PATH=${PREFIX}/lib:$LD_LIBRARY_PATH

seems to have fixed the cmake problem in my feedstock, https://circleci.com/gh/GorgonCryoEM/gorgon-feedstock/146.

shadowwalkersb commented 7 years ago

Here is a summary of some relevant commits from my feedstock. Doesn't seem to be interesting, but here it goes anyways. Hope it helps.

  1. Working CircleCI commit (Re-rendered with conda-smithy 1.3.3 ): https://circleci.com/gh/GorgonCryoEM/gorgon-feedstock/150
  2. Broken, manually switched to conda-forge-build-setup=3.4.0 (unpinned conda-build ?): https://circleci.com/gh/GorgonCryoEM/gorgon-feedstock/151 cmake: error while loading shared libraries: libarchive.so.13: cannot open shared object file: No such file or directory
  3. Fixed: https://circleci.com/gh/GorgonCryoEM/gorgon-feedstock/152 Added this to build.sh export LD_LIBRARY_PATH=${PREFIX}/lib:$LD_LIBRARY_PATH
shadowwalkersb commented 7 years ago

Why is this thread gone silent? Are there other blockers or issues more pressing than this that delay it? Upgrading to conda-build 2 feels important, if I am not missing something.

msarahan commented 7 years ago

Something that may be relevant is this change: https://github.com/conda/conda-build/pull/1336/files

I'm not sure if that change makes binaries built with v1 incompatible with those built by v2. Do we have a complete v2-built foundation here?

shadowwalkersb commented 7 years ago

I can't see $ORIGIN/../lib added before or after that commit. So, that shouldn't introduce a behavior change in terms of $ORIGIN/../lib. But, it is in tests, here. 😕

msarahan commented 7 years ago

Sorry, I can't say I really understand what's going on in that test. @mingwandroid can you please chime in here?

shadowwalkersb commented 7 years ago

Are we interested in why v1 works , but v2 breaks? Or, do we want to fix whatever is incompatible or broken that causes the problems with v2?

shadowwalkersb commented 7 years ago

Well, given how pressing this issue, the inactivity of this thread drives me nuts. Maybe, overstepping, but since I haven't got any feedback on my previous RPATH posts, I'm gonna say it outright. Some, if not all, compiled (?) libraries like libarchive on conda-forge have missing RPATHs. Why is it not a problem with v1, but problem with v2? Why does it work when copied, but not when soft-linked? I am not sure ATM. But, I am sure the detailed debugging sessions I have linked to can help. I think, the current issue can be solved, maybe temporarily, by adding the missing RPATH in a patch release of conda-forge-build-setup-feedstock or something. Please, let me know, if I am missing something very obvious here.

scopatz commented 7 years ago

Is there a PR that fixes things?

mingwandroid commented 7 years ago

@shadowwalkersb : From your comment https://github.com/conda-forge/cmake-feedstock/issues/21#issuecomment-254432338

It looks like they have only $ORIGIN/. as RPATH. Then, cmake can't find them

Without a doubt, these libraries need to be rebuilt.

Soft-linking is inherently incompatible with $ORIGIN-relative RPATHs, and IMHO for this reason soft-linking should be removed altogether from conda: https://github.com/conda/conda/issues/864 https://github.com/conda/conda/issues/3308

shadowwalkersb commented 7 years ago

Is there a PR that fixes things?

Not on conda-forge. I didn't want to put much effort before getting some feedback here. But, it worked on my CI, see https://github.com/conda-forge/cmake-feedstock/issues/21#issuecomment-254432338 and https://github.com/conda-forge/cmake-feedstock/issues/21#issuecomment-254589591.

scopatz commented 7 years ago

@shadowwalkersb, if you open a PR, I think we'll have something to go from.

shadowwalkersb commented 7 years ago

The solution I would propose would be adding this to the recipes.

export LD_LIBRARY_PATH=${PREFIX}/lib:$LD_LIBRARY_PATH

Which recipe would you suggest to open a PR? Or, maybe patch conda-forge-build-setup-feedstock temporarily? That is where I am not sure how to proceed.

shadowwalkersb commented 7 years ago

Or, PR on cmake-feedstock and then try the fix on previously failing feedstocks?

mingwandroid commented 7 years ago

The solution I would propose would be adding this to the recipes

This is a workaround. Please read my comment: https://github.com/conda-forge/cmake-feedstock/issues/21#issuecomment-256067803

jakirkham commented 7 years ago

It looks like they have only $ORIGIN/. as RPATH. Then, cmake can't find them

Without a doubt, these libraries need to be rebuilt.

If you have time, I would add PRs to cmake's dependencies to fix this and maybe add some simple test to demonstrate they are fixed. ATM I don't have time to do this.

scopatz commented 7 years ago

I think conda-build explicitly avoids doing precisely that. If you happen to need it because the package cannot be statically linked, that is fine. But in general, I thought we avoided this.

jakirkham commented 7 years ago

By it, you are referring to setting LD_LIBRARY_PATH, @scopatz ? If so agreed, the Mac version of this is basically not allowed thanks to SIP. 😒

shadowwalkersb commented 7 years ago

This is a workaround. Please read my comment: #21 (comment)

I am aware it is a workaround. And, I am not going to get into how it should be handled in general. But, for now if it helps us move to conda-build 2, we can discuss if it is a good practice later, I think.

mingwandroid commented 7 years ago

In my opinion, using symlinks caused the broken $ORIGIN-relative paths in the first place. @jakirkham can you switch to copying or hard-linking only then rebuild the deps then rebuild cmake?

I believe that would fix everything.

jakirkham commented 7 years ago

As stated before, I don't have time to fix this. Someone else who has time should take this on.

shadowwalkersb commented 7 years ago

can you switch to copying or hard-linking only then rebuild the deps then rebuild cmake?

Where exactly do we do that? I mean, switiching to copying.

mingwandroid commented 7 years ago

I don't know enough about the conda-forge setup to say exactly, but from conda's perspective it's allow_softlinks:

http://conda.pydata.org/docs/config.html#advanced-configuration

jakirkham commented 7 years ago

So was debating disabling allow_softlinks globally, but I expect that is a big can of worms.

We don't really have a way to disable that on a per feedstock basis ATM (aside from hacking the CI files). Something like PR ( https://github.com/conda-forge/conda-smithy/pull/285 ) would give us that ability, but there are still some points of disagreement that are yet to be resolved.

Something like no_link would be ideal, but the current option is too extreme as hard links are still desirable.

shadowwalkersb commented 7 years ago

So, do you suggest going the RPATH fixing route for now, @jakirkham ?

jakirkham commented 7 years ago

What if we set LDFLAGS="-Wl,-rpath,${PREFIX}/libs/" for the builds of cmake and its linked dependencies? Would this work as a fix @mingwandroid ?

mingwandroid commented 7 years ago

-Wl,-rpath,\$ORIGIN/../lib might work, but let me get back to you when I've done some more research.

shadowwalkersb commented 7 years ago

-Wl,-rpath,\$ORIGIN/../lib might work, but let me get back to you when I've done some more research.

@mingwandroid , if you don't mind, what are your concerns here?

mingwandroid commented 7 years ago

I don't think there's any can of worms disabling symlinks for conda installs. My concerns are given in my previous comment that links to the two issues that describe in some detail, why symlinks are not compatible with conda rpath handling on Linux.

shadowwalkersb commented 7 years ago

I'm sure all those discussions that have been going on for a couple months need to be resolved, but I don't think we should wait for them for a few more conda and conda-build releases to solve the problem here. ATM we can't upgrade to conda-build v2. I'm sure not upgrading causes a lot of problems. And the major blocker seems to be cmake issues which are discussed here. As hacky they could be, can't we just go ahead with something, no matter how hacky or how ugly a workaround, to fix cmake and start rebuilds? I'm sorry for all the noise, but, I really can't see why this is not going forward.

jakirkham commented 7 years ago

Have you had time to look into this issue more, @mingwandroid ?

jjhelmus commented 7 years ago

Is this still a problem? I tried to replicate the original issue, building bob.extensions 2.3.4-py35 with conda 4.2.12 and conda-build 2.0.8 in the linux-anvil docker container and did not have any problems. Perhaps I am misunderstandings the original issue.

jakirkham commented 7 years ago

Are you sure it was building with conda-build version 2.0.8? 😕

Just opened this PR ( https://github.com/conda-forge/blosc-feedstock/pull/7 ), which demonstrates this exact problem. Feel free to build off of it if you wish to experiment.

jjhelmus commented 7 years ago

Thanks for the example @jakirkham. I wonder if the different was the conda version used, I was using 4.2.12, the blosc example uses 4.1.12. I'll look into this further tonight and try to debug what the issue is.

jjhelmus commented 7 years ago

I created a PR (conda-forge/blosc-feedstock#8) to test using the latest versions of conda-build: 2.0.8, conda: 4.2.12, and conda-env: 2.6.0. This successfully built and tested the blosc package, so perhaps the issue is not cmake and conda-build 2.0.x but rather conda-build 2.0.x and conda 4.1.x?

Perhaps @msarahan would know what changed between conda 4.1.x and 4.2.x which could explain this behavior. I noticed that the failing build had warnings about a short prefix size in ncurses and installed the build environment using soft-links, neither of which were present in the successful build.

msarahan commented 7 years ago

Sorry, I don't know what about conda's behavior in this area changed between 4.1.x and 4.2.x. My guess is that the warnings aren't showing up because conda 4.2.x is inappropriately hijacking the logger output. That is a known issue.

As for why it works anyway, I'm at a loss. When conda-build is unable to install some package into a long-prefix build environment (due to the package having short binary prefixes), it falls back to creating an 80-character build prefix. You can see that this is happening (despite Conda silencing conda-build's logger messages) by the duplicated install section at

The following NEW packages will be INSTALLED:

    bzip2:           1.0.6-3     defaults   
    ca-certificates: 2016.9.26-0 conda-forge
    cmake:           3.6.2-0     conda-forge
    curl:            7.49.1-1    conda-forge
    expat:           2.1.0-2     conda-forge
    jsoncpp:         0.10.6-1    conda-forge
    libarchive:      3.2.1-2     conda-forge
    libiconv:        1.14-3      conda-forge
    ncurses:         5.9-9       conda-forge
    openssl:         1.0.2h-2    conda-forge
    snappy:          1.1.3-2     conda-forge
    toolchain:       2.0.0-0     conda-forge
    xz:              5.2.2-0     conda-forge
    zlib:            1.2.8-3     conda-forge

The following NEW packages will be INSTALLED:

    bzip2:           1.0.6-3     defaults   
    ca-certificates: 2016.9.26-0 conda-forge
    cmake:           3.6.2-0     conda-forge
    curl:            7.49.1-1    conda-forge
    expat:           2.1.0-2     conda-forge
    jsoncpp:         0.10.6-1    conda-forge
    libarchive:      3.2.1-2     conda-forge
    libiconv:        1.14-3      conda-forge
    ncurses:         5.9-9       conda-forge
    openssl:         1.0.2h-2    conda-forge
    snappy:          1.1.3-2     conda-forge
    toolchain:       2.0.0-0     conda-forge
    xz:              5.2.2-0     conda-forge
    zlib:            1.2.8-3     conda-forge

If anything has changed between 4.1.x and 4.2.x, it is more intelligent symlink handling in conda. Conda-build 2 made changes to rpath stuff that probably broke incorrect assumptions that conda made about rpaths. The conda-build changes were a necessary fix. Essentially anything that had embedded binaries outside of the standard bin location was broken. We saw this in particular with repackaging Java binaries from Azul Systems. See https://github.com/conda/conda-build/pull/1336 for more details on when this changed.

jjhelmus commented 7 years ago

Thanks for the information @msarahan, I think I have a better understanding on what is going on here, namely that an 80-character build prefix package is being created.

I believe the root of the issue is that three of the build requirements for blosc are 80-character prefix packages in the conda-forge channel, ncurses, openssl, and curl). Replacing these with long prefix package, copied from the defaults channel, results in a successful build of a long prefix package.

For conda-forge to move to conda build 2.0.x all short prefix packages will need to be rebuilt. These have been identified. This task will be a bit tricky as to building a long prefix package required all the build/run/test requirements to support long prefixes and some of the packages on that list have circular dependencies (ncurses and pkg_config for instance). Bootstrapping these from packages copied from defaults may be one option.

Unrelated, it looks like the conda build configuration settings listed in conda documentation are not supported by conda 4.2.12. Specifically setting the root-dir. Is this a known issue or does it need to be reported? I tried searching for a mention of this on the conda GitHub issue tracker but was not able to find anything related.

jakirkham commented 7 years ago

Unrelated, it looks like the conda build configuration settings listed in conda documentation are not supported by conda 4.2.12. Specifically setting the root-dir.

That was supposed to be fixed ( https://github.com/conda/conda/issues/3744 ). 😕 Are you sure you are using 4.2.12 and not 4.2.11?

jakirkham commented 7 years ago

So if upgrading conda alone solves this problem, there is PR ( https://github.com/conda-forge/conda-feedstock/pull/13 ) to do exactly that.