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

Trouble building Conda sparta env on macOS #523

Open
kathlenemagnus opened this issue Sep 13, 2024 · 1 comment
Open

Trouble building Conda sparta env on macOS #523

kathlenemagnus opened this issue Sep 13, 2024 · 1 comment

Comments

@kathlenemagnus
Copy link
Contributor

I am trying to build the Sparta conda env on my Mac and the command hangs here:

$ ./scripts/create_conda_env.sh sparta dev
+ cd ./scripts/..
+ ./scripts/render_recipe_for_platform.sh rendered_recipe.dlkPII
conda is /Users/kathlenehurt/miniconda3/bin/conda
jq is /Users/kathlenehurt/miniconda3/bin/jq
yq is /Users/kathlenehurt/miniconda3/bin/yq
Rendering recipe in /Users/kathlenehurt/Desktop/sparcians/map/conda.recipe
Warning: 'conda-forge' already in 'channels' list, moving to the top
+ conda render -m .ci_support/osx_64_.yaml --file rendered_recipe.dlkPII conda.recipe
/Users/kathlenehurt/miniconda3/lib/python3.11/site-packages/conda_build/environ.py:499: UserWarning: The environment variable 'SYSTEM_DEFAULTWORKINGDIRECTORY' is being passed through with value '/Users/kathlenehurt/Desktop/sparcians/map'.  If you are splitting build and test phases with --no-test, please ensure that this value is also set similarly at test time.
  warnings.warn(

I've tried building the "safe" env but get a long list of missing packages:

$ conda env create -f scripts/rendered_safe_environment.yaml 
Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound: 
  - mpfr==4.2.1=h38ae2d0_2
  - libxkbcommon==1.7.0=h2c5496b_1
  - gmp==6.3.0=hac33072_2
  - gst-plugins-base==1.24.6=hbaaba92_0
  - libexpat==2.6.2=h59595ed_0
  - gstreamer==1.24.6=haf2f30d_0
  - xorg-libxcursor==1.2.0=h0b41bf4_1
  - xorg-libice==1.1.1=hd590300_0
  - contourpy==1.2.1=py310hd41b1e2_0
  - make==4.3=hd18ef5c_1
  - xorg-damageproto==1.2.1=h7f98852_1002
  - libxml2==2.12.7=h4c95cb1_3
  - lerc==4.0.0=h27087fc_0
  - libsqlite==3.46.0=hde9e2c9_0
  - clang-15==15.0.7=default_h127d8a8_5
  - yaml-cpp==0.8.0=h59595ed_0
  - xorg-inputproto==2.3.2=h7f98852_1002
  - xorg-util-macros==1.19.3=h7f98852_0
  - unicodedata2==15.1.0=py310h2372a71_0
  - xorg-randrproto==1.5.0=h7f98852_1001
  - keyutils==1.6.1=h166bdaf_0
  - xz==5.2.6=h166bdaf_0
  - libzlib==1.3.1=h4ab18f5_1
  - xorg-libxdmcp==1.1.3=h7f98852_0
  - readline==8.2=h8228510_1
  - xorg-libsm==1.2.4=h7391055_0
  - xorg-libxext==1.3.4=h0b41bf4_2
  - zstd==1.5.6=ha6fb4c9_0
  - xorg-libxi==1.7.10=h4bc722e_1
  - icu==73.2=h59595ed_0
  - zlib==1.3.1=h4ab18f5_1
  - lcms2==2.16=hb7c19ff_0
  - openjpeg==2.5.2=h488ebb8_0
  - atk-1.0==2.38.0=h04ea711_2
  - graphite2==1.3.13=h59595ed_1003
  - tinyxml2==10.0.0=h59595ed_0
  - libedit==3.1.20191231=he28a2e2_2
  - gxx_impl_linux-64==12.4.0=h557a472_0
  - expat==2.6.2=h59595ed_0
  - libnsl==2.0.1=hd590300_0
  - glib-tools==2.80.3=h73ef956_1
  - hdf5==1.14.3=nompi_hdf9ad27_105
  - libvorbis==1.3.7=h9c3ff4c_0
  - sqlite==3.46.0=h6d4b2fc_0
  - openssl==3.3.1=h4bc722e_2
  - xorg-xextproto==7.3.0=h0b41bf4_1003
  - xorg-xproto==7.0.31=h7f98852_1007
  - boost==1.78.0=py310hc4a4660_4
  - python==3.10.14=hd12c33a_0_cpython
  - xorg-libxrandr==1.5.2=h7f98852_1
  - lz4-c==1.9.4=hcb278e6_0
  - libnghttp2==1.58.0=h47da74e_1
  - pango==1.54.0=h84a9a3c_0
  - kiwisolver==1.4.5=py310hd41b1e2_1
  - xxhash==0.8.2=hd590300_0
  - libclang-cpp15==15.0.7=default_h127d8a8_5
  - xorg-libxinerama==1.1.5=h27087fc_0
  - numpy==1.21.6=py310h45f3432_0
  - libxcb==1.16=hd590300_0
  - _libgcc_mutex==0.1=conda_forge
  - libiconv==1.17=hd590300_2
  - hicolor-icon-theme==0.17=ha770c72_2
  - glib==2.80.3=h8a4344b_1
  - libblas==3.9.0=23_linux64_openblas
  - boost-cpp==1.78.0=h2c5509c_4
  - libbrotlidec==1.1.0=hd590300_1
  - cython==3.0.10=py310hc6cd4ac_0
  - freetype==2.12.1=h267a509_2
  - pyyaml==6.0.1=py310h2372a71_1
  - gdk-pixbuf==2.42.12=hb9ae30d_0
  - rsync==3.3.0=he6cb5fe_0
  - libopus==1.3.1=h7f98852_1
  - ld_impl_linux-64==2.40=hf3520f5_7
  - pcre2==10.44=h0f59acf_0
  - libcurl==8.9.1=hdb1bdb2_0
  - libcups==2.3.3=h4637d8d_4
  - libev==4.33=hd590300_2
  - libwebp-base==1.4.0=hd590300_0
  - binutils_linux-64==2.40=hb3c18ed_0
  - binutils_impl_linux-64==2.40=ha1999f0_7
  - rhash==1.4.4=hd590300_0
  - texlive-core==20230313=h14aa9ea_12
  - llvm-tools==15.0.7=hb3ce162_4
  - librsvg==2.58.2=hf0cb8fb_0
  - cairo==1.18.0=hbb29018_2
  - brotli-bin==1.1.0=hd590300_1
  - libtiff==4.6.0=h1dd3fc0_3
  - alsa-lib==1.2.12=h4ab18f5_0
  - xorg-libxrender==0.9.11=hd590300_0
  - harfbuzz==8.5.0=hfac3d4d_0
  - _openmp_mutex==4.5=2_gnu
  - libjpeg-turbo==3.0.0=hd590300_1
  - cppcheck==2.14.2=py310h5d8bd85_0
  - libopenblas==0.3.27=pthreads_hac2b453_1
  - yaml==0.2.5=h7f98852_2
  - at-spi2-atk==2.38.0=h0630a04_3
  - libcblas==3.9.0=23_linux64_openblas
  - wxpython==4.2.1=py310h809cb23_6
  - matplotlib-base==3.8.4=py310hef631a5_2
  - popt==1.16=h0b475e3_2002
  - libdeflate==1.20=hd590300_0
  - wayland==1.23.0=h5291e77_0
  - xorg-libxfixes==5.0.3=h7f98852_1004
  - at-spi2-core==2.40.3=h0630a04_0
  - libaec==1.1.3=h59595ed_0
  - ncurses==6.5=h59595ed_0
  - doxygen==1.10.0=h661eb56_0
  - xorg-libxtst==1.2.5=h4bc722e_0
  - fribidi==1.0.10=h36c2ea0_0
  - libxcrypt==4.4.36=hd590300_1
  - libbrotlicommon==1.1.0=hd590300_1
  - libpng==1.6.43=h2797004_0
  - rapidjson==1.1.0.post20240409=hac33072_1
  - xorg-compositeproto==0.4.2=h7f98852_1001
  - libgomp==14.1.0=h77fa898_0
  - pcre==8.45=h9c3ff4c_0
  - xorg-fixesproto==5.0=h7f98852_1002
  - libstdcxx-ng==14.1.0=hc0a3c3a_0
  - libssh2==1.11.0=h0841786_0
  - wxwidgets==3.2.5=h400ed56_1
  - epoxy==1.5.10=h166bdaf_1
  - gxx_linux-64==12.4.0=h8489865_0
  - dbus==1.13.6=h5008d03_3
  - brotli==1.1.0=hd590300_1
  - krb5==1.21.3=h659f571_0
  - xorg-libxcomposite==0.4.6=h0b41bf4_1
  - fontconfig==2.14.2=h14ed4e7_0
  - libgcc-ng==14.1.0=h77fa898_0
  - tk==8.6.13=noxft_h4845f30_101
  - pillow==10.4.0=py310hebfe307_0
  - xorg-renderproto==0.11.1=h7f98852_1002
  - clangxx==15.0.7=default_h127d8a8_5
  - libgfortran5==14.1.0=hc5f4f2c_0
  - libsanitizer==12.4.0=h46f95d5_0
  - libffi==3.4.2=h7f98852_5
  - xkeyboard-config==2.42=h4ab18f5_0
  - bzip2==1.0.8=h4bc722e_7
  - clang==15.0.7=h39da44c_5
  - xorg-libx11==1.8.9=hb711507_1
  - c-ares==1.32.3=h4bc722e_0
  - libglib==2.80.3=h8a4344b_1
  - gcc_linux-64==12.4.0=h6b7512a_0
  - xorg-libxau==1.0.11=hd590300_0
  - ca-certificates==2024.7.4=hbcca054_0
  - libgfortran-ng==14.1.0=h69a702a_0
  - pthread-stubs==0.4=h36c2ea0_1001
  - cmake==3.30.2=hf8c4bd3_0
  - gtk3==3.24.43=h0359ba6_0
  - libbrotlienc==1.1.0=hd590300_1
  - libuv==1.48.0=hd590300_0
  - xorg-libxxf86vm==1.1.5=h4bc722e_1
  - fonttools==4.53.1=py310h5b4e0ec_0
  - libogg==1.3.5=h4ab18f5_0
  - pixman==0.43.2=h59595ed_0
  - xorg-kbproto==1.0.7=h7f98852_1002
  - xorg-libxdamage==1.1.5=h7f98852_1
  - gcc_impl_linux-64==12.4.0=hb2e57f8_0
  - liblapack==3.9.0=23_linux64_openblas
  - xorg-recordproto==1.14.2=h7f98852_1002
  - libuuid==2.38.1=h0b41bf4_0
  - libllvm15==15.0.7=hb3ce162_4

I'm using Conda version 23.7.4 and the latest version of the map repo.

@kathlenemagnus
Copy link
Contributor Author

So my first problem is that I'm impatient and didn't let the create_conda_env.sh script run long enough. After letting it run, I do come across a real error:

    ValueError: Incompatible component merge:
      - 'h2f2b2fd_4'
      - 'hfcd56d9_4'

Which seems to be caused by the environment yaml including 2 different versions of boost:

$ egrep h2f2b2fd_4 environment.GvLbsq.yml 
  - boost-cpp=1.78.0=h2f2b2fd_4
$ egrep hfcd56d9_4 environment.GvLbsq.yml 
  - boost-cpp=1.85.0=hfcd56d9_4

I've actual seen this same error when building the Sparta Conda env on WSL. I tried directly modifying the environment yaml to remove the duplicate entries for boost (1.85.0), icu (75.1) and libxml2 (2.12.7=heaf3512_4), but I ended up with a MASSIVE error message that listed a bunch of libraries that were incompatible with each other.

So then I tried just removing the version specifiers in these environment yaml for these libraries

dependencies:
  - boost-cpp
  - icu
  - libboost-devel
  - libboost-headers
  - libboost
  - libxml2

And that seems to work! I'm not very familiar with the create_conda_env.sh script, but I'll take a look and see if I can submit a fix.

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

1 participant