Can not compile mysql-cluster with -DDISABLE_SHARED=on

Bug #1342093 reported by Mimiko on 2014-07-15
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Gearman MySQL UDF
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?

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  Edit
Everyone can see this information.

Other bug subscribers