GridOPTICS / GridPACK

https://www.gridpack.org/
47 stars 22 forks source link

Python module: Ubuntu 23.x build #197

Open wperkins opened 10 months ago

wperkins commented 10 months ago

There are difficulties building the GridPACK Python module on Ubuntu 23.x. Ubuntu 23.x uses Python 3.11. The pybind11 submodule used by GridPACK is rather old (2.4.3) and probably needs to be updated. Build on Ubuntu 22.04 LTS should be checked as well.

wperkins commented 10 months ago

With Ubuntu 20 LTS (Python 3.08). I tried using a newer version of the pybind11 submodule

cd python/pybind11
git checkout v2.11.1

The GridPACK module built fine after that, but I got this from python setup.py test:

hadrec_test (tests.gridpack_test.GridPACKTester) ... a[0] = 0.0
ERROR
hello_comm_test (tests.gridpack_test.GridPACKTester) ... ok
hello_test (tests.gridpack_test.GridPACKTester) ... ok
task_test (tests.gridpack_test.GridPACKTester) ... ok

======================================================================
ERROR: hadrec_test (tests.gridpack_test.GridPACKTester)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/d3g096/Projects/GridPACK-Wind/src/GridPACK/python/src/tests/gridpack_test.py", line 63, in hadrec_test
    hadapp.initializeDynSimu(busfaultlist)
RuntimeError: Cblock is not a transfer function
Check the value of the parameters

No idea what's causing this.

wperkins commented 10 months ago
hadrec_test (tests.gridpack_test.GridPACKTester) ... a[0] = 0.0
ERROR
hello_comm_test (tests.gridpack_test.GridPACKTester) ... ok
hello_test (tests.gridpack_test.GridPACKTester) ... ok
task_test (tests.gridpack_test.GridPACKTester) ... ok

======================================================================
ERROR: hadrec_test (tests.gridpack_test.GridPACKTester)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/d3g096/Projects/GridPACK-Wind/src/GridPACK/python/src/tests/gridpack_test.py", line 63, in hadrec_test
    hadapp.initializeDynSimu(busfaultlist)
RuntimeError: Cblock is not a transfer function
Check the value of the parameters

This error does not seem related to the pybind11 version. I started #198 for that.

abhyshr commented 10 months ago

This is definitely an issue with the input file. What test is this?

wperkins commented 10 months ago

This is definitely an issue with the input file. What test is this?

The Python unit test input. See this comment: https://github.com/GridOPTICS/GridPACK/issues/198#issuecomment-1927395390