Почему команда ldd на libzmq не показывает зависимость libsodium? - PullRequest
1 голос
/ 21 января 2020

Я скомпилировал libsodium и libzmq. Я скомпилировал libzmq с помощью следующих команд:

./configure CC=arm-linux-gnueabi-gcc                                \
        --host=arm-linux-gnueabi                                     \
        --target=arm-linux-gnueabi                                    \
        --build=x86_64-linux-gnu                                       \
        --enable-shared                                                 \
        --with-libsodium=/home/sagar/OtisSagar/libzmq/sodium_install/lib \
        --prefix=/home/sagar/libzmq/_install

make 

make install

Компиляция прошла без ошибок, и я вижу библиотеки, сгенерированные в каталоге префиксов, но когда я запускаю ldd on libzmq, это не показывает зависимость libsodium:

librt.so.1 => /lib/librt.so.1 (0x8badf00d)
    libpthread.so.0 => /lib/libpthread.so.0 (0x8badf00d)
    libc.so.6 => /lib/libc.so.6 (0x8badf00d)
    ld-linux.so.3 => /lib/ld-linux.so.3 (0x8badf00d)
    libstdc++.so.6 => /lib/libstdc++.so.6 (0x8badf00d)
    libm.so.6 => /lib/libm.so.6 (0x8badf00d)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x8badf00d)

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 21 января 2020

Q : Что я здесь не так делаю?

Документация (Последняя редакция: 2017-06 -11) начинается с этой поговорки:

Библиотека ZeroMQ использует слегка модифицированный протокол CURVE для защиты ваших сообщений от манипуляций и перехвата.

См. https://curvecp.org/ и http://hintjens.com/blog: 48 для подробной информации.

Если вы включите libsodium, встроенные файлы не будут и вместо этого результирующая библиотека ZeroMQ будет связана с общей библиотекой libsodium.

В документации также указано несколько значений по умолчанию, что означает, что libsodium не является, , если явно не запрошено построено против, в пользу tweetnacl 1 , далее упоминаются различные настройки для разных систем сборки:

как включить сборку с помощью libsodium

autoconf
- добавить —with-libsodium переключиться на скрипт конфигурации

cmake
- добавить переключатель -DWITH_LIBSODIUM=ON к вызову cmake.

Последнее, но не менее важное:

Сноски
1. (*) в настоящее время это может быть не так для всех систем сборки, но такое поведение является намерением , Пожалуйста, отправляйте PR и выдвигайте запросы на ненормативную лексику.

...