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

Installation fails using the README instructions #18

Open
davidscn opened this issue Dec 20, 2021 · 8 comments
Open

Installation fails using the README instructions #18

davidscn opened this issue Dec 20, 2021 · 8 comments

Comments

@davidscn
Copy link
Contributor

After updating my deal.II version I needed to update the bindings as well. Thus, I updated the bindings to the latest state and followed the newly added steps in the README.

However, I faced two issues (one maybe already beforehand). First of all, the bindings fail to find my system's deal.II, even when modifying the environment variables as given by the generated cmake error. Second, the installation process finishes (at least according to python), but the generated module (pymor_dealii) cannot be loaded afterwards. I went back to the setup.py installation procedure in some previous bindings version in order to make it work.

@renefritze
Copy link
Member

Which deal.II version did you update to?
python -m pip install -e . is supposed to fail if it doesn't find deal.II, but it ran "successfully" as in with a 0 exit for you?
Do you get an error import that's not just ModuleNotFound?

@davidscn
Copy link
Contributor Author

This was a recent develop version of deal.II (deal.II 10-pre), but I would be surprised if the deal.II version is somehow related to this.

python -m pip install -e . is supposed to fail if it doesn't find deal.II, but it ran "successfully" as in with a 0 exit for you?

Makes sense. I was not able to convince cmake (or python) where to find my deal.II (although I set the environment variable and I set the CMAKE_PREFIX_PATH). After some trial and error and manually configured the CMakeCache so that it spots the deal.II installation correctly. Then, the installation runs through, but I couldn't use the module.

I will investigate the error message later on again and provide some more details.

@renefritze
Copy link
Member

This was a recent develop version of deal.II (deal.II 10-pre)

Even if your problem isn't due to changes in deal.II, it would be great to have an automatic early warning CI test against the development branch. This would require some real effort however, since we rely on the pyMOR CI container images here, were the release version of deal.II is baked in.

although I set the environment variable

If you're referring to the hints used here you'd have to pass values for those to cmake via -DVARIABLE_NAME=VALUE. They're not automatically reflected from the env. Which would be a good addition though, either way. Like this.

@davidscn
Copy link
Contributor Author

If you're referring to the hints used here you'd have to pass values for those to cmake via -DVARIABLE_NAME=VALUE

CMake is handled by python, right? I guess it would be a good idea to add environment variables as hints as well.

However, python3 setup.py install works flawlessly whereas python -m pip install -e . fails and I don't really get the reasoning.

@renefritze
Copy link
Member

I guess it would be a good idea to add environment variables as hints as well.

Agreed

Could you attach two full console logs of both install methods maybe?

@davidscn
Copy link
Contributor Author

You don't see the irrelevant compiler output of the setup log since it was already compiled..

pip-command.log
setup.log

@renefritze
Copy link
Member

pip.txt

Alright, I think I managed to get not the same, but probably a related error.

Can you confirm that a "normal" install without the editable flag works for you? So python -m pip install .?

@davidscn
Copy link
Contributor Author

I cannot confirm that this works for me.

python -m pip install . > pip.log

The issue is different, though. Using this command, it seems that deal.II cannot be located. However, I set DEAL_II_DIR globally using an environment variable as recommended by deal.II in general. The setup.py version seems to handle this in the correct way.

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

2 participants