Can not compile mysql-cluster with -DDISABLE_SHARED=on

Bug #1342093 reported by Mimiko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Gearman MySQL UDF
New
Undecided
Unassigned

Bug Description

Ca not compile mysql-cluster 7.3 with shared libs disabled:

cd ~/src/mysql-cluster/bld-server && \
    (make clean; rm ~/src/mysql-cluster/bld-server/CMakeCache.txt; echo 1) && \
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/mysql-cluster -DBUILD_CONFIG=mysql_release -DMYSQL_DATADIR=../data -DSYSCONFDIR=../etc \
    -DBACKUP_TEST=on -DCMAKE_BUILD_TYPE=MinSizeRel -DDCMAKE_SKIP_INSTALL_RPATH=on -DCMAKE_SKIP_RPATH=on \
    -DCMAKE_USE_RELATIVE_PATHS=on -DCMAKE_VERBOSE_MAKEFILE=on -DCOMMUNITY_BUILD=on -DDISABLE_SHARED=on \
    -DENABLED_LOCAL_INFILE=on -DENABLED_PROFILING=ON -DENABLE_DEBUG_SYNC=off -DENABLE_GCOV=on -DENABLE_GPROF=yes \
    -DENABLE_MEMCACHED_SASL=on -DENABLE_MEMCACHED_SASL_PWDB=on -DFEATURE_SET=community -DINNODB_COMPILER_HINTS=on \
    -DINNODB_PAGE_ATOMIC_REF_COUNT=on -DINSTALL_LAYOUT=STANDALONE -DWITHOUT_EXAMPLE_STORAGE_ENGINE=on \
    -DWITH_ARCHIVE_STORAGE_ENGINE=on -DWITH_ASAN=off -DWITH_BLACKHOLE_STORAGE_ENGINE=on -DWITH_DEBUG=off \
    -DWITH_EDITLINE=bundled -DWITH_EMBEDDED_SERVER=on -DWITH_ERROR_INSERT=off -DWITH_EXTRA_CHARSETS=all \
    -DWITH_FAST_MUTEXES=on -DWITH_FEDERATED_STORAGE_ENGINE=on -DWITH_INNOBASE_STORAGE_ENGINE=on \
    -DWITH_INNODB_MEMCACHED=off -DWITH_LIBEVENT=bundled -DWITH_LIBWRAP=on -DWITH_NDBCLUSTER_STORAGE_ENGINE=on \
    -DWITH_NDBMTD=on -DWITH_NDB_BINLOG=on -DWITH_NDB_DEFAULT_PLUGIN_DETECT=on -DWITH_NDB_JAVA=off \
    -DWITH_NDB_TEST=on -DWITH_PARTITION_STORAGE_ENGINE=on -DWITH_PIC=on -DWITH_SSL=bundled -DWITH_UNIT_TESTS=on \
    -DWITH_VALGRIND=on -DWITH_ZLIB=bundled -DIGNORE_AIO_CHECK=on -DENABLE_DOWNLOADS=on \
    -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_PERFSCHEMA_STORAGE_ENGINE=on \
    -DCPACK_MONOLITHIC_INSTALL=on -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    -DCMAKE_C_FLAGS="-fPIC -fPIE -static-libgcc -static-libstdc++" \
    -DCMAKE_CXX_FLAGS="-fPIC -fPIE -static-libgcc -static-libstdc++" && \
make V=1 J=1 all

give's this error:

[ 29%] Building CXX object storage/ndb/src/CMakeFiles/ndbclient_so.dir/ndbclient_exports.cpp.o
cd storage/ndb/src && /usr/bin/c++ -Dndbclient_so_EXPORTS -DHAVE_CONFIG_H -DHAVE_NDB_CONFIG_H -DNDEBUG -fPIC -fPIE -I/opt/cyrus-sasl/include -I/opt/valgrind/include -fPIC -Wall -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-strict-aliasing -Os -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -fPIC -I../../../include -I../../../../storage/ndb/include -I../../../../include -I../../../../sql -I../../../../regex -I../../../../extra/yassl/include -I../../../../extra/yassl/taocrypt/include -I../../../../zlib -I../../../../storage/ndb/include/util -I../../../../storage/ndb/include/portlib -I../../../../storage/ndb/include/debugger -I../../../../storage/ndb/include/transporter -I../../../../storage/ndb/include/kernel -I../../../../storage/ndb/include/mgmapi -I../../../../storage/ndb/include/mgmcommon -I../../../../storage/ndb/include/ndbapi -I../../../../storage/ndb/include/logger -I../include -I../../../../cmd-line-utils/libedit/editline -o CMakeFiles/ndbclient_so.dir/ndbclient_exports.cpp.o -c ../../../../storage/ndb/src/ndbclient_exports.cpp
Linking CXX shared library libndbclient.so
cd storage/ndb/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/ndbclient_so.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -fPIC -fPIE -I/opt/cyrus-sasl/include -I/opt/valgrind/include -fPIC -Wall -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-strict-aliasing -Os -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -shared -Wl,-soname,libndbclient.so.6.0.0 -o libndbclient.so.6.0.0 CMakeFiles/ndbclient_so.dir/ndbclient_exports.cpp.o -lpthread ../../../mysys/libmysys.a ../../../dbug/libdbug.a ../../../strings/libstrings.a ndbapi/libndbapi.a common/transporter/libndbtransport.a common/debugger/libndbtrace.a common/debugger/signaldata/libndbsignaldata.a mgmapi/libndbmgmapi.a common/mgmcommon/libndbmgmcommon.a common/logger/libndblogger.a common/portlib/libndbportlib.a common/util/libndbgeneral.a mgmsrv/libndbconf.a common/debugger/libndbtrace.a common/logger/libndblogger.a common/util/libndbgeneral.a common/debugger/signaldata/libndbsignaldata.a ../../../mysys_ssl/libmysys_ssl.a ../../../extra/yassl/libyassl.a ../../../extra/yassl/taocrypt/libtaocrypt.a mgmapi/libndbmgmapi.a mgmsrv/libndbconf.a common/portlib/libndbportlib.a ../../../mysys/libmysys.a ../../../dbug/libdbug.a ../../../mysys/libmysys.a ../../../dbug/libdbug.a ../../../strings/libstrings.a ../../../zlib/libzlib.a -lm -lrt -lpthread
/usr/bin/ld: ../../../mysys_ssl/libmysys_ssl.a(my_getopt.cc.o): relocation R_X86_64_PC32 against symbol `my_getopt_error_reporter' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [storage/ndb/src/libndbclient.so.6.0.0] Error 1
make[2]: Leaving directory `/home/mimiko/src/mysql-cluster/bld-server'
make[1]: *** [storage/ndb/src/CMakeFiles/ndbclient_so.dir/all] Error 2
make[1]: Leaving directory `/home/mimiko/src/mysql-cluster/bld-server'
make: *** [all] Error 2

How to resolve the problem?

Revision history for this message
Mimiko (vbvbrj) wrote :

I can compile mysql-cluster if I remove from CFLAGS and CXXFLAGS options -fPIE -static-libgcc -static-libstdc++. While in other projects, this option are working.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.