https://bugs.freedesktop.org/show_bug.cgi?id=76620

          Priority: medium
            Bug ID: 76620
          Assignee: libreoffice-bugs@lists.freedesktop.org
           Summary: MySQL Connector extension fails to build on OSX
          Severity: normal
    Classification: Unclassified
                OS: Mac OS X (All)
          Reporter: ipla...@yahoo.co.uk
          Hardware: x86-64 (AMD64)
            Status: UNCONFIRMED
           Version: 4.2.0.0.alpha1
         Component: Database
           Product: LibreOffice

Some time during 4.2 development, the code for configuring the mysql connector
build got changed with the result that the build of the mysql connector fails
at the configuration stage if one uses the following switches on OSX :

--enable-ext-mariadb-connector
--with-system-mariadb
--enable-bundle-mariadb

The unhelpful error message which appears is to be found in configure.ac :
AC_MSG_ERROR([libmariadb is known to be broken as of 2013-10; use
libmysqlclient])

which is the result of the test(s) failing on OSX.

The problematic test code appears to be somewhere in here :


if test "$ENABLE_MARIADBC" = "TRUE"; then

    SCPDEFS="$SCPDEFS -DWITH_EXTENSION_MARIADBC"

    dnl ===================================================================
    dnl Check for system MariaDB
    dnl ===================================================================
    AC_MSG_CHECKING([which MariaDB to use])
    if test "$with_system_mariadb" = "yes"; then
        AC_MSG_RESULT([external])
        SYSTEM_MARIADB=TRUE
        #AC_PATH_PROG(MARIADBCONFIG, [mariadb_config])
        if test -z "$MARIADBCONFIG"; then
            AC_PATH_PROG(MARIADBCONFIG, [mysql_config])
            if test -z "$MARIADBCONFIG"; then
                #AC_MSG_ERROR([mariadb_config and mysql_config are missing.
Install MariaDB or MySQL package.])
                AC_MSG_ERROR([mysql_config is missing. Install MySQL client
library development package.])
            fi
        fi
        AC_MSG_CHECKING([MariaDB version])
        MARIADB_VERSION=`$MARIADBCONFIG --version`
        MARIADB_MAJOR=`$MARIADBCONFIG --version | cut -d"." -f1`
        if test "$MARIADB_MAJOR" -ge "5"; then
            AC_MSG_RESULT([OK])
        else
            AC_MSG_ERROR([too old, use 5.0.x or later])
        fi
        AC_MSG_CHECKING([for MariaDB Client library])
        MARIADB_CFLAGS=`$MARIADBCONFIG --cflags`
        if test "$COM_GCC_IS_CLANG" = TRUE; then
            MARIADB_CFLAGS=$(printf '%s' "$MARIADB_CFLAGS" | sed -e
s/-fstack-protector-strong//)
        fi
        MARIADB_LIBS=`$MARIADBCONFIG --libs_r`
        dnl At least mariadb-5.5.34-3.fc20.x86_64 plus
        dnl mariadb-5.5.34-3.fc20.i686 reports 64-bit specific output even
under
        dnl linux32:
        if test "$OS" = LINUX -a "$CPUNAME" = INTEL; then
            MARIADB_CFLAGS=$(printf '%s' "$MARIADB_CFLAGS" | sed -e s/-m64//)
            MARIADB_LIBS=$(printf '%s' "$MARIADB_LIBS" \
                | sed -e 's|/lib64/|/lib/|')
        fi
        AC_MSG_RESULT([includes '$MARIADB_CFLAGS', libraries '$MARIADB_LIBS'])
        AC_MSG_CHECKING([whether to bundle the MySQL/MariaDB client library])
        if test "$enable_bundle_mariadb" = "yes"; then
            AC_MSG_RESULT([yes])
            BUNDLE_MARIADB=TRUE
            LIBMARIADB=lib$(echo "${MARIADB_LIBS}" | sed -e
's/[[[:space:]]]\+-l/\n/g' | grep -E '(mysqlclient|mariadb)')
            if test "$_os" = "Darwin"; then
                LIBMARIADB=${LIBMARIADB}.dylib
            elif test "$_os" = "WINNT"; then
                LIBMARIADB=${LIBMARIADB}.dll
            else
                LIBMARIADB=${LIBMARIADB}.so
            fi
            LIBMARIADB_PATH=$($MARIADBCONFIG --variable=pkglibdir)
            AC_MSG_CHECKING([for $LIBMARIADB in $LIBMARIADB_PATH])
            if test -e "$LIBMARIADB_PATH/$LIBMARIADB"; then
                AC_MSG_RESULT([found.])
                PathFormat "$LIBMARIADB_PATH"
                LIBMARIADB_PATH="$formatted_path"
            else
                AC_MSG_ERROR([not found.])
            fi
        else
            AC_MSG_RESULT([no])
            BUNDLE_MARIADB=
        fi
    else
        AC_MSG_RESULT([internal])
        AC_MSG_ERROR([libmariadb is known to be broken as of 2013-10; use
libmysqlclient])
        SYSTEM_MARIADB=
        MARIADB_CFLAGS="-I${WORKDIR}/UnpackedTarball/mariadb/include"
        MARIADB_LIBS="-L${WORKDIR}/LinkTarget/StaticLibrary -lmariadblib"
        BUILD_TYPE="$BUILD_TYPE MARIADB"
    fi

    AC_SUBST(SYSTEM_MARIADB)
    AC_SUBST(MARIADB_CFLAGS)
    AC_SUBST(MARIADB_LIBS)
    AC_SUBST(LIBMARIADB)
    AC_SUBST(LIBMARIADB_PATH)
    AC_SUBST(BUNDLE_MARIADB)



 Additionally, if the alternative configure switches are used :
--with-system-mysql-cppconn=/path-to-lib-mysqlcppconn/
--with-system-mariadb=/path-to-libmysql/

They appear to be overridden or ignored by the --enable-ext-mariadb-connector
switch.




Alex

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to