-
Notifications
You must be signed in to change notification settings - Fork 9
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
Installation doesn't find configured packages #146
Comments
What do you have for PETSC_INCLUDE_DIR in build/CMakeCache.txt? Can you send this file? @cameronrutherford @jaelynlitz |
Of course! I attached the file and also copied out the petsc relevant parts:
|
I am a little confused about what's going wrong here. If possible, I would suggest in updating PETSc to a newer version, and running with Since you aren't building with Ipopt, and you are running on a linux box, have you considered using our ghcr package to get started? You can try pulling this version of the ExaGO package for example. Based on our # Build stage with Spack pre-installed and ready to be used
FROM spack/ubuntu-jammy as builder
# Install OS packages needed to build the software
RUN apt-get -yqq update && apt-get -yqq upgrade \
&& apt-get -yqq install autoconf \
&& rm -rf /var/lib/apt/lists/*
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&& (echo spack: \
&& echo ' specs:' \
&& echo ' - exago@1.6.0~ipopt+python+mpi' \
&& echo ' ^libffi@3.4.2' \
&& echo ' ^petsc~fortran~hdf5~hypre+metis' \
&& echo ' concretizer:' \
&& echo ' unify: true' \
&& echo ' reuse: true' \
&& echo ' mirrors:' \
&& echo ' spack: https://binaries.spack.io/develop' \
&& echo ' packages:' \
&& echo ' all:' \
&& echo ' providers:' \
&& echo ' mpi:' \
&& echo ' - openmpi' \
&& echo ' zlib-api:' \
&& echo ' - zlib' \
&& echo ' zlib-ng:' \
&& echo ' buildable: false' \
&& echo ' mpich:' \
&& echo ' buildable: false' \
&& echo ' config:' \
&& echo ' install_tree: /opt/software' \
&& echo ' view: /opt/views/view') > /opt/spack-environment/spack.yaml
# Find external packages
RUN cd /opt/spack-environment && spack env activate . && spack external find --all --exclude python
# Do this separate of install to cache keys...
RUN cd /opt/spack-environment && spack env activate . && spack mirror add develop https://binaries.spack.io/develop && spack buildcache keys --install --trust && spack concretize -f && ( spack mirror create -a || true )
# Install buggy linux-uuid package
RUN cd /opt/spack-environment && spack env activate . && spack install --no-checksum --fail-fast util-linux-uuid
# Install PETSc
RUN cd /opt/spack-environment && spack env activate . && spack install --fail-fast petsc
# Install the software, remove unnecessary deps
RUN cd /opt/spack-environment && spack env activate . && spack install --fail-fast && spack gc -y
# Strip all the binaries
RUN find -L /opt/views/view/* -type f -exec readlink -f '{}' \; | \
xargs file -i | \
grep 'charset=binary' | \
grep 'x-executable\|x-archive\|x-sharedlib' | \
awk -F: '{print $1}' | xargs strip
# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
spack env activate --sh -d . > activate.sh
RUN { \
echo '#!/bin/sh' \
&& echo '.' /opt/spack-environment/activate.sh \
&& echo 'exec "$@"'; \
} > /entrypoint.sh \
&& chmod a+x /entrypoint.sh \
&& ln -s /opt/views/view /opt/view
RUN apt-get -yqq update && apt-get -yqq upgrade \
&& apt-get -yqq install gfortran \
&& rm -rf /var/lib/apt/lists/*
ENTRYPOINT [ "/entrypoint.sh" ]
CMD [ "/bin/bash" ]
# Make sure root user gets spack packages
RUN echo "source /entrypoint.sh" >> /root/.bashrc |
Hi Cameron, haven't considered but I will try. I have not really used docker before, but probably something that I should do anyway so I will see how far I get with that, thanks! |
Running the above as a Dockefile fails while installing PETsc and/or Blas:
|
The linked docker image works though.. Is there also an available docker image including GPU support ? And if so, how can I find the available images? Thank you already though to get me started! |
We don't currently have a docker image that we build / publish with GPU support unfortunately. We really need CoinHSL in order to get most of ExaGO's complex applications functioning, so this for a while has blocked us supporting builds for SCOPFLOW / SOPFLOW and GPU builds out of the box. I suppose we could go a ghcr image for CUDA / ROCm as well, but again they wouldn't have SOPFLOW / SCOPFLOW supported... |
That's quite the ugly error... If you add a copy of the line If you can't get anywhere with that, it might be worth reporting a bug with the openblas folk... |
Issue type
Relates to
Summary
I have followed the Manual installation as carefully as possieble, installed all dependencies ( PETSC 3.16.0, CMake 3.22.1, OpenMPI 4.1.2 and blas) and the build call runs, but the make -j call fails.
I installed petsc in a non-standard directory and and it passed the make test all call. The Environment variables $PETSC_DIR and $PETSC_ARCH are set specific to that installation. The pther dependencies are installed in standard locations.
I also tried installation using spacks but it failed also. I have no experience with spacks just gave it a quick try. I tried different petsc versions and installations but never managed to fully run make install.
Exact commands to reproduce, if applicable
The cmake call:
cmake .. -DCMAKE_INSTALL_PREFIX=$INSTALLDIR -DPETSC_DIR=$PETSC_DIR -DPETSC_ARCH="petsc-3-16" -DCMAKE_BUILD_TYPE=Debug
followed by:
make install
or
make -j
which fails.
I am running everything on a virtual linux machine (Ubuntu).
Relevant logs and/or screenshots, if applicable
The successful cmake call specifically finding petsc:
And the error message for make -j:
make install throws a similar message regarding petsc.h
p.s. I am fairly unexperienced, if I can approve on describing the issue please let me know.
The text was updated successfully, but these errors were encountered: