build bareos-storage-droplet

123 views
Skip to first unread message

Rafael Castellar das Neves

unread,
Sep 16, 2019, 8:55:09 PM9/16/19
to bareos-users
Hello all!

I'm trying to config my Bareos (built on Raspbian) to store in a AWS S3 bucket, but I don't know how to build bareos-storage-droplet. I'm trying to build Scality (https://github.com/scality/Droplet), but I'm getting the error below after run make.

In file included from /usr/include/openssl/e_os2.h:13:0,
                 from /usr/include/openssl/ssl.h:45,
                 from ../libdroplet/include/droplet.h:49,
                 from ../libdroplet/include/dropletp.h:40,
                 from src/profile.c:34:
/usr/include/openssl/ssl.h:1639:1: note: declared here
 DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */
 ^
src/profile.c: In function ‘ssl_verify_cert’:
src/profile.c:814:47: error: dereferencing pointer to incomplete type ‘X509_STORE_CTX {aka struct x509_store_ctx_st}’
   X509_NAME_oneline(X509_get_subject_name(cert->cert), buffer, sizeof(buffer));
                                               ^~
src/profile.c:814:47: error: request for member ‘cert’ in something not a structure or union
src/profile.c:814:43: warning: passing argument 1 of ‘X509_get_subject_name’ from incompatible pointer type [-Wincompatible-pointer-types]
   X509_NAME_oneline(X509_get_subject_name(cert->cert), buffer, sizeof(buffer));
                                           ^~~~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../libdroplet/include/droplet.h:49,
                 from ../libdroplet/include/dropletp.h:40,
                 from src/profile.c:34:
/usr/include/openssl/x509.h:623:12: note: expected ‘const X509 * {aka const struct x509_st *}’ but argument is of type ‘struct ssl_method_authorized *’
 X509_NAME *X509_get_subject_name(const X509 *a);
            ^~~~~~~~~~~~~~~~~~~~~
src/profile.c:817:46: error: request for member ‘cert’ in something not a structure or union
   X509_NAME_oneline(X509_get_issuer_name(cert->cert), buffer, sizeof(buffer));
                                              ^~
src/profile.c:817:42: warning: passing argument 1 of ‘X509_get_issuer_name’ from incompatible pointer type [-Wincompatible-pointer-types]
   X509_NAME_oneline(X509_get_issuer_name(cert->cert), buffer, sizeof(buffer));
                                          ^~~~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../libdroplet/include/droplet.h:49,
                 from ../libdroplet/include/dropletp.h:40,
                 from src/profile.c:34:
/usr/include/openssl/x509.h:621:12: note: expected ‘const X509 * {aka const struct x509_st *}’ but argument is of type ‘struct ssl_method_authorized *’
 X509_NAME *X509_get_issuer_name(const X509 *a);
            ^~~~~~~~~~~~~~~~~~~~
At top level:
src/profile.c:807:1: warning: ‘ssl_verify_cert’ defined but not used [-Wunused-function]
 ssl_verify_cert(X509_STORE_CTX *cert, void *arg)
 ^~~~~~~~~~~~~~~
Makefile:993: recipe for target 'src/profile.lo' failed
make[2]: *** [src/profile.lo] Error 1
make[2]: Leaving directory '/home/ipin/tmp/Droplet/libdroplet'
Makefile:473: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/ipin/tmp/Droplet'
Makefile:380: recipe for target 'all' failed
make: *** [all] Error 2

Does anybody know what should I do?

Tks a lot!

Rafael 

Jörg Steffens

unread,
Sep 17, 2019, 1:59:30 AM9/17/19
to bareos...@googlegroups.com
The Bareos project uses https://github.com/bareos/Droplet, branch:
bareos-master.

On 17.09.19 at 02:55 wrote Rafael Castellar das Neves:
> Hello all!
>
> I'm trying to config my Bareos (built on Raspbian) to store in a AWS S3
> bucket, but I don't know how to build bareos-storage-droplet. I'm trying
> to build Scality (https://github.com/scality/Droplet), but I'm getting
> the error below after run *make*.
> --
> You received this message because you are subscribed to the Google
> Groups "bareos-users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to bareos-users...@googlegroups.com
> <mailto:bareos-users...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/bareos-users/76f4b641-0955-4c60-9270-826126524af9%40googlegroups.com
> <https://groups.google.com/d/msgid/bareos-users/76f4b641-0955-4c60-9270-826126524af9%40googlegroups.com?utm_medium=email&utm_source=footer>.


--
Jörg Steffens joerg.s...@bareos.com
Bareos GmbH & Co. KG Phone: +49 221 630693-91
http://www.bareos.com Fax: +49 221 630693-10

Sitz der Gesellschaft: Köln | Amtsgericht Köln: HRA 29646
Komplementär: Bareos Verwaltungs-GmbH
Geschäftsführer:
S. Dühr, M. Außendorf, Jörg Steffens, P. Storz

Rafael Castellar das Neves

unread,
Sep 17, 2019, 8:20:50 AM9/17/19
to bareos-users
Thanks Jörg!

I tried it now, run ./autogen.sh, ./configure and on make got this error. It seems to be something related to SSL, don't know:

make
make  all-recursive
make[1]: Entering directory '/home/ipin/tmp/Droplet'
Making all in libdroplet
make[2]: Entering directory '/home/ipin/tmp/Droplet/libdroplet'
  CC       src/conn.lo
  CC       src/converters.lo
  CC       src/value.lo
  CC       src/dict.lo
  CC       src/droplet.lo
src/droplet.c: In function ‘dpl_free’:
src/droplet.c:145:3: warning: ‘ERR_remove_state’ is deprecated [-Wdeprecated-declarations]
   ERR_remove_state(0);
   ^~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/e_os2.h:13:0,
                 from /usr/include/openssl/ssl.h:45,
                 from ../libdroplet/include/droplet.h:49,
                 from ../libdroplet/include/dropletp.h:40,
                 from src/droplet.c:34:
/usr/include/openssl/err.h:249:1: note: declared here
 DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid))
 ^
  CC       src/httprequest.lo
src/httprequest.c: In function ‘dpl_add_range_to_headers_internal’:
src/httprequest.c:91:39: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=]
       snprintf(str, sizeof (str), "-%lu", range->end);
                                       ^
src/httprequest.c:96:38: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=]
       snprintf(str, sizeof (str), "%lu-", range->start);
                                      ^
src/httprequest.c:101:38: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=]
       snprintf(str, sizeof (str), "%lu-%lu", range->start, range->end);
                                      ^
src/httprequest.c:101:42: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=]
       snprintf(str, sizeof (str), "%lu-%lu", range->start, range->end);
                                          ^
  CC       src/httpreply.lo
  CC       src/pricing.lo
  CC       src/profile.lo
src/profile.c:58:36: error: ‘SSLv3_method’ undeclared here (not in a function)
   { .name = SSL_TXT_SSLV3,   .fn = SSLv3_method   },
                                    ^~~~~~~~~~~~
src/profile.c:62:3: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations]
   { .name = SSL_TXT_TLSV1,   .fn = TLSv1_method   },
   ^
In file included from /usr/include/openssl/e_os2.h:13:0,
                 from /usr/include/openssl/ssl.h:45,
                 from ../libdroplet/include/droplet.h:49,
                 from ../libdroplet/include/dropletp.h:40,
                 from src/profile.c:34:
/usr/include/openssl/ssl.h:1627:1: note: declared here
 DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */
 ^
src/profile.c:65:3: warning: ‘TLSv1_1_method’ is deprecated [-Wdeprecated-declarations]
   { .name = SSL_TXT_TLSV1_1, .fn = TLSv1_1_method },
   ^
In file included from /usr/include/openssl/e_os2.h:13:0,
                 from /usr/include/openssl/ssl.h:45,
                 from ../libdroplet/include/droplet.h:49,
                 from ../libdroplet/include/dropletp.h:40,
                 from src/profile.c:34:
/usr/include/openssl/ssl.h:1633:1: note: declared here
 DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /* TLSv1.1 */
 ^
src/profile.c:68:3: warning: ‘TLSv1_2_method’ is deprecated [-Wdeprecated-declarations]
   { .name = SSL_TXT_TLSV1_2, .fn = TLSv1_2_method },
   ^

Jörg Steffens

unread,
Sep 19, 2019, 4:11:43 AM9/19/19
to bareos-users

We build this only as RPMs, but as far as I remember, you need old compat version of openssl. On Debian, it is properly the package libssl1.0-dev

Regards,
Jörg

Rafael Castellar das Neves

unread,
Sep 19, 2019, 11:16:54 AM9/19/19
to bareos-users
Hi Jörg!

How do you build the RPMs? Maybe I can try this.

Tried your suggestion, downgrading the openssl to libssl1.0-dev,  it did not worked yet, but the errors now seems smaller :) :

make
make  all-recursive
make[1]: Entering directory '/home/ipin/tmp/Droplet'
Making all in libdroplet
make[2]: Entering directory '/home/ipin/tmp/Droplet/libdroplet'
  CC       src/conn.lo
  CC       src/converters.lo
  CC       src/value.lo
  CC       src/dict.lo
  CC       src/droplet.lo
  CC       src/httprequest.lo
src/httprequest.c: In function ‘dpl_add_range_to_headers_internal’:
src/httprequest.c:91:39: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=]
       snprintf(str, sizeof (str), "-%lu", range->end);
                                       ^
src/httprequest.c:96:38: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=]
       snprintf(str, sizeof (str), "%lu-", range->start);
                                      ^
src/httprequest.c:101:38: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=]
       snprintf(str, sizeof (str), "%lu-%lu", range->start, range->end);
                                      ^
src/httprequest.c:101:42: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=]
       snprintf(str, sizeof (str), "%lu-%lu", range->start, range->end);
                                          ^
  CC       src/httpreply.lo
  CC       src/pricing.lo
  CC       src/profile.lo
src/profile.c:58:36: error: ‘SSLv3_method’ undeclared here (not in a function)
   { .name = SSL_TXT_SSLV3,   .fn = SSLv3_method   },
                                    ^~~~~~~~~~~~
src/profile.c:807:1: warning: ‘ssl_verify_cert’ defined but not used [-Wunused-function]
 ssl_verify_cert(X509_STORE_CTX *cert, void *arg)
 ^~~~~~~~~~~~~~~
Makefile:993: recipe for target 'src/profile.lo' failed
make[2]: *** [src/profile.lo] Error 1
make[2]: Leaving directory '/home/ipin/tmp/Droplet/libdroplet'
Makefile:473: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/ipin/tmp/Droplet'
Makefile:380: recipe for target 'all' failed
make: *** [all] Error 2

Any idea? Tks for helping!!!

Best regards!

Jörg Steffens

unread,
Sep 19, 2019, 11:24:46 AM9/19/19
to bareos...@googlegroups.com
On RHEL7 following packages get installed:

[ 31s] [273/447] installing openssl-libs-1:1.0.1e-34.el7
[ 36s] [303/447] installing openssl-1:1.0.1e-34.el7
[ 40s] [331/447] installing openssl-devel-1:1.0.1e-34.el7

Then the spec file from the repository is used to build the package:
https://github.com/bareos/Droplet/blob/bareos-master/libdroplet.obs.spec

Regards,
Jörg

Rafael Castellar das Neves

unread,
Sep 21, 2019, 8:35:19 AM9/21/19
to bareos-users
No lucky so for, Jörg.

it should be something with any lib's versions, as your first tip. I will dig more about it in web.

Tks


Em quinta-feira, 19 de setembro de 2019 12:24:46 UTC-3, Jörg Steffens escreveu:
On RHEL7 following packages get installed:

[   31s] [273/447] installing openssl-libs-1:1.0.1e-34.el7
[   36s] [303/447] installing openssl-1:1.0.1e-34.el7
[   40s] [331/447] installing openssl-devel-1:1.0.1e-34.el7

Then the spec file from the repository is used to build the package:
https://github.com/bareos/Droplet/blob/bareos-master/libdroplet.obs.spec

Regards,
Jörg

--
 Jörg Steffens                   joerg....@bareos.com
Reply all
Reply to author
Forward
0 new messages