Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error loading shared object with conda-build 2 #21

Closed
pelson opened this issue Oct 8, 2016 · 54 comments
Closed

error loading shared object with conda-build 2 #21

pelson opened this issue Oct 8, 2016 · 54 comments

Comments

@pelson
Copy link
Member

pelson commented Oct 8, 2016

I have been able to reproduce the problem identified in #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
Copy link
Member Author

pelson commented Oct 8, 2016

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

@pelson
Copy link
Member Author

pelson commented Oct 8, 2016

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
Copy link
Member Author

pelson commented Oct 8, 2016

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 conda/conda-build#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
Copy link

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

@shadowwalkersb
Copy link

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

@jakirkham
Copy link
Member

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

@jakirkham
Copy link
Member

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. ( conda-forge/conda-forge.github.io#249 )

@shadowwalkersb
Copy link

Any updates here?

@mariusvniekerk
Copy link
Member

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
Copy link
Member

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

@mariusvniekerk
Copy link
Member

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
Copy link

shadowwalkersb commented Oct 18, 2016

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
Copy link

shadowwalkersb commented Oct 18, 2016

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
Copy link

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
Copy link
Member

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
Copy link

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
Copy link
Member

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

@shadowwalkersb
Copy link

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
Copy link

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
Copy link
Member

scopatz commented Oct 25, 2016

Is there a PR that fixes things?

@mingwandroid
Copy link
Contributor

@shadowwalkersb : From your comment #21 (comment)

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:
conda/conda#864
conda/conda#3308

@shadowwalkersb
Copy link

shadowwalkersb commented Oct 25, 2016

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 #21 (comment) and #21 (comment).

@scopatz
Copy link
Member

scopatz commented Oct 25, 2016

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

@shadowwalkersb
Copy link

shadowwalkersb commented Oct 25, 2016

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
Copy link

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

@mingwandroid
Copy link
Contributor

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

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

@shadowwalkersb
Copy link

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
Copy link
Contributor

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
Copy link
Member

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 ( conda-forge/conda-smithy#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
Copy link

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

@jakirkham
Copy link
Member

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
Copy link
Contributor

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

@shadowwalkersb
Copy link

-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
Copy link
Contributor

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
Copy link

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
Copy link
Member

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

@jjhelmus
Copy link

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
Copy link
Member

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

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

@jjhelmus
Copy link

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
Copy link

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
Copy link
Member

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 conda/conda-build#1336 for more details on when this changed.

@jjhelmus
Copy link

jjhelmus commented Nov 11, 2016

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
Copy link
Member

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 ( conda/conda#3744 ). 😕 Are you sure you are using 4.2.12 and not 4.2.11?

@jakirkham
Copy link
Member

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

@jjhelmus
Copy link

That was supposed to be fixed ( conda/conda#3744 ). Are you sure you are using 4.2.12 and not 4.2.11?

Still seeing the buggy behavior in 4.2.12. Has a conda release been made after that fix?

@jjhelmus
Copy link

Has a conda release been made after that fix?

Yup although it does not seem as if the patch fixed the actual issue.

@jakirkham
Copy link
Member

Thanks for helping get issue ( conda/conda#3744 ) actually fixed.

@jschueller
Copy link
Contributor

seems fixed, closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants