Uploaded image for project: 'Funtoo Linux'
  1. Funtoo Linux
  2. FL-5176

>=dev-db/mariadb-10.2.14 fails to compile

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • None
    • None
    • None

      Version =dev-db/mariadb-10.2.12 compile fine. New versions fail to emerge:

       

      ###################################################################

      coffnix ~ # emerge =dev-db/mariadb-10.2.14  
      Calculating dependencies... done!
      [ebuild     U  ] dev-db/mariadb-10.2.14 [10.2.12] USE="-client-libs%"  
      [ebuild  N     ] dev-db/mariadb-connector-c-3.0.3  USE="curl ssl -gnutls -kerberos -libressl -mysqlcompat -static-libs" ABI_X
      86="(64) -32 (-x32)"  
      [ebuild  N     ] dev-db/mysql-connector-c-6.1.9-r1  USE="ssl -static-libs" ABI_X86="(64) -32 (-x32)"  
      [ebuild  N     ] dev-db/mysql-5.6.39  USE="latin1 openssl perl server -debug -embedded -extraengine -jemalloc -libressl -numa
      -profiling (-selinux) -static -static-libs -systemtap -tcmalloc {-test} -yassl" ABI_X86="(64) -32 (-x32)"  
      [blocks B      ] dev-db/mysql[client-libs(+)] ("dev-db/mysql[client-libs(+)]" is blocking dev-db/mysql-connector-c-6.1.9-r1)
      [blocks B      ] dev-db/mysql ("dev-db/mysql" is blocking dev-db/mariadb-10.2.12, dev-db/mariadb-10.2.14)
      [blocks B      ] dev-db/mariadb ("dev-db/mariadb" is blocking dev-db/mysql-5.6.39)

      • Error: The above package list contains packages which cannot be
      • installed at the same time on the same system.

       dev-db/mysql-5.6.39:0/18::dev-kit, ebuild scheduled for merge pulled in by
         =dev-db/mysql-5.6*[embedded?,server?,static?] (=dev-db/mysql-5.6*[server]) required by virtual/mysql-5.6-r9:0/18::dev-kit
      , installed

       dev-db/mariadb-10.2.14:0/18::dev-kit, ebuild scheduled for merge pulled in by
         dev-db/mariadb required by @selected
         =dev-db/mariadb-10.2.14

       dev-db/mysql-connector-c-6.1.9-r1:0/18::dev-kit, ebuild scheduled for merge pulled in by
         dev-db/mysql-connector-c:0/18[static-libs?,abi_x86_32?,abi_x86_64?,abi_x86_x32?,abi_mips_n32?,abi_mips_n64
      ?,abi_mips_o32?,abi_ppc_32?,abi_ppc_64?,abi_s390_32?,abi_s390_64?] (dev-db/mysql-connector-c:0/18[abi_x86_64(-
      )]) required by virtual/libmysqlclient-18:0/18::dev-kit, installed
         dev-db/mysql-connector-c[abi_x86_32?,abi_x86_64?,abi_x86_x32?,abi_mips_n32?,abi_mips_n64?,abi_mips_o32?
      ,abi_ppc_32?,abi_ppc_64?,abi_s390_32?,abi_s390_64?] (dev-db/mysql-connector-c[abi_x86_64(-)]) required by dev-db/
      mariadb-10.2.14:0/18::dev-kit, ebuild scheduled for merge

       

      ###################################################################

       

      coffnix /var/overlay/local/dev-db/mariadb # diff -u /var/overlay/local/dev-db/mariadb/mariadb-10.2.12.ebuild /var/git/meta-re
      po/kits/dev-kit/dev-db/mariadb/mariadb-10.2.14.ebuild
      — /var/overlay/local/dev-db/mariadb/mariadb-10.2.12.ebuild    2018-04-05 12:41:31.704602982 -0300
      +++ /var/git/meta-repo/kits/dev-kit/dev-db/mariadb/mariadb-10.2.14.ebuild       2018-05-08 17:00:21.930449188 -0300
      @@ -2,7 +2,7 @@

      1. Distributed under the terms of the GNU General Public License v2
         
        EAPI="6"
        -MY_EXTRAS_VER="20170926-1321Z"
        +MY_EXTRAS_VER="20180308-1938Z"
        SUBSLOT="18"
         
        JAVA_PKG_OPT_USE="jdbc"
        @@ -28,7 +28,7 @@
        DESCRIPTION="An enhanced, drop-in replacement for MySQL"
        LICENSE="GPL-2 LGPL-2.1+"
        SLOT="0/${SUBSLOT:-0}"
        -IUSE="+backup bindist cracklib debug embedded extraengine galera innodb-lz4
        +IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
               innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
               numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
               sst-rsync sst-mariabackup sst-xtrabackup static static-libs systemd systemtap tcmalloc
        @@ -39,12 +39,11 @@
         
        REQUIRED_USE="jdbc? ( extraengine server !static )
               server? ( tokudb? ( jemalloc !tcmalloc ) )
      •       !server? ( !extraengine !embedded )
        +       !server? ( !extraengine )
               ?? ( tcmalloc jemalloc )
               static? ( yassl !pam )"
         
        1. REMEMBER: also update eclass/mysql*.eclass before committing!
          -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~p
          pc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
          +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-
          solaris"
           
      1. Shorten the path because the socket path length must be shorter than 107 chars
      2. and we will run a mysql server during test phase
        @@ -58,7 +57,7 @@
         
        PATCHES=(
               "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
      •       "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.8-without-clientlibs-tools.patch
        +       "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.9-without-clientlibs-tools.patch
               "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
               "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
        )
        @@ -73,18 +72,24 @@
               )
               >=sys-apps/sed-4
               >=sys-apps/texinfo-4.7-r1
      •       !dev-db/mariadb-connector-c[mysqlcompat]
               jemalloc? ( dev-libs/jemalloc:0= )
               tcmalloc? ( dev-util/google-perftools:0= )
               systemtap? ( >=dev-util/systemtap-1.3:0= )
               !yassl? (
      •               !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
      •               libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
        +               client-libs? (
        +                       !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
        +                       libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
        +               )
        +               !client-libs? (
        +                       !libressl? ( >=dev-libs/openssl-1.0.0:0= )
        +                       libressl? ( dev-libs/libressl:0= )
        +               )
               )
      •       >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
        +       client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
        +               kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
        +       )
        +       !client-libs? ( >=sys-libs/zlib-1.2.3:0= kerberos? ( virtual/krb5 ) )
               sys-libs/ncurses:0=
      •       mroonga? ( app-text/groonga-normalizer-mysql )
      •       kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
               !bindist? (
                       sys-libs/binutils-libs:0=
                       >=sys-libs/readline-4.1:0=
        @@ -99,6 +104,7 @@
                       innodb-lz4? ( app-arch/lz4 )
                       innodb-lzo? ( dev-libs/lzo )
                       innodb-snappy? ( app-arch/snappy )
        +               mroonga? ( app-text/groonga-normalizer-mysql )
                       numa? ( sys-process/numactl )
                       oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
                       pam? ( virtual/pam:0= )
        @@ -113,7 +119,7 @@
               server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
               ${COMMON_DEPEND}"
        RDEPEND="selinux? ( sec-policy/selinux-mysql )
      •       abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] )
        +       client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
               !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
               server? ( !prefix? ( dev-db/mysql-init-scripts ) )
               !<virtual/mysql-5.6-r9
        @@ -136,9 +142,9 @@
      1. dev-perl/DBD-mysql is needed by some scripts installed by MySQL
      2. xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
        PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
      •        server? ( ~virtual/mysql-5.6[embedded=,static=] )
      •        virtual/libmysqlclient:${SLOT}[${MULTILIB_USEDEP},static-libs=]
      •       server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
        +       !client-libs? ( dev-db/mariadb-connector-c[${MULTILIB_USEDEP}] dev-db/mysql-connector-c[${MULTILIB_USEDEP}] )
        +        server? ( ~virtual/mysql-5.6[static=]
        +                galera? ( sst-xtrabackup? ( || ( >=dev-db/xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
         
        pkg_setup() {
               if [[ ${MERGE_TYPE} != binary ]] ; then
        @@ -240,10 +246,6 @@
        }
         
        src_unpack() {
      •       # Initialize the proper variables first
      •       mysql_init_vars
      •        unpack ${A}
               # Grab the patches
               [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
        @@ -266,6 +268,10 @@
               # There is no CMake flag, it simply checks for existance
               rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
         
        +       if ! use server; then
        +               rm -r "${S}"/plugin/handler_socket || die
        +       fi
        +
               cmake-utils_src_prepare
        }
         
        @@ -280,12 +286,20 @@
               # bug #283926, with GCC4.4, this is required to get correct behavior.
               append-flags -fno-strict-aliasing
         

      •       multilib-minimal_src_configure
        +       if use client-libs ; then
        +               multilib-minimal_src_configure
        +       else
        +               multilib_src_configure
        +       fi
        }
         
        multilib_src_configure() {
               debug-print-function ${FUNCNAME} "$@"
         
        +       if ! multilib_is_native_abi && ! use client-libs ; then
        +               return
        +       fi
        +
               CMAKE_BUILD_TYPE="RelWithDebInfo"
         
               # debug hack wrt #497532
        @@ -343,6 +357,10 @@
                       mycmakeargs+=( -DWITH_SSL=bundled )
               fi
         
        +       if ! use client-libs ; then
        +               mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
        +       fi
        +
               # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
               # systemtap only works on native ABI  bug 530132
               if multilib_is_native_abi; then
        @@ -436,7 +454,7 @@
                               -DMYSQL_USER=mysql
                               -DDISABLE_SHARED=$(usex static YES NO)
                               -DWITH_DEBUG=$(usex debug)
      •                       -DWITH_EMBEDDED_SERVER=$(usex embedded)
        +                       -DWITH_EMBEDDED_SERVER=OFF
                               -DWITH_PROFILING=$(usex profiling)
                       )
         
        @@ -463,7 +481,7 @@
               else
                       mycmakeargs+=(
                               -DWITHOUT_SERVER=1
      •                       -DWITHOUT_EMBEDDED_SERVER=1
        +                       -DWITH_EMBEDDED_SERVER=OFF
                               -DEXTRA_CHARSETS=none
                               -DINSTALL_SQLBENCHDIR=
                               -DWITH_SYSTEMD=no
        @@ -474,7 +492,11 @@
        }
         
        src_compile() { -       multilib-minimal_src_compile +       if use client-libs ; then +               multilib-minimal_src_compile +       else +               multilib_src_compile +       fi }


         
        multilib_src_compile()

        { @@ -482,31 +504,36 @@ }


         
        src_install()

        { -       # headers with ABI specific data -       local MULTILIB_WRAPPED_HEADERS=( -               /usr/include/mysql/server/my_config.h -               /usr/include/mysql/server/private/embedded_priv.h -               /usr/include/mysql/server/mysql_version.h -               /usr/include/mariadb/mariadb_version.h -               /usr/include/mysql/mariadb_version.h -               /usr/include/mysql/server/private/probes_mysql_nodtrace.h -               /usr/include/mysql/server/private/probes_mysql_dtrace.h ) - -       # wrap the config scripts -       local MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config /usr/bin/mysql_config ) -       multilib-minimal_src_install +       local MULTILIB_WRAPPED_HEADERS +       local MULTILIB_CHOST_TOOLS +       if use client-libs ; then +               # headers with ABI specific data +               MULTILIB_WRAPPED_HEADERS=( +                       /usr/include/mysql/server/my_config.h +                       /usr/include/mysql/server/private/embedded_priv.h +                       /usr/include/mysql/server/mysql_version.h +                       /usr/include/mariadb/mariadb_version.h +                       /usr/include/mysql/mariadb_version.h +                       /usr/include/mysql/server/private/probes_mysql_nodtrace.h +                       /usr/include/mysql/server/private/probes_mysql_dtrace.h ) + +               # wrap the config scripts +               MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config /usr/bin/mysql_config ) +               multilib-minimal_src_install +       else +               multilib_src_install +               multilib_src_install_all +       fi }


         

      1. Intentionally override eclass function
        multilib_src_install() {
      •       cmake-utils_src_install
         
      •       # Make sure the vars are correctly initialized
      •       mysql_init_vars
        +       cmake-utils_src_install
         
               # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
      •       if [[ -f "${D}/usr/include/mysql/server/private/config.h" ]] ; then
      •               rm "${D}/usr/include/mysql/server/private/config.h" || die
        +       if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
        +               rm "${ED}/usr/include/mysql/server/private/config.h" || die
               fi
         
               if ! multilib_is_native_abi && use server ; then
        @@ -514,10 +541,12 @@
                       doins "${S}"/sql/*.h
               fi
         
        +       if use client-libs ; then
               # Install compatible symlinks to libmysqlclient
        1.      use static-libs && dosym libmariadbclient.a "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.a"
        2.      dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so"
      •       dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so.${SUBSLOT}"
        +#      use static-libs && dosym libmariadbclient.a "/usr/$(get_libdir)/libmysqlclient.a"
        +#      dosym libmariadb.so.3 "/usr/$(get_libdir)/libmysqlclient.so"
        +       dosym libmariadb.so.3 "/usr/$(get_libdir)/libmysqlclient.so.${SUBSLOT}"
        +       fi
         
               # Kill old libmysqclient_r symlinks if they exist.  Time to fix what depends on them.
               find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
        @@ -598,12 +627,7 @@
      1. FEATURES='test userpriv -usersandbox' \
      2. ebuild mariadb-X.X.XX.ebuild \
      3. digest clean package
        -multilib_src_test() {
      •       if ! multilib_is_native_abi ; then
      •               einfo "Server tests not available on non-native abi".
      •               return 0;
      •       fi
        +src_test() {
         
               _disable_test() {
                       local rawtestname reason
        @@ -668,6 +692,10 @@
                               _disable_test  "$t" "False positives in Gentoo"
               done
         
        +       if ! use client-libs ; then
        +               _disable_test main.plugin_auth "Needs client libraries built"
        +       fi
        +
               # run mysql-test tests
               perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled
        .def"
               retstatus_tests=$?
        @@ -818,11 +846,11 @@
         
                       unset tmp_mysqld_password_source
               fi
      •       MYSQL_TMPDIR="$(_getoptval '--mysqld' tmpdir)"
        +       MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
               # These are dir+prefix
      •       MYSQL_RELAY_LOG="$(_getoptval '--mysqld' relay-log)"
        +       MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
               MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
      •       MYSQL_LOG_BIN="$(_getoptval '--mysqld' log-bin)"
        +       MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
               MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
         
               if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
                                                                          

            oleg oleg
            coffnix coffnix
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: