question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. ItΒ collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

PySCF 2.0.0 wheels for Python 3.9 from PyPI segfault

See original GitHub issue

Dear developers, while trying out the new PySCF release in a fresh virtual environment (Python 3.9.7, Linux-5.10.70-1-MANJARO-x86_64-with-glibc2.33) I noticed that it always segfaults, even for simple cases like examples/scf/00-simple_hf.py.

2021-11-03 07:52:21 ⌚  dachshoehle in ~/pyscfvenv                                                                                                                                                                
β—‹ β†’ pip install pyscf                                                                                                                                                                                              
Collecting pyscf                                                                                                                                                                                                   
  Using cached pyscf-2.0.0-cp39-cp39-manylinux1_x86_64.whl (40.9 MB)                                                                                                                                               
Collecting scipy!=1.5.0,!=1.5.1                                                                                                                                                                                    
  Using cached scipy-1.7.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (28.5 MB)                                                                                                                          
Collecting numpy!=1.16,!=1.17,>=1.13                                                                                                                                                                               
  Downloading numpy-1.21.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB)                                                                                                                      
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 15.7 MB 6.8 MB/s                                                                                                                                                           
Collecting h5py>=2.7                                                                                                                                                                                               
  Using cached h5py-3.5.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (4.5 MB)                                                                                                                        
Installing collected packages: numpy, scipy, h5py, pyscf                                                                                                                                                           
Successfully installed h5py-3.5.0 numpy-1.21.3 pyscf-2.0.0 scipy-1.7.1
python 00-simple_hf.py  | tee 00-simple_hf.log

yields

#INFO: **** input file is /home/johannes/Code/pyscf/examples/scf/00-simple_hf.py ****
#!/usr/bin/env python
#
# Author: Qiming Sun <osirpt.sun@gmail.com>
#

'''
A simple example to run HF calculation.

.kernel() function is the simple way to call HF driver.
.analyze() function calls the Mulliken population analysis etc.
'''

import pyscf

mol = pyscf.M(
    atom = 'H 0 0 0; F 0 0 1.1',  # in Angstrom
    basis = 'ccpvdz',
    symmetry = True,
    verbose=4,
)

myhf = mol.HF()
myhf.kernel()

# Orbital energies, Mulliken population etc.
myhf.analyze()


#
# myhf object can also be created using the APIs of gto, scf module
#
from pyscf import gto, scf
mol = gto.M(
    atom = 'H 0 0 0; F 0 0 1.1',  # in Angstrom
    basis = 'ccpvdz',
    symmetry = True,
)
myhf = scf.HF(mol)
myhf.kernel()

#INFO: ******************** input file end ********************


System: uname_result(system='Linux', node='dachshoehle', release='5.10.70-1-MANJARO', version='#1 SMP PREEMPT Thu Sep 30 15:29:01 UTC 2021', machine='x86_64')  Threads 12
Python 3.9.7 (default, Aug 31 2021, 13:28:12) 
[GCC 11.1.0]
numpy 1.21.3  scipy 1.7.1
Date: Wed Nov  3 07:58:17 2021
PySCF version 2.0.0
PySCF path  /home/johannes/pyscfvenv/lib/python3.9/site-packages/pyscf

[CONFIG] conf_file None
[INPUT] verbose = 4
[INPUT] num. atoms = 2
[INPUT] num. electrons = 10
[INPUT] charge = 0
[INPUT] spin (= nelec alpha-beta = 2S) = 0
[INPUT] symmetry True subgroup None
[INPUT] Mole.unit = angstrom
[INPUT]  1 H      0.000000000000   0.000000000000   0.000000000000 AA    0.000000000000   0.000000000000   0.000000000000 Bohr
[INPUT]  2 F      0.000000000000   0.000000000000   1.100000000000 AA    0.000000000000   0.000000000000   2.078698737022 Bohr

nuclear repulsion = 4.32963172570909
point group symmetry = Coov
num. orbitals of irrep A1 = 9
num. orbitals of irrep E1x = 4
num. orbitals of irrep E1y = 4
num. orbitals of irrep E2x = 1
num. orbitals of irrep E2y = 1
number of shells = 8
number of NR pGTOs = 33
number of NR cGTOs = 19
basis = ccpvdz
ecp = {}
CPU time:         0.26


******** <class 'pyscf.scf.hf_symm.SymAdaptedRHF'> ********
method = SymAdaptedRHF-RHF
initial guess = minao
damping factor = 0
level_shift factor = 0
DIIS = <class 'pyscf.scf.diis.CDIIS'>
diis_start_cycle = 1
diis_space = 8
SCF conv_tol = 1e-09
SCF conv_tol_grad = None
SCF max_cycles = 50
direct_scf = True
direct_scf_tol = 1e-13
chkfile to save SCF result = /home/johannes/Code/pyscf/examples/scf/tmp3vx6zikp
max_memory 4000 MB (current use 82 MB)
Freeze 0 electrons in irreps []
    10 free electrons in irreps A1 E1x E1y E2x E2y
Set gradient conv threshold to 3.16228e-05
# The segfault in German below is printed to STDERR
Speicherzugriffsfehler (Speicherabzug geschrieben)

I just added verbose = 4, so some output is created. I also noticed issue #1093. There, the last comment says the new wheels are already online?! But it seems that the wheels on PyPI are still from the 1st of November, before you merged PR #1092 that was supposed to fix some build issues?

So my question is: are the wheels currently available on PyPI supposed to be correct and work?

All the best, Johannes

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:10

github_iconTop GitHub Comments

1reaction
eljostcommented, Nov 5, 2021

Thanks for the quick fix. It works flawlessly now.

0reactions
sunqmcommented, Nov 4, 2021

It’s a bug of the openblas library in the previous pip wheel environment. In PR #1099 I updated the openblas library to a relatively new version and added a new release tag 2.0.1. The new release should be able to fix the problem

Read more comments on GitHub >

github_iconTop Results From Across the Web

pyscf - PyPI
PySCF : Python-based Simulations of Chemistry Framework.
Read more >
Pyscf install error: failed building wheel - python - Stack Overflow
I keep getting this error after entering pip install pyscf pi@node0:~ $ pip install pyscf Looking in indexes: https://pypi.org/simple,Β ...
Read more >
EasyBuild v4.6.2 documentation (release 20221021.0)
ensure that path configuration options have absolute path values (#3832); fix broken test by taking into account changed error raised by Python 3.9.7...
Read more >
EasyBuild Documentation - Read the Docs
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High.
Read more >
Untitled
... ansible.spec fix-python-3.9-compatibility.patch ... fbrnch-1.1.tar.gz fbrnch.spec fedora-dists-2.0.0.tar.gz pagure-0.1.1.tar.gz pdc-0.1.1.tar.gzΒ ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found