Compiling libMariaS3¶
libMariaS3 is designed to be compiled with GCC or CLang on a modern Linux distrubition or Mac OSX.
Prerequisites¶
libMariaS3 requires libcurl 7.x and libxml2 to be installed. For RPM based distributions this can be installed using:
sudo dnf install libcurl-devel libxml2-devel
Building¶
On most systems you can use the following commands, this is especially useful for customising your install:
autoreconf -fi
./configure
make
make install
The build system will automatically detect how many processor cores you have (physicaly and virtual) and set the --jobs
options of make accordingly.
Testing¶
libMariaS3 comes with a basic test suite which we recommend executing, especially if you are building for a new platform.
You will need the following OS environment variables set to run the tests:
Variable |
Desription |
---|---|
S3KEY |
Your AWS access key |
S3SECRET |
Your AWS secret key |
S3REGION |
The AWS region (for example us-east-1) |
S3BUCKET |
The S3 bucket name |
S3HOST |
OPTIONAL hostname for non-AWS S3 service |
S3NOVERIFY |
Set to |
The test suite is automatically built along with the library and can be executed with make check
or make distcheck
. If you wish to test with valgrind you can use:
TESTS_ENVIRONMENT="./libtool --mode=execute valgrind --error-exitcode=1 --leak-check=yes --track-fds=yes --malloc-fill=A5 --free-fill=DE" make check
Building RPMs¶
The build system for libMariaS3 has the capability to build RPMs. To build RPMs simply do the following:
autoreconf -fi
./configure
make dist-rpm
Note
The package redhat-rpm-config
is required for building the RPM because this generates the debuginfo RPM.
Building DEBs¶
Debian packages for libMariaS3 can be built using the standard dpkg-buildpackage
tool as follows:
autoreconf -fi
dpkg-buildpackage
Note
You may need to add --no-sign
to dpkg-buildpackage to build unsigned packages.