No, creating symlinks is not an acceptable solution. HOOMD's conda-forge build should provide the correct dependencies so that it finds the needed header files with the correct ABI in your conda environment. We need to rebuild the conda-forge package to fix this problem.
1. Install mambaforge in a clean directory.
2. $ ~/mambaforge/bin/mamba install hoomd pytest
3. $ ~/mambaforge/bin/pytest --pyargs hoomd.hpmc.pytest
The full error message provides helpful information (below). The `-internal-isystem /Users/joaander/mambaforge/lib/clang/14.0.6/include` is where stdio.h should be found. In my installation, mambaforge/lib/clang/14.0.6 doesn't exist. There is a /mambaforge/lib/clang/14.0.4/include, but it only contains omp.h. HOOMD *should* be using clang 13 instead of 14 and pulling the include files from mambaforge/lib/clang/13.0.1 which is present on my system and contains stdio.h
E
E #include <stdio.h>
E #include "hoomd/HOOMDMath.h"
E #include "hoomd/VectorMath.h"
E
E // param_array (singlet class) or param_array_isotropic
E // and param_array_constituent (union class) are
E // allocated by the library
E float *param_array;
E
E
E using namespace hoomd;
E
E extern "C"
E {
E float eval(const vec3<float>& r_ij,
E unsigned int type_i,
E const quat<float>& q_i,
E float d_i,
E float charge_i,
E unsigned int type_j,
E const quat<float>& q_j,
E float d_j,
E float charge_j)
E {
E return -1;
E }
E }
E
E Compilation arguments:
E -cc1
E -triple
E arm64-apple-macosx12.0.0
E -Wundef-prefix=TARGET_OS_
E -Werror=undef-prefix
E -Wdeprecated-objc-isa-usage
E -Werror=deprecated-objc-isa-usage
E -emit-llvm
E -disable-free
E -clear-ast-before-backend
E -disable-llvm-verifier
E -discard-value-names
E -main-file-name
E _
hoomd_llvm_code.ccE -mrelocation-model
E pic
E -pic-level
E 2
E -mframe-pointer=non-leaf
E -ffp-contract=on
E -fno-rounding-math
E -funwind-tables=2
E -fcompatibility-qualified-id-block-type-checking
E -fvisibility-inlines-hidden-static-local-var
E -target-cpu
E apple-m1
E -target-feature
E +v8.5a
E -target-feature
E +fp-armv8
E -target-feature
E +neon
E -target-feature
E +crc
E -target-feature
E +crypto
E -target-feature
E +dotprod
E -target-feature
E +fp16fml
E -target-feature
E +ras
E -target-feature
E +lse
E -target-feature
E +rdm
E -target-feature
E +rcpc
E -target-feature
E +zcm
E -target-feature
E +zcz
E -target-feature
E +fullfp16
E -target-feature
E +sha2
E -target-feature
E +aes
E -target-abi
E darwinpcs
E -fallow-half-arguments-and-returns
E -mllvm
E -treat-scalable-fixed-error-as-warning
E -debugger-tuning=lldb
E -target-linker-version
E 609
E -fcoverage-compilation-dir=/Users/joaander
E -resource-dir
E /Users/joaander/mambaforge/lib/clang/14.0.6
E -D
E HOOMD_LLVMJIT_BUILD
E -I
E /Users/joaander/mambaforge/lib/python3.9/site-packages/hoomd/include
E -stdlib=libc++
E -internal-isystem
E /Users/joaander/mambaforge/bin/../include/c++/v1
E -internal-isystem
E /usr/local/include
E -internal-isystem
E /Users/joaander/mambaforge/lib/clang/14.0.6/include
E -internal-externc-isystem
E /usr/include
E -O3
E --std=c++14
E -fdeprecated-macro
E -fdebug-compilation-dir=/Users/joaander
E -ferror-limit
E 19
E -stack-protector
E 1
E -fblocks
E -fencode-extended-block-signature
E -fregister-global-dtors-with-atexit
E -fgnuc-version=4.2.1
E -fcxx-exceptions
E -fexceptions
E -fmax-type-align=16
E -vectorize-loops
E -vectorize-slp
E -D__GCC_HAVE_DWARF2_CFI_ASM=1
E -o
E _hoomd_llvm_code.ll
E -x
E c++
E _
hoomd_llvm_code.ccE
E In file included from
code.cc:2:
E /Users/joaander/mambaforge/bin/../include/c++/v1/stdio.h:107:15: fatal error: 'stdio.h' file not found
E #include_next <stdio.h>
E ^~~~~~~~~
E Error generating code.
E 1 error generated.
------
Joshua A. Anderson, Ph.D.
Research Area Specialist, Chemical Engineering, University of Michigan