Skip to content

Using --install-prefix gives a conv-mach-opt.sh which still references the source directory #3854

@heatherkellyucl

Description

@heatherkellyucl

I was investigating whether --install-prefix= was a better option to use for build than --destination= when building using the Spack recipe for charmplusplus 7 and 8.

This is a build outside Spack, just using an openmpi, ucx and pmix built by it (hence the long --basedir placeholder paths).

This is using the 8.0.0 release tarball.

./build LIBS ucx-linux-x86_64 gcc gfortran -j6 --install-prefix=/home/ccspapp/Scratch/charmpp/charm-8.0.0_install ompipmix '--basedir=/lustre/shared/ucl/apps/spack/0.22/hk-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/linux-rhel7-cascadelake/gcc-12.3.0/openmpi-4.1.6-vfg7lekutaiginlgvs57titvpvnjgys5/' '--basedir=/lustre/shared/ucl/apps/spack/0.22/hk-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/linux-rhel7-cascadelake/gcc-12.3.0/ucx-1.16.0-xrxjlowa7a3vqa3qt4n74ojkd4dz5ybh' '--basedir=/lustre/shared/ucl/apps/spack/0.22/hk-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/linux-rhel7-cascadelake/gcc-12.3.0/pmix-5.0.1-w5bqx7e24eqivi55mkp7fchr45sjt6dv/' smp --build-shared --with-production -v

This builds and installs successfully both inside and outside Spack, but I cannot then build namd using it because include/conv-mach-opt.sh tries to source include/cc-gcc.sh, include/conv-mach-ompipmix.sh and include/conv-mach-smp.sh all from the original source location, which would be deleted after the install. Those files all exist in the install, they just aren't being referenced in that location.

include/completion.def.h and include/CkIO_impl.def.h are the only other non-binaries that also mention the source location, but those appear to all be comment lines.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions