Jenkins: Maven release plugin giving "undefined symbol: apr_crypto_block_cleanup" when trying to dry run using SVN

Viewed 658

We're using Jenkins 2.138.1 on Amazon Linux. We're trying to use the Maven Release plugin to build from our SVN repository. Although we can build snapshots fine, when we attempt to do a dry run of the Maven release plugin using the goals

-Dresume=false -DdryRun=true release:prepare 

we run into this error

Waiting for Jenkins to finish collecting data[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project springboard: Unable to check for local modifications
[ERROR] Provider message:
[ERROR] The svn command failed.
[ERROR] Command output:
[ERROR] svn: /opt/bitnami/common/lib/libsasl2.so.2: no version information available (required by /usr/lib/x86_64-linux-gnu/libsvn_ra_svn-1.so.1)
[ERROR] svn: /opt/bitnami/common/lib/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libserf-1.so.1)
[ERROR] svn: /opt/bitnami/common/lib/libcrypto.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libserf-1.so.1)
[ERROR] svn: symbol lookup error: /usr/lib/x86_64-linux-gnu/libsvn_subr-1.so.1: undefined symbol: apr_crypto_block_cleanup
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project springboard: Unable to check for local modifications
Provider message:
The svn command failed.
Command output:
svn: /opt/bitnami/common/lib/libsasl2.so.2: no version information available (required by /usr/lib/x86_64-linux-gnu/libsvn_ra_svn-1.so.1)
svn: /opt/bitnami/common/lib/libssl.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libserf-1.so.1)
svn: /opt/bitnami/common/lib/libcrypto.so.1.0.0: no version information available (required by /usr/lib/x86_64-linux-gnu/libserf-1.so.1)
svn: symbol lookup error: /usr/lib/x86_64-linux-gnu/libsvn_subr-1.so.1: undefined symbol: apr_crypto_block_cleanup

Prior to this, we got "[ERROR] /bin/sh: 1: svn: not found" so we installed svn on the Linux machine using yum. Anyway, what can we do to overcome the problem above?

2 Answers

So the issue is because you have multiple version of the same library, specifically the following

libsasl2.so.2
libssl.so.1.0.0
libcrypto.so.1.0.0

Do a locate libxml2.so.2 to confirm and remove the old versions and create a symbolic link using ln -s
Repeat for the others.

https://github.com/sitespeedio/sitespeed.io/issues/220
Talks about a similar issue

Hope it helps :)

You seem to have issue between 32bits and 64bits packages mixing.

The first libraries in messages are about 32 bits, and information about SVN are about 64 bits (x86_64).

First, you should check your architecture, either with:

uname -r

or, if available with:

arch

You may get something like:

i686

Then you can install the good version of subversion corresponding to your OS.

Using apt-get like specified in one of your comment (adapt architecture):

sudo apt-get install subversion:i686 

Or using yum, like specified in your original question (adapt architecture):

sudo yum install subversion.i686

Let me know if you need further help.

Related