Bug 209419

Summary: databases/mariadb100-client fails to build on FreeBSD 10.3
Product: Ports & Packages Reporter: Arkadiy Yaruta <yaruta.arkadiy>
Component: Individual Port(s)Assignee: Bernard Spil <brnrd>
Status: Closed FIXED    
Severity: Affects Only Me CC: john, sa.inbox, yaruta.arkadiy
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Arkadiy Yaruta 2016-05-10 11:21:02 UTC
#make showconfig
===> The following configuration options are available for mariadb100-client-10.0.25:
     FASTMTX=off: Replace mutexes with spinlocks
===> Use 'make config' to modify these settings

#make install clean
===>  Building for mariadb100-client-10.0.25
gmake[2]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[3]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[  0%] Built target INFO_SRC
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[  0%] Built target INFO_BIN
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[  8%] Built target pcre
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[  8%] Built target pcreposix
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[  9%] Built target pcretest
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 10%] Built target pcregrep
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 26%] Built target strings
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 65%] Built target mysys
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 66%] Built target dbug
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 67%] Built target factorial
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 70%] Built target ps
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 73%] Built target t
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 73%] Built target dbug-unit-tests
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 73%] Built target tests
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 76%] Built target vio
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 77%] Built target thr_lock
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 79%] Built target mysys_ssl
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 80%] Built target comp_err
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 80%] Built target GenError
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 84%] Built target clientlib
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
gmake[4]: Entering directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
[ 84%] Linking CXX shared library libmysqlclient.so
/usr/bin/ld: /usr/lib/libssl.a(ssl_err.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/lib/libssl.a: could not read symbols: Bad value
c++: error: linker command failed with exit code 1 (use -v to see invocation)
libmysql/CMakeFiles/libmysql.dir/build.make:110: recipe for target 'libmysql/libmysqlclient.so.18' failed
gmake[4]: *** [libmysql/libmysqlclient.so.18] Error 1
gmake[4]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
CMakeFiles/Makefile2:1083: recipe for target 'libmysql/CMakeFiles/libmysql.dir/all' failed
gmake[3]: *** [libmysql/CMakeFiles/libmysql.dir/all] Error 2
gmake[3]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
Makefile:149: recipe for target 'all' failed
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory '/usr/ports/databases/mariadb100-client/work/mariadb-10.0.25'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/databases/mariadb100-client
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/mariadb100-client
Comment 1 Bernard Spil freebsd_committer freebsd_triage 2016-05-10 11:51:48 UTC
Please only set maintainer feedback requested when there's a patch attachment.

I have noticed this as well. This does work when you use security/libressl as libcrypto/libssl provider.
Comment 2 Arkadiy Yaruta 2016-05-10 12:26:39 UTC
It works with libressl. Thank you for recommendation!
Comment 3 commit-hook freebsd_committer freebsd_triage 2016-05-11 20:10:55 UTC
A commit references this bug:

Author: brnrd
Date: Wed May 11 20:10:51 UTC 2016
New revision: 415024
URL: https://svnweb.freebsd.org/changeset/ports/415024

Log:
  databases/mariadb100-server: Fix package builder failures

    - Add dependency on OpenSSL from ports
    - As per PR206998 this fixes the relocation error [1]

  [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206998#c102

  PR:		209419

Changes:
  head/databases/mariadb100-server/Makefile
Comment 4 Bernard Spil freebsd_committer freebsd_triage 2016-05-11 20:11:57 UTC
Should work with OpenSSL from ports as well!
Comment 5 John Marshall 2016-05-11 20:49:34 UTC
And for those of us who don't want to go down the horrible twisty maze of having two versions of OpenSSL installed on our systems (base + ports) and don't actually need SSL in mariadb (where did the SSL knob go?)...

Index: databases/mariadb100-server/Makefile
===================================================================
--- databases/mariadb100-server/Makefile	(revision 415021)
+++ databases/mariadb100-server/Makefile	(working copy)
@@ -51,7 +51,6 @@
 		-DINSTALL_SUPPORTFILESDIR="share/mysql" \
 		-DWITH_UNIT_TESTS=0 \
 		-DWITH_LIBEDIT=0 \
-		-DWITH_SSL=${OPENSSLBASE} \
 		-DWITH_LIBWRAP=1 \
 		-DEXECINFO_ROOT=${LOCALBASE} \
 		-DCOMPILATION_COMMENT="FreeBSD Ports"
Comment 6 commit-hook freebsd_committer freebsd_triage 2016-05-12 19:25:46 UTC
A commit references this bug:

Author: brnrd
Date: Thu May 12 19:25:07 UTC 2016
New revision: 415086
URL: https://svnweb.freebsd.org/changeset/ports/415086

Log:
  MFH: r415024

  databases/mariadb100-server: Fix package builder failures

    - Add dependency on OpenSSL from ports
    - As per PR206998 this fixes the relocation error [1]

  [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206998#c102

  PR:		209419

  Approved by:	ports-secteam (junovitch)

Changes:
_U  branches/2016Q2/
  branches/2016Q2/databases/mariadb100-server/Makefile
Comment 7 Alexander 2016-08-15 14:31:57 UTC
There is no this issue with actual version of port. I believe this ticket can be closed.