J'utilise la ligne cmake suivante
cmake -DWITH_BUNDLED_SSL=on -DWITH_MRUBY=on -DCMAKE_INSTALL_PREFIX=%{_prefix} -DBUILD_SHARED_LIBS=on -DBUILD_SHARED_LIBS=yes .
Il se construit bien, mais après l'installation de make. Je ne trouve aucun fichier libh20.so*. Quel est le bon drapeau ?
Je pense l'avoir trouvé, je confirmerai plus tard. Il nécessite libuv > 1.0 pour créer des bibliothèques partagées.
-- vérification du module 'libuv>=1.0.0'
-- trouvé libuv, version 1.9.1
Erreur CMake dans /usr/share/cmake/Modules/FindPkgConfig. cmake:117 (ensemble):
Erreur de syntaxe dans le code cmake à
/usr/share/cmake/Modules/FindPkgConfig.cmake:117
lors de l'analyse de la chaîne
;\{includedir\}
Séquence d'échappement non valide {
Pile d'appels (appel le plus récent en premier) :
/usr/share/cmake/Modules/FindPkgConfig. cmake:144 (_pkgconfig_set)
/usr/share/cmake/Modules/FindPkgConfig. cmake:151 (_pkgconfig_invoke)
/usr/share/cmake/Modules/FindPkgConfig. cmake:313 (_pkgconfig_invoke_dyn)
/usr/share/cmake/Modules/FindPkgConfig. cmake:333 (_pkg_check_modules_internal)
CMakeLists. txt:107 (PKG_CHECK_MODULES)
-- Configuration incomplète, des erreurs se sont produites !
erreur : état de sortie incorrect de /var/tmp/rpm-tmp.dfWOGD (%build)
Un pointeur ?
Quelle version de CMake as-tu utilisé ? Je n'ai pas eu une telle erreur avec CMake version 3.6.1.
Corrigé, j'avais une faute de frappe dans le fichier libuv.pc. Je peux confirmer que vous devez avoir libuv-devel pour créer les fichiers .so
J'ai récemment utilisé cmake -DBUILD_SHARED_LIBS=ON ..
pour créer une bibliothèque partagée ( libh2o-evloop.so.0.11.4
) pour h2o-2.0.4 sur Ubuntu 16.04, sans libuv installée. Ma version cmake est la 3.5.1 (fournie avec ubuntu).
Commentaire le plus utile
Je pense l'avoir trouvé, je confirmerai plus tard. Il nécessite libuv > 1.0 pour créer des bibliothèques partagées.