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

Conflicts with system-wide libmodbus #22

Open
evgkrsk opened this issue Oct 7, 2017 · 4 comments
Open

Conflicts with system-wide libmodbus #22

evgkrsk opened this issue Oct 7, 2017 · 4 comments
Assignees

Comments

@evgkrsk
Copy link

evgkrsk commented Oct 7, 2017

0.7 при установке собирает libmodbus-3.1.4 (вроде бы патченую) и устанавливает вместо уже установленной в системе версии. В теми же именами и сонеймами библиотеки. Таким образом, нельзя безопасно установить пакет туда, где уже есть ПО, линкующееся с libmodbus.

С внешней libmodbus пакет тоже разучился собираться, насколько я вижу.

@v-zhuravlev
Copy link
Owner

v-zhuravlev commented Oct 7, 2017

это с 0.6. Что посоветуете? Добавил в readme пока что.

@evgkrsk
Copy link
Author

evgkrsk commented Oct 7, 2017

Лучше всего продвинуть нужные патчи в апстрим библиотеки и линковаться динамически, требуя версию не ниже нужной.

@v-zhuravlev
Copy link
Owner

к сожалению я уже делал pull request, но нет реакции stephane/libmodbus#385

@evgkrsk evgkrsk changed the title Конфликтует с системной libmodbus Conflicts with system-wide libmodbus Oct 7, 2017
@i-ky i-ky self-assigned this May 3, 2021
@i-ky
Copy link
Collaborator

i-ky commented May 3, 2021

Думаю, мы можем класть патченный libmodbus туда же, куда и сам модуль и указывать относительный путь при линковке. Согласно man ld.so:

       When resolving shared object dependencies, the dynamic linker
       first inspects each dependency string to see if it contains a
       slash (this can occur if a shared object pathname containing
       slashes was specified at link time).  If a slash is found, then
       the dependency string is interpreted as a (relative or absolute)
       pathname, and the shared object is loaded using that pathname.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants