Linux Mintでmariadb connector-cを構築しようとするとエラーが発生します。 直し方?

error trying to build mariadb connector-c on linux mint. How to fix?


質問 written by Riley Hughes @2019-01-28 01:24:09Z

: 0 : 1 : 105

Linux mintの新規インストールでmariadb ++(mariadb connector / c)を構築しようとしています。 私のプロセスは次のようになります。

$ git clone https://github.com/MariaDB/mariadb-connector-c.git
$ mkdir build && cd build
$ cmake ../mariadb-connector-c/ -DCMAKE_INSTALL_PREFIX=/usr

これはすべて正常に実行され、 make呼び出しで問題が発生します。

$ make

出力:

Scanning dependencies of target client_ed25519
[  0%] Building C object CMakeFiles/client_ed25519.dir/plugins/auth/ed25519.c.o
[  1%] Building C object CMakeFiles/client_ed25519.dir/plugins/auth/ref10/fe_0.c.o
[  2%] Building C object CMakeFiles/client_ed25519.dir/plugins/auth/ref10/fe_isnegative.c.o
[  2%] Building C object CMakeFiles/client_ed25519.dir/plugins/auth/ref10/fe_sub.c.o
[  3%] Building C object CMakeFiles/client_ed25519.dir/plugins/auth/ref10/ge_p1p1_to_p2.c.o
[  4%] Building C object CMakeFiles/client_ed25519.dir/plugins/auth/ref10/ge_p3_to_cached.c.o
[  4%] Building C object CMakeFiles/client_ed25519.dir/plugins/auth/ref10/open.c.o
In file included from /home/riley/mariadb-connector-c/plugins/auth/ref10/crypto_hash_sha512.h:2:0,
                 from /home/riley/mariadb-connector-c/plugins/auth/ref10/open.c:3:
/home/riley/mariadb-connector-c/include/ma_crypt.h:74:1: error: unknown type name ‘MA_HASH_CTX’; did you mean ‘MA_HASH_MD5’?
 MA_HASH_CTX *ma_hash_new(unsigned int algorithm, MA_HASH_CTX *ctx);
 ^~~~~~~~~~~
 MA_HASH_MD5
/home/riley/mariadb-connector-c/include/ma_crypt.h:74:50: error: unknown type name ‘MA_HASH_CTX’; did you mean ‘MA_HASH_MD5’?
 MA_HASH_CTX *ma_hash_new(unsigned int algorithm, MA_HASH_CTX *ctx);
                                                  ^~~~~~~~~~~
                                                  MA_HASH_MD5
/home/riley/mariadb-connector-c/include/ma_crypt.h:83:19: error: unknown type name ‘MA_HASH_CTX’; did you mean ‘MA_HASH_MD5’?
 void ma_hash_free(MA_HASH_CTX *ctx);
                   ^~~~~~~~~~~
                   MA_HASH_MD5
