Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-20857

Multiple definitions for filename_hash

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.4.8
    • 10.4.19, 10.5.10
    • Compiling
    • Centos-7, devtoolset 8
      cmake .. -DBUILD_CONFIG=mysql_release -DWITH_JEMALLOC=yes -DNOT_FOR_DISTRIBUTION=ON -Wno-dev

    Description

      [ 27%] Linking CXX executable explain_filename-t
      ../../storage/perfschema/libperfschema.a(pfs_instr.cc.o):(.bss+0x0): multiple definition of `filename_hash'
      /apps/rh/devtoolset-8/root/usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../lib64/libiberty.a(filename_cmp.o):(.text+0x20): first defined here
      collect2: error: ld returned 1 exit status
      make[2]: *** [unittest/sql/CMakeFiles/explain_filename-t.dir/build.make:120: unittest/sql/explain_filename-t] Error 1
      make[1]: *** [CMakeFiles/Makefile2:1842: unittest/sql/CMakeFiles/explain_filename-t.dir/all] Error 2
      make: *** [Makefile:163: all] Error 2

      Attachments

        Activity

          danblack Daniel Black added a comment -

          Also fc33 in 10.4 where perf schema enabled

          ~/repos/build-mariadb-server-10.4 
          $ cmake --build .
          [16/17] Linking CXX executable unittest/sql/explain_filename-t
          FAILED: unittest/sql/explain_filename-t 
          : && /usr/lib64/ccache/clang++ -fstack-protector --param=ssp-buffer-size=4 -O2 -g -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wdeclaration-after-statement -Wextra -Wformat-security -Wno-init-self -Wno-null-conversion -Wno-unused-parameter -Wno-unused-private-field -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Wl,-z,relro,-z,now unittest/sql/CMakeFiles/explain_filename-t.dir/explain_filename-t.cc.o -o unittest/sql/explain_filename-t  -lpthread  sql/libsql.a  unittest/mytap/libmytap.a  storage/csv/libcsv.a  storage/heap/libheap.a  storage/innobase/libinnobase.a  -llz4  -llzma  -lsnappy  -laio  storage/maria/libaria.a  storage/myisam/libmyisam.a  storage/myisammrg/libmyisammrg.a  storage/perfschema/libperfschema.a  storage/sequence/libsequence.a  plugin/auth_socket/libauth_socket.a  plugin/feedback/libfeedback.a  plugin/user_variables/libuser_variables.a  plugin/userstat/libuserstat.a  sql/libpartition.a  sql/libsql_sequence.a  mysys_ssl/libmysys_ssl.a  mysys/libmysys.a  dbug/libdbug.a  mysys/libmysys.a  dbug/libdbug.a  -lz  -lm  -lbfd  strings/libstrings.a  vio/libvio.a  -lpcre  -lcrypt  -lsystemd  -lsystemd  -lssl  -lcrypto  wsrep-lib/src/libwsrep-lib.a  -lpthread  -ldl  wsrep-lib/wsrep-API/libwsrep_api_v26.a  -lpthread && :
          /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/libiberty.a(filename_cmp.o): in function `filename_hash':
          (.text+0x20): multiple definition of `filename_hash'; storage/perfschema/libperfschema.a(pfs_instr.cc.o):/home/dan/repos/mariadb-server-10.4/storage/perfschema/pfs_instr.cc:192: first defined here
          clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
          [17/17] Linking CXX executable sql/mysqld
          FAILED: sql/mysqld 
          : && /usr/lib64/ccache/clang++ -fstack-protector --param=ssp-buffer-size=4 -O2 -g -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wdeclaration-after-statement -Wextra -Wformat-security -Wno-init-self -Wno-null-conversion -Wno-unused-parameter -Wno-unused-private-field -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Wl,-z,relro,-z,now   -Wl,--export-dynamic sql/CMakeFiles/mysqld.dir/main.cc.o -o sql/mysqld  -lpthread  sql/libsql.a  storage/csv/libcsv.a  storage/heap/libheap.a  storage/innobase/libinnobase.a  -llz4  -llzma  -lsnappy  -laio  storage/maria/libaria.a  storage/myisam/libmyisam.a  storage/myisammrg/libmyisammrg.a  storage/perfschema/libperfschema.a  storage/sequence/libsequence.a  plugin/auth_socket/libauth_socket.a  plugin/feedback/libfeedback.a  plugin/user_variables/libuser_variables.a  plugin/userstat/libuserstat.a  sql/libpartition.a  sql/libsql_sequence.a  mysys_ssl/libmysys_ssl.a  mysys/libmysys.a  dbug/libdbug.a  mysys/libmysys.a  dbug/libdbug.a  -lz  -lm  -lbfd  strings/libstrings.a  vio/libvio.a  -lpcre  -lcrypt  -lpthread  -lsystemd  -lsystemd  -lssl  -lcrypto  wsrep-lib/src/libwsrep-lib.a  -lpthread  -ldl  wsrep-lib/wsrep-API/libwsrep_api_v26.a && :
          /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/libiberty.a(filename_cmp.o): in function `filename_hash':
          (.text+0x20): multiple definition of `filename_hash'; storage/perfschema/libperfschema.a(pfs_instr.cc.o):/home/dan/repos/mariadb-server-10.4/storage/perfschema/pfs_instr.cc:192: first defined here
          clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
          ninja: build stopped: subcommand failed.
          

          danblack Daniel Black added a comment - Also fc33 in 10.4 where perf schema enabled ~/repos/build-mariadb-server-10.4 $ cmake --build . [16/17] Linking CXX executable unittest/sql/explain_filename-t FAILED: unittest/sql/explain_filename-t : && /usr/lib64/ccache/clang++ -fstack-protector --param=ssp-buffer-size=4 -O2 -g -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wdeclaration-after-statement -Wextra -Wformat-security -Wno-init-self -Wno-null-conversion -Wno-unused-parameter -Wno-unused-private-field -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Wl,-z,relro,-z,now unittest/sql/CMakeFiles/explain_filename-t.dir/explain_filename-t.cc.o -o unittest/sql/explain_filename-t -lpthread sql/libsql.a unittest/mytap/libmytap.a storage/csv/libcsv.a storage/heap/libheap.a storage/innobase/libinnobase.a -llz4 -llzma -lsnappy -laio storage/maria/libaria.a storage/myisam/libmyisam.a storage/myisammrg/libmyisammrg.a storage/perfschema/libperfschema.a storage/sequence/libsequence.a plugin/auth_socket/libauth_socket.a plugin/feedback/libfeedback.a plugin/user_variables/libuser_variables.a plugin/userstat/libuserstat.a sql/libpartition.a sql/libsql_sequence.a mysys_ssl/libmysys_ssl.a mysys/libmysys.a dbug/libdbug.a mysys/libmysys.a dbug/libdbug.a -lz -lm -lbfd strings/libstrings.a vio/libvio.a -lpcre -lcrypt -lsystemd -lsystemd -lssl -lcrypto wsrep-lib/src/libwsrep-lib.a -lpthread -ldl wsrep-lib/wsrep-API/libwsrep_api_v26.a -lpthread && : /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/libiberty.a(filename_cmp.o): in function `filename_hash': (.text+0x20): multiple definition of `filename_hash'; storage/perfschema/libperfschema.a(pfs_instr.cc.o):/home/dan/repos/mariadb-server-10.4/storage/perfschema/pfs_instr.cc:192: first defined here clang-11: error: linker command failed with exit code 1 (use -v to see invocation) [17/17] Linking CXX executable sql/mysqld FAILED: sql/mysqld : && /usr/lib64/ccache/clang++ -fstack-protector --param=ssp-buffer-size=4 -O2 -g -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wdeclaration-after-statement -Wextra -Wformat-security -Wno-init-self -Wno-null-conversion -Wno-unused-parameter -Wno-unused-private-field -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Wl,-z,relro,-z,now -Wl,--export-dynamic sql/CMakeFiles/mysqld.dir/main.cc.o -o sql/mysqld -lpthread sql/libsql.a storage/csv/libcsv.a storage/heap/libheap.a storage/innobase/libinnobase.a -llz4 -llzma -lsnappy -laio storage/maria/libaria.a storage/myisam/libmyisam.a storage/myisammrg/libmyisammrg.a storage/perfschema/libperfschema.a storage/sequence/libsequence.a plugin/auth_socket/libauth_socket.a plugin/feedback/libfeedback.a plugin/user_variables/libuser_variables.a plugin/userstat/libuserstat.a sql/libpartition.a sql/libsql_sequence.a mysys_ssl/libmysys_ssl.a mysys/libmysys.a dbug/libdbug.a mysys/libmysys.a dbug/libdbug.a -lz -lm -lbfd strings/libstrings.a vio/libvio.a -lpcre -lcrypt -lpthread -lsystemd -lsystemd -lssl -lcrypto wsrep-lib/src/libwsrep-lib.a -lpthread -ldl wsrep-lib/wsrep-API/libwsrep_api_v26.a && : /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/libiberty.a(filename_cmp.o): in function `filename_hash': (.text+0x20): multiple definition of `filename_hash'; storage/perfschema/libperfschema.a(pfs_instr.cc.o):/home/dan/repos/mariadb-server-10.4/storage/perfschema/pfs_instr.cc:192: first defined here clang-11: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.
          danblack Daniel Black added a comment -

          reproduced by switching from PLUGIN_PERFSCHEMA=NO to PLUGIN_PERFSCHEMA=YES after a build. Couldn't reproduce on 10.3

          $ cmake -DPLUGIN_PERFSCHEMA=NO .
          -- Running cmake version 3.18.4
          -- MariaDB 10.4.18
          -- Updating submodules
          cma-- Wsrep-lib version: 1.0.0
          ke== Configuring MariaDB Connector/C
           --b-- -lcpprest
          u-- Performance Schema is required by TokuDB
          ild .CMake Warning at CMakeLists.txt:534 (MESSAGE):
            
           
            You have linked MariaDB with GPLv3 libraries! You may not distribute the
            resulting binary.  If you do, you will put yourself into a legal problem
            with the Free Software Foundation.
           
           
          -- Configuring done
          -- Generating done
          -- Build files have been written to: /home/dan/repos/build-mariadb-server-10.4
           
           
          ~/repos/build-mariadb-server-10.4 
          $ cmake --build . --target explain_filename-t
          [727/727] Linking CXX executable unittest/sql/explain_filename-t
           
          ~/repos/build-mariadb-server-10.4 
          $ cmake -DPLUGIN_PERFSCHEMA=YES .
          -- Running cmake version 3.18.4
          -- MariaDB 10.4.18
          -- Updating submodules
          -- Wsrep-lib version: 1.0.0
          == Configuring MariaDB Connector/C
          -- -lcpprest
          CMake Warning at CMakeLists.txt:534 (MESSAGE):
            
           
            You have linked MariaDB with GPLv3 libraries! You may not distribute the
            resulting binary.  If you do, you will put yourself into a legal problem
            with the Free Software Foundation.
           
           
          -- Configuring done
          -- Generating done
          -- Build files have been written to: /home/dan/repos/build-mariadb-server-10.4
           
          ~/repos/build-mariadb-server-10.4 
          $ cmake --build . --target explain_filename-t
          [802/802] Linking CXX executable unittest/sql/explain_filename-t
          FAILED: unittest/sql/explain_filename-t 
          : && /usr/lib64/ccache/clang++ -fstack-protector --param=ssp-buffer-size=4 -O2 -g -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wdeclaration-after-statement -Wextra -Wformat-security -Wno-init-self -Wno-null-conversion -Wno-unused-parameter -Wno-unused-private-field -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Wl,-z,relro,-z,now unittest/sql/CMakeFiles/explain_filename-t.dir/explain_filename-t.cc.o -o unittest/sql/explain_filename-t  -lpthread  sql/libsql.a  unittest/mytap/libmytap.a  storage/csv/libcsv.a  storage/heap/libheap.a  storage/innobase/libinnobase.a  -llz4  -llzma  -lsnappy  -laio  storage/maria/libaria.a  storage/myisam/libmyisam.a  storage/myisammrg/libmyisammrg.a  storage/perfschema/libperfschema.a  storage/sequence/libsequence.a  plugin/auth_socket/libauth_socket.a  plugin/feedback/libfeedback.a  plugin/user_variables/libuser_variables.a  plugin/userstat/libuserstat.a  sql/libpartition.a  sql/libsql_sequence.a  mysys_ssl/libmysys_ssl.a  mysys/libmysys.a  dbug/libdbug.a  mysys/libmysys.a  dbug/libdbug.a  -lz  -lm  -lbfd  strings/libstrings.a  vio/libvio.a  -lpcre  -lcrypt  -lsystemd  -lsystemd  -lssl  -lcrypto  wsrep-lib/src/libwsrep-lib.a  -lpthread  -ldl  wsrep-lib/wsrep-API/libwsrep_api_v26.a  -lpthread && :
          /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/libiberty.a(filename_cmp.o): in function `filename_hash':
          (.text+0x20): multiple definition of `filename_hash'; storage/perfschema/libperfschema.a(pfs_instr.cc.o):/home/dan/repos/mariadb-server-10.4/storage/perfschema/pfs_instr.cc:192: first defined here
          clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
          ninja: build stopped: subcommand failed.
          

          danblack Daniel Black added a comment - reproduced by switching from PLUGIN_PERFSCHEMA=NO to PLUGIN_PERFSCHEMA=YES after a build. Couldn't reproduce on 10.3 $ cmake -DPLUGIN_PERFSCHEMA=NO . -- Running cmake version 3.18.4 -- MariaDB 10.4.18 -- Updating submodules cma-- Wsrep-lib version: 1.0.0 ke== Configuring MariaDB Connector/C --b-- -lcpprest u-- Performance Schema is required by TokuDB ild .CMake Warning at CMakeLists.txt:534 (MESSAGE):   You have linked MariaDB with GPLv3 libraries! You may not distribute the resulting binary. If you do, you will put yourself into a legal problem with the Free Software Foundation.     -- Configuring done -- Generating done -- Build files have been written to: /home/dan/repos/build-mariadb-server-10.4     ~/repos/build-mariadb-server-10.4 $ cmake --build . --target explain_filename-t [727/727] Linking CXX executable unittest/sql/explain_filename-t   ~/repos/build-mariadb-server-10.4 $ cmake -DPLUGIN_PERFSCHEMA=YES . -- Running cmake version 3.18.4 -- MariaDB 10.4.18 -- Updating submodules -- Wsrep-lib version: 1.0.0 == Configuring MariaDB Connector/C -- -lcpprest CMake Warning at CMakeLists.txt:534 (MESSAGE):   You have linked MariaDB with GPLv3 libraries! You may not distribute the resulting binary. If you do, you will put yourself into a legal problem with the Free Software Foundation.     -- Configuring done -- Generating done -- Build files have been written to: /home/dan/repos/build-mariadb-server-10.4   ~/repos/build-mariadb-server-10.4 $ cmake --build . --target explain_filename-t [802/802] Linking CXX executable unittest/sql/explain_filename-t FAILED: unittest/sql/explain_filename-t : && /usr/lib64/ccache/clang++ -fstack-protector --param=ssp-buffer-size=4 -O2 -g -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wdeclaration-after-statement -Wextra -Wformat-security -Wno-init-self -Wno-null-conversion -Wno-unused-parameter -Wno-unused-private-field -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Wl,-z,relro,-z,now unittest/sql/CMakeFiles/explain_filename-t.dir/explain_filename-t.cc.o -o unittest/sql/explain_filename-t -lpthread sql/libsql.a unittest/mytap/libmytap.a storage/csv/libcsv.a storage/heap/libheap.a storage/innobase/libinnobase.a -llz4 -llzma -lsnappy -laio storage/maria/libaria.a storage/myisam/libmyisam.a storage/myisammrg/libmyisammrg.a storage/perfschema/libperfschema.a storage/sequence/libsequence.a plugin/auth_socket/libauth_socket.a plugin/feedback/libfeedback.a plugin/user_variables/libuser_variables.a plugin/userstat/libuserstat.a sql/libpartition.a sql/libsql_sequence.a mysys_ssl/libmysys_ssl.a mysys/libmysys.a dbug/libdbug.a mysys/libmysys.a dbug/libdbug.a -lz -lm -lbfd strings/libstrings.a vio/libvio.a -lpcre -lcrypt -lsystemd -lsystemd -lssl -lcrypto wsrep-lib/src/libwsrep-lib.a -lpthread -ldl wsrep-lib/wsrep-API/libwsrep_api_v26.a -lpthread && : /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/libiberty.a(filename_cmp.o): in function `filename_hash': (.text+0x20): multiple definition of `filename_hash'; storage/perfschema/libperfschema.a(pfs_instr.cc.o):/home/dan/repos/mariadb-server-10.4/storage/perfschema/pfs_instr.cc:192: first defined here clang-11: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.

          People

            danblack Daniel Black
            smclinden Sean McLinden
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.