dls-controls / pythonSoftIOC

Embed an EPICS IOC in a Python process
Apache License 2.0
32 stars 7 forks source link

Use pvxslibs instead of qsrv #132

Closed coretl closed 12 months ago

coretl commented 1 year ago

This is not currently working

coretl commented 1 year ago

@mdavidsaver I'm trying to use QSRV2 in pythonSoftIOC, but I'm missing something. When I make the changes in this PR, install into a venv, and run venv/bin/python docs/examples/example_asyncio_ioc.py I get:

Unable to find symbol 'pvar_dset_devLoPDBQ2UTag' : /venv/lib/python3.10/site-packages/epicscorelibs/lib/libdbCore.so.7.0.7.99.0: undefined symbol: pvar_dset_devLoPDBQ2UTag
Unable to find dset for record type 'longin' support 'devLoPDBQ2UTag' : (null)
Traceback (most recent call last):
  File "/pythonSoftIOC/docs/examples/example_asyncio_ioc.py", line 2, in <module>
    from softioc import softioc, builder, asyncio_dispatcher
  File "/venv/lib/python3.10/site-packages/softioc/__init__.py", line 28, in <module>
    raise RuntimeError('Error registering')
RuntimeError: Error registering

I thought these symbols might have been from the demo application, so commented out everything apart from the registrar calls in pvxsIoc.dbd, but then I get:

Unable to find symbol 'pvar_func_pvxsBaseRegistrar' : /venv/lib/python3.10/site-packages/epicscorelibs/lib/libdbCore.so.7.0.7.99.0: undefined symbol: pvar_func_pvxsBaseRegistrar
Unable to find registrar 'pvxsBaseRegistrar' : (null)
Traceback (most recent call last):
  File "/pythonSoftIOC/docs/examples/example_asyncio_ioc.py", line 2, in <module>
    from softioc import softioc, builder, asyncio_dispatcher
  File "/venv/lib/python3.10/site-packages/softioc/__init__.py", line 28, in <module>
    raise RuntimeError('Error registering')
RuntimeError: Error registering

I see these same errors when importing in CI: https://github.com/dls-controls/pythonSoftIOC/actions/runs/5189205532/jobs/9353980317?pr=132

I am using pvxslibs 1.2.1a1.

I added the DSOs and include path in setup.py, then loaded the dbd in __init__.py, is there anything I missed?

github-actions[bot] commented 1 year ago

Unit Test Results

     15 files  ±0       15 suites  ±0   28m 54s :stopwatch: + 2m 27s    273 tests ±0     257 :heavy_check_mark: ±0    16 :zzz: ±0  0 :x: ±0  4 095 runs  ±0  3 505 :heavy_check_mark: ±0  590 :zzz: ±0  0 :x: ±0 

Results for commit 6a992298. ± Comparison against base commit c8264774.

:recycle: This comment has been updated with latest results.

codecov[bot] commented 1 year ago

Codecov Report

Merging #132 (6a99229) into master (860f59c) will increase coverage by 0.21%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #132      +/-   ##
==========================================
+ Coverage   87.34%   87.56%   +0.21%     
==========================================
  Files          14       14              
  Lines         996     1005       +9     
==========================================
+ Hits          870      880      +10     
+ Misses        126      125       -1     
Impacted Files Coverage Δ
softioc/__init__.py 95.00% <100.00%> (+2.14%) :arrow_up:
softioc/builder.py 97.68% <100.00%> (+0.04%) :arrow_up:

... and 1 file with indirect coverage changes