Hi,
I want to use mariadb client for Qt so I tried to build
mariadb-connector-c using the following parameters under Linux
Mint 17.3 x64 xfce:
#!/bin/bash
version=2.3.0
pkg=mariadb-connector-c-$version-src.tar.gz
url=https://downloads.mariadb.org/f/connector-c-$version/$pkg
dir=$(basename $pkg .tar.gz)
if [ ! -d $dir ]; then
wget -c $url
tar -xf $pkg || exit 1
fi
pushd $dir
sed -i -e "s|ADD_SUBDIRECTORY(unittest/libmariadb)|#ADD_SUBDIRECTORY(unittest/libmariadb)|" CMakeLists.txt
sed -i -e "N; s|typedef unsigned short ushort;\n#endif|#endif\ntypedef unsigned short ushort;|" include/my_global.h
sed -i -e "N; s|SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION.*||" libmariadb/CMakeLists.txt
sed -i -e "N; s|SOVERSION \${CPACK_PACKAGE_VERSION_MAJOR})||" libmariadb/CMakeLists.txt # Pig disgusting: the previous multiline thingie should've done it
sed -i -e "N; s|\${CPACK_PACKAGE_VERSION_MAJOR}||" libmariadb/CMakeLists.txt # Pig disgusting: what the fuck
mkdir build
pushd build
PKG_CONFIG_PATH=$SR/usr/lib/pkgconfig cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS=--sysroot="$SR" \
-DCMAKE_INSTALL_PREFIX="$SR/usr" \
-DCMAKE_C_COMPILER="$BR"gcc \
-DCMAKE_LINKER="$BR"ld \
-DCMAKE_AR="$BR"ar \
-DCMAKE_NM="$BR"nm \
-DCMAKE_OBJCOPY="$BR"objcopy \
-DCMAKE_OBJDUMP="$BR"objdump \
-DCMAKE_RANLIB="$BR"ranlib \
-DCMAKE_STRIP="$BR"strip \
-DICONV_INCLUDE_DIR="$SR/usr/include" \
-DICONV_LIBRARIES="$SR/usr/lib/libiconv.a" \
-DWITH_EXTERNAL_ZLIB=ON \
-DZLIB_INCLUDE_DIR="$SR/usr/include" \
-DZLIB_LIBRARY="$SR/usr/lib/libz.so" ../ || exit 1
make install || exit 1
popd
# ???
pwd
cp build/libmariadb/*.{a,so} "$SR/usr/lib/mariadb/" || exit 1
popd
But I get this error message:
/home/mbnoimi/Snippets/Scripts/Shell/create-mysql-qt-android-plugin/mariadb-connector-c-2.3.0-src/libmariadb/my_context.c: In function 'my_context_init':
/home/mbnoimi/Snippets/Scripts/Shell/create-mysql-qt-android-plugin/mariadb-connector-c-2.3.0-src/libmariadb/my_context.c:129:11: error: missing binary operator before token "("
#if sizeof(char *) > SIZEOF_INT*2
^
make[2]: *** [libmariadb/CMakeFiles/mariadb_obj.dir/my_context.c.o] Error 1
make[1]: *** [libmariadb/CMakeFiles/mariadb_obj.dir/all] Error 2
make: *** [all] Error 2
Changes:
diff: ./rootfs_files_before.txt: No such file or directory
mbnoimi@mbnoimi-laptop ~/Snippets/Scripts/Shell/create-mysql-qt-android-plugin $
How can I fix this issue?
NOTE: For full thread about this issue you can use this
link.
--
Best Regards,
Muhammad Bashir Al-Noimi
Skype+Telegram+GMail: mbnoimi