Bug 57276 - Отсутствует зависимость на libmodbus
Summary: Отсутствует зависимость на libmodbus
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: python3-module-pylibmodbus (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-18 19:46 MSK by Клёсов Никита Константинович
Modified: 2025-12-20 07:24 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Клёсов Никита Константинович 2025-12-18 19:46:25 MSK
Стенды (Обновлены до Sisyphus):

    alt-education-11.0-x86-64-kde, xfce
    alt-kworkstation-11.1.1-x86-64
    alt-workstation-11.1-x86-64
    alt-server-11.0-x86-64-minimal

Шаги:

   1)# apt-get install python3-module-pylibmodbus	
   2) $ cat << 'EOF' > test_modbus.py
import pylibmodbus
import sys

print("1. Модуль импортирован.")

try:
    ctx = pylibmodbus.ModbusTcp("127.0.0.1", 1502)
    print("2. Контекст Modbus TCP создан.")

    ctx.set_slave(1)
    print("3. Slave ID установлен.")

    ctx.set_response_timeout(1.0)
    print("4. Таймаут установлен.")
    
    print("TEST PASSED: Библиотека загружена и функции вызываются корректно.")

except Exception as e:
    print(f"TEST FAILED: Произошла ошибка: {e}")
    sys.exit(1)
EOF

   3)$ python3 test_modbus.py

Ожидаемый результат:

   Модуль успешно импортируется без ошибок. Код выполняется.

Фактический результат:

   Traceback (most recent call last):
  File "/home/klesovnk/test_modbus.py", line 1, in <module>
    import pylibmodbus
  File "/usr/lib/python3/site-packages/pylibmodbus/__init__.py", line 5, in <module>
    from .modbus_core import get_float, set_float, cast_to_int16, cast_to_int32
  File "/usr/lib/python3/site-packages/pylibmodbus/modbus_core.py", line 36, in <module>
    C = ffi.dlopen("modbus")
        ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3/site-packages/cffi/api.py", line 150, in dlopen
    lib, function_cache = _make_ffi_library(self, name, flags)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3/site-packages/cffi/api.py", line 834, in _make_ffi_library
    backendlib = _load_backend_lib(backend, libname, flags)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3/site-packages/cffi/api.py", line 829, in _load_backend_lib
    raise OSError(msg)
OSError: ctypes.util.find_library() did not manage to locate a library called 'modbus'


Дополнительно:

   Проблема решается ручной установкой библиотеки:
       
       # apt-get install libmodbus
Comment 1 Repository Robot 2025-12-20 07:24:57 MSK
python3-module-pylibmodbus-0.6.2-alt2 -> sisyphus:

Sat Dec 20 2025 Vitaly Lipatov <lav@altlinux.ru> 0.6.2-alt2
- add missed libmodbus requires (ALT bug 57276)