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

pomerol linking error: cannot compile #2

Open
fgoudreault opened this issue Dec 2, 2021 · 3 comments
Open

pomerol linking error: cannot compile #2

fgoudreault opened this issue Dec 2, 2021 · 3 comments

Comments

@fgoudreault
Copy link

Dear developers, I am trying to compile your package to test out the pomerol solver in dcore. Unfortunately, I am not able to compile it on the supercluster I am working on. Here are my steps:

  1. compile libcommute. Everything runs fine and I use compilers (gcc 9.3.0) with openmpi (4.0.3) and eigen (3.3.7) compiled on my cluster.
    1. download: git clone https://github.com/krivenko/libcommute.git libcommute.src
    2. create build/install directories: mkdir libcommute.ins && mkdir libcommute.build && cd libcommute.build
    3. configure: CC=mpicc CXX=mpic++ cmake ../libcommute.src/ -DCMAKE_INSTALL_PREFIX=../libcommute.ins/ -DEXAMPLES=ON -DTESTS=ON
    4. make/test/install: make && make test && make install
  2. compile pomerol and link it with libcommute (ok). I used boost with mpi compilers (1.72.0):
    1. download: git clone https://github.com/aeantipov/pomerol.git pomerol.src
    2. create build/install directories: mkdir pomerol.ins && mkdir pomerol.build && cd pomerol.build
    3. configure: CC=mpicc CXX=mpic++ cmake ../pomerol.src/ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../pomerol.ins/ -Dlibcommute_DIR=../libcommute.ins/lib/cmake/
    4. make/test/install: make && make doc && make test && make install
  3. compile pomerol2dcore.
    1. download: git clone https://github.com/j-otsuki/pomerol2dcore.git pomerol2dcore.src
    2. create build/installation directories: mkdir pomerol2dcore.ins && mkdir pomerol2dcore.build && cd pomerol2dcore.build
    3. Configure: CC=mpicc CXX=mpic++ cmake ../pomerol2dcore.src/ -DCMAKE_INSTALL_PREFIX=../pomerol2dcore.ins/ -Dpomerol_DIR=../pomerol.ins/
      • Configure runs ok but does not seem to be able to find the pomerol package even though no errors are thrown. Here is the configure log:
-- The CXX compiler identification is GNU 9.3.0
-- Check for working CXX compiler: /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx512/Compiler/gcc9/openmpi/4.0.3/bin/mpic++
-- Check for working CXX compiler: /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx512/Compiler/gcc9/openmpi/4.0.3/bin/mpic++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- pomerol2dcore version 1.6
-- Pomerol includes : 
-- Pomerol libraries : 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fgoudrea/Workspace/triqs/pomerol2dcore.build
4. `make`:
    - Compiling stops quickly with this error message:
Scanning dependencies of target pomerol2dcore
[ 20%] Building CXX object CMakeFiles/pomerol2dcore.dir/src/pomerol2dcore.cpp.o
/home/fgoudrea/Workspace/triqs/pomerol2dcore.src/src/pomerol2dcore.cpp:7:10: fatal error: pomerol.h: No such file or directory
    7 | #include <pomerol.h>
      |          ^~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/pomerol2dcore.dir/build.make:63: CMakeFiles/pomerol2dcore.dir/src/pomerol2dcore.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/pomerol2dcore.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

If you have any insight for this I'd be glad. Thanks!

@maplezmf
Copy link

maplezmf commented Jan 4, 2023

Dear fgoudreault:
Have you successed?
I copy the *.h files from pomerol to pomerol2dcore include directory.
However, another error showed.

fatal error: pomerol/OperatorPresets.h: No such file or directory
6 | #include <pomerol/OperatorPresets.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

I couldn't find OperatorPresets.h anywhere, even on the internet.

Any suggestions?

@shinaoka
Copy link
Collaborator

shinaoka commented Jan 4, 2023

I am sorry! We missed the message.
pomerol2dcore supports only older versions of pomerol because drastic changes in the internal structure of pomeral were made a few years ago.

The latest version supported is commit 7a45b6a8b8254dcbf8cdd594ba168a5fae4d151 (slightly before version 1.3).

FYI, the following is my CMake scripts.

pomerol:

 cmake \
     -DCMAKE_VERBOSE_MAKEFILE=1 \
     -DCMAKE_BUILD_TYPE=Release \
     -DDocumentation=OFF \
     -DCMAKE_INSTALL_PREFIX=/sharehome/tools/opt/pomerol \
     $HOME/sharehome/repos/pomerol

pomerol2dcore:

cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_CXX_COMPILER=mpicxx \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DCMAKE_INSTALL_PREFIX=/sharehome/tools/opt/pomerol2dcore \
    -Dpomerol_DIR=/sharehome/tools/opt/pomerol/share/pomerol \
    ~/sharehome/repos/pomerol2dcore

@maplezmf
Copy link

Many thanks. I'll try and see what happens.

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

3 participants