2014-12-10 7 views
3

Редактировать с ZMQ версии 4.1: Конфигурация автоматически ищет libsodium, поэтому это больше не требуется. Если по какой-то причине вы хотите построить его БЕЗ libsodium, и вы его построили и установили, настройте libzmq с помощью «--without-libsodium».Строительство libzmq с libsodium


У меня возникли проблемы с созданием/производством zeromq с libsodium.

im Использование msys2 в качестве оболочки - в частности, mingw32_shell - и zmq 4.1.0 rc1 с libsodium 1.0.1 и mingw-w64 32bit (gcc 4.9.2).

им в настоящее время в состоянии собрать libsodium как этот

cd .../libsodium 
bash configure 
make 
make check 
make install 

и все нормально, все тесты проходят и ЛИЭС и включает в конечном итоге в/USR/местные/папки, которые msys2 кажется знать.

тогда, когда я пытаюсь построить ZeroMQ с этими командами

cd .../zeromq 
bash configure --with-libsodium 
make 
make check 
make install 

я никогда не пройти стадии конфигурирования, так как настроить возвращает

checking for sodium_init in -lsodium... no 
configure: error: libsodium is not installed. Install it or don't pass --with-libsodium to configure script 

я попробовал методы, предложенные в этом посте - ZeroMQ doesn't spot libsodium - но безуспешно.

поэтому мой вопрос заключается в следующем: как установить либо установить конфигурацию zeromq для поиска libsodium на месте, с помощью --with-libsodium, --with-libsodium-include-dir = и --with- libsodium-lib-dir =, или их «установить» в месте, которое может найти оболочка msys2?

+0

'cd .../libsodium' является просто заполнителем, чтобы указать, какая папка im в – CommanderBubble

ответ

1

Я предполагаю, что вы попробовали это уже с Вами ссылка при условии упоминания его:

--with-libsodium=/usr/local 

Я попробовал это, и это работает для меня. Однако я не рекомендую это, потому что для MSYS2 он чище, если/usr/local используется только для программного обеспечения MSYS2, а не для программного обеспечения MinGW-w64. Для программного обеспечения MinGW-w64 i686 «правый» префикс для «local» is/mingw32/local

Я только что добавил libsodium в качестве зависимости от пакета zeromq.

Github MinGW-w64 zeromq PKGBUILD commit e32ae0

Я попрошу Алексея перестраивать и упакуйте его завтра.

+0

Мне показалось, что я пробовал этот конкретный коммутатор, но я только что попробовал его агиан, и он передал' check for sodium_init in -lsodium ... да' этап. Я предполагаю, что я, должно быть, набрал что-то не так, когда я попробовал его раньше ... – CommanderBubble

+0

также, чтобы не пытаться снять это с темы, но при использовании mingw32_shell 'version' из msys2 и вызова 'make install' libs и т. Д. Все в конечном итоге в/usr/local вместо/mingw32/local. это контроль над моим именем, когда вам нужно указать что-то при вызове make install? – CommanderBubble

+0

Не совсем, по умолчанию проекты autotools используют префикс/usr/local. Мы не вносили никаких изменений в это, поскольку они были бы уродливыми и навязчивыми. Для этого вам необходимо передать --prefix =/mingw32/local для настройки. –