Проблема для компиляции ed25519-донна в MacOs - PullRequest
0 голосов
/ 04 января 2019

Я использую QT и ed25519-donna lib для проверки моей подписи.

Linux Я использую этот lib => libssl-dev

MacOs Я использую этот lib => openssl

Так что, когда я пытаюсь скомпилировать с помощью Linux его работу, но когда я пытаюсь в MacOs, библиотеки donna выдают ошибку:

    openssl/rand.h is not found

У меня есть эта строка в моем Makefile:

    LIBS = $(SUBLIBS) -L/home/laion/Desktop/lethean-gui/lethean/lib -lwallet_merged -lepee -lunbound -leasylogging -lboost_serialization -lboost_thread -lboost_system -lboost_date_time -lboost_filesystem -lboost_regex -lboost_chrono -lboost_program_options -lssl -lcrypto -Wl,-Bdynamic -Wl,-Bdynamic -lunwind -ldl -lQt5Quick -lQt5Widgets -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGL -lpthread 

Когда вы смотрите на donna libs, вы можете увидеть файл ed25519.c, внутри которого есть вызов ed25519-randombytes.h, внутри этого файла есть файл openssl / rand.h.

Внутри моего .pro-файла я использую это:

    macx {
        # mixing static and shared libs are not supported on mac
        # CONFIG(static) {
        #     message("using static libraries")
        #     LIBS+= -Wl,-Bstatic
        # }
        LIBS+= \
            -L/usr/local/lib \
            -L/usr/local/opt/openssl/lib \
            -L/usr/local/opt/boost/lib \
            -lboost_serialization \
            -lboost_thread-mt \
            -lboost_system \
            -lboost_system-mt \
            -lboost_date_time \
            -lboost_filesystem \
            -lboost_regex \
            -lboost_chrono \
            -lboost_chrono-mt \
            -lboost_program_options \
            -lssl \
            -lcrypto \
            -ldl

        INCLUDEPATH += /usr/local/opt/boost/include/

    }

Итак, если я добавлю этот путь в INCLUDEPATH:

    /usr/local/opt/openssl/include \
    /usr/local/opt/openssl/lib

Я получаю другую ошибку:

    The program has unexpectedly finished.

    // every donna file get this message
    was built for newer osx version (10.13) than being linked (10.12)

Пока я получаю эту ссылку C ++, Mac OS X, Xcode 8: Повышение компиляции: установите цель развертывания на OS X 10.11 , и я возвращаюсь, чтобы сообщить вам, если работает

ИСПРАВЛЕНО << Проблема была в версии Mac. Для работы с donna и openssl необходимо 10.12+ для компиляции </p>

...