/home/riley/mariadb-connector-c/include/ma_crypt.h:96:20: error: unknown type name ‘MA_HASH_CTX’; did you mean ‘MA_HASH_MD5’?
 void ma_hash_input(MA_HASH_CTX *ctx,
                    ^~~~~~~~~~~
                    MA_HASH_MD5
/home/riley/mariadb-connector-c/include/ma_crypt.h:108:21: error: unknown type name ‘MA_HASH_CTX’; did you mean ‘MA_HASH_MD5’?
 void ma_hash_result(MA_HASH_CTX *ctx, unsigned char *digest);
                     ^~~~~~~~~~~
                     MA_HASH_MD5
/home/riley/mariadb-connector-c/include/ma_crypt.h: In function ‘ma_hash’:
/home/riley/mariadb-connector-c/include/ma_crypt.h:155:3: error: unknown type name ‘MA_HASH_CTX’; did you mean ‘MA_HASH_MD5’?
   MA_HASH_CTX *ctx= NULL;
   ^~~~~~~~~~~
   MA_HASH_MD5
/home/riley/mariadb-connector-c/include/ma_crypt.h:160:8: warning: implicit declaration of function ‘ma_hash_new’; did you mean ‘ma_hash’? [-Wimplicit-function-declaration]
   ctx= ma_hash_new(algorithm, ctx);
        ^~~~~~~~~~~
        ma_hash
/home/riley/mariadb-connector-c/include/ma_crypt.h:160:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
   ctx= ma_hash_new(algorithm, ctx);
      ^
/home/riley/mariadb-connector-c/include/ma_crypt.h:161:3: warning: implicit declaration of function ‘ma_hash_input’; did you mean ‘ma_hash’? [-Wimplicit-function-declaration]
   ma_hash_input(ctx, buffer, buffer_length);
   ^~~~~~~~~~~~~
   ma_hash
/home/riley/mariadb-connector-c/include/ma_crypt.h:162:3: warning: implicit declaration of function ‘ma_hash_result’; did you mean ‘ma_hash’? [-Wimplicit-function-declaration]
   ma_hash_result(ctx, digest);
   ^~~~~~~~~~~~~~
   ma_hash
/home/riley/mariadb-connector-c/include/ma_crypt.h:163:3: warning: implicit declaration of function ‘ma_hash_free’; did you mean ‘ma_hash’? [-Wimplicit-function-declaration]
   ma_hash_free(ctx);
   ^~~~~~~~~~~~
   ma_hash
CMakeFiles/client_ed25519.dir/build.make:206: recipe for target 'CMakeFiles/client_ed25519.dir/plugins/auth/ref10/open.c.o' failed
make[2]: *** [CMakeFiles/client_ed25519.dir/plugins/auth/ref10/open.c.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/client_ed25519.dir/all' failed
make[1]: *** [CMakeFiles/client_ed25519.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

明らかに、ビルドに何かが欠けています...しかし、どうすれば修正できますか? またはインストールする簡単な方法はありますか

コメント 1

あなたの問題はここにあると思うcmake ../mariadb-connector-c/ -DCMAKE_INSTALL_PREFIX=/usr ... cmake ../mariadb-connector-c/ -DCMAKE_INSTALL_PREFIX=/usr作成したディレクトリとcdが存在する場合(I 「以前にcmakeエラーが発生しなかったことに驚いています)... w /次の呼び出しmariadb-connector-c/build$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr && makeコネクタを正常に構築しました。私のシステムにはmariadbの痕跡さえありません。

written by @2019-01-28 01:19:00Z

コメント 2

それでもまったく同じエラーが表示されます...エラーが発生した場所を含めるために、OPで上記のように更新しました

written by ライリーヒューズ @2019-01-28 01:24:48Z

コメント 3

これは、ミントの新しいインストールです。コードブロック、wxwidgets、mariadbをインストールしました。これですべてです

written by ライリーヒューズ @2019-01-28 01:25:34Z

コメント 4

次の推測... ./include/ma_crypt.hを見るopensslまたはgnutlsのdevパッケージが欠落しているかどうか疑問に思っています。

written by @2019-01-28 01:40:51Z

コメント 5

ああ、CMake ... make V=1またはmake VERBOSE=1を実行しmake V=1 、使用するコンパイルコマンドのような重要な情報の非表示を停止する必要があります。

written by jww @2019-01-28 02:18:40Z

回答 1 written by ティンク @2019-01-28 01:51:16Z
2

OK、 libssl-dev VMでlibssl-devインストールされていないことを確認したところ、同じエラーが発生しました。

apt install libssl-devを実行し、 cmake .. -DCMAKE_INSTALL_PREFIX=/usrから始めて再試行しcmake .. -DCMAKE_INSTALL_PREFIX=/usr

コメント 1

これはうまくいきました!助けてくれてありがとう

written by ライリー・ヒューズ @2019-01-28 01:55:22Z