Bug #91735 | Fix library dependencies when building on Solaris | ||
---|---|---|---|
Submitted: | 20 Jul 2018 11:28 | Modified: | 20 Jul 2018 21:28 |
Reporter: | Tor Didriksen | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
Version: | 8.0.13 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[20 Jul 2018 11:28]
Tor Didriksen
[20 Jul 2018 21:28]
Paul DuBois
Posted by developer: Fixed in 8.0.13. Internal issue. No changelog entry needed.
[10 Dec 2018 10:48]
Klaus Hicke
Still not fixed in 8.0.13 CE: -bash-4.4$ md5sum mysqld 4c701144b176155bee5eea11883af691 mysqld -bash-4.4$ ./mysqld --version ld.so.1: mysqld: fatal: libstatomic.so.1: open failed: No such file or directory Killed bash-4.4$ ldd mysqld ... libstatomic.so.1 => (file not found) ...
[11 Dec 2018 12:14]
Tor Didriksen
Posted by developer: did you actually install the compiler runtime libraries? https://docs.oracle.com/cd/E60778_01/html/E60743/gozsu.html Note that we currently use Developer Studio 12.6 $ldd bin/mysqld libstdc++.so.6 => /opt/developerstudio12.6/lib/compilers/CC-gcc/lib/sparcv9/libstdc++.so.6 libgcc_s.so.1 => /opt/developerstudio12.6/lib/compilers/CC-gcc/lib/sparcv9/libgcc_s.so.1 libCrunG3.so.1 => /usr/lib/64/libCrunG3.so.1 libc.so.1 => /usr/lib/64/libc.so.1 libmtmalloc.so.1 => /usr/lib/64/libmtmalloc.so.1 libssl.so.1.0.0 => /usr/lib/64/libssl.so.1.0.0 libcrypto.so.1.0.0 => /usr/lib/64/libcrypto.so.1.0.0 libm.so.2 => /usr/lib/64/libm.so.2 libstatomic.so.1 => /opt/developerstudio12.6/lib/compilers/atomic/sparcv9/libstatomic.so.1 librt.so.1 => /usr/lib/64/librt.so.1
[12 Dec 2018 7:09]
Klaus Hicke
That's what curently is installed: ~# pkg info studio-runtime Name: system/library/studio-runtime Summary: Runtime Support For Oracle Solaris Studio Description: Runtime support libraries for applications built using Oracle Solaris Studio Category: Development/C (org.opensolaris.category.2008) Development/C++ (org.opensolaris.category.2008) Development/Fortran (org.opensolaris.category.2008) Meta Packages/Group Packages (org.opensolaris.category.2008) State: Installed Publisher: solaris Version: 11.4 Branch: 11.4.0.0.1.4.0 Packaging Date: 9. April 2018 um 19:37:18 Uhr Last Install Time: 10. Dezember 2018 um 10:26:13 Uhr Size: 2.63 kB FMRI: pkg://solaris/system/library/studio-runtime@11.4-11.4.0.0.1.4.0:20180409T193718Z Because that's the ony thing available on "standard" Solaris installation without having set a publisher for solaris studio. I hoped that it is not necessary to have more parts of studio installed... So will the dependency be removed to avoid this, or shoud I just follow the instructions and install the missing deps?
[12 Dec 2018 9:02]
Tor Didriksen
Posted by developer: you need to install the missing runtime libraries
[12 Dec 2018 9:29]
Klaus Hicke
Ok. Then I will install the missing packages. I think my questions are all answered now. THX for your help!
[1 Mar 2019 10:28]
Klaus Hicke
The bug is still existing (or reinvented) in 8.0.15: # pkg list developer/developerstudio-125/\* NAME (PUBLISHER) VERSION IFO developer/developerstudio-125/library/c++-libs (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/library/c-libs (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/library/f90-libs (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/library/math-libs (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/library/perflib (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/library/studio-gccrt (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/studio-common (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/studio-ja (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/studio-legal (solarisstudio) 12.5-1.0.0.0 i-- developer/developerstudio-125/studio-zhCN (solarisstudio) 12.5-1.0.0.0 i-- # ldd /u05/app/mysql/bin/mysqld libstdc++.so.6 => /usr/lib/64/libstdc++.so.6 libgcc_s.so.1 => /usr/lib/64/libgcc_s.so.1 libCrunG3.so.1 => /usr/lib/64/libCrunG3.so.1 libc.so.1 => /lib/64/libc.so.1 libmtmalloc.so.1 => /usr/lib/64/libmtmalloc.so.1 libssl.so.1.0.0 => /lib/64/libssl.so.1.0.0 libcrypto.so.1.0.0 => /lib/64/libcrypto.so.1.0.0 libsocket.so.1 => /lib/64/libsocket.so.1 libnsl.so.1 => /lib/64/libnsl.so.1 libm.so.2 => /lib/64/libm.so.2 libstatomic.so.1 => (file not found) # <- still denpending on libstatomic instead of libatomic librt.so.1 => /lib/64/librt.so.1 PS: we know, that we're still on DevStudio 12.5 runtime ...
[1 Mar 2019 11:18]
Tor Didriksen
Posted by developer: for 8.0.15 mysqld was built like this: /opt/developerstudio12.6/bin/CC -std=c++11 -xbuiltin=%all -xlibmil -xatomic=studio -errtags -KPIC -erroff=anonnotype,wvarhidemem,anonstruct,wlessrestrictedthrow,oklambdaretmulti,unassigned -m64 -DDBUG_OFF -g -xO2 -DNDEBUG -xdebuginfo=no%decl -L/opt/developerstudio12.6/lib/compilers/CC-gcc/lib/sparcv9 -R/opt/developerstudio12.6/lib/compilers/CC-gcc/lib/sparcv9 -lstdc++ -lgcc_s -lCrunG3 -lc -L/opt/developerstudio12.6/lib/compilers/atomic/sparcv9 -R/opt/developerstudio12.6/lib/compilers/atomic/sparcv9 -lmtmalloc CMakeFiles/mysqld.dir/main.cc.o -o ../runtime_output_directory/mysqld -L/opt/developerstudio12.6/lib/compilers/staticlib/sparcv9 ../archive_output_directory/libsql_main.a ../archive_output_directory/libsql_gis.a ../archive_output_directory/libbinlog.a ../archive_output_directory/librpl.a ../archive_output_directory/libmaster.a ../archive_output_directory/libslave.a ../archive_output_directory/libsql_main.a ../archive_output_directory/libsql_dd.a ../archive_output_directory/libsql_gis.a ../archive_output_directory/libmysys.a ../archive_output_directory/libmysys_ssl.a ../libbinlogevents/lib/libbinlogevents.a ../extra/icu/source/i18n/libicui18n.a ../extra/icu/source/common/libicuuc.a ../extra/icu/source/stubdata/libicustubdata.a ../archive_output_directory/libmyisammrg.a ../archive_output_directory/libblackhole.a ../archive_output_directory/libheap.a ../archive_output_directory/libinnobase.a ../archive_output_directory/liblz4_lib.a ../archive_output_directory/libperfschema.a ../archive_output_directory/libfederated.a ../archive_output_directory/libmyisam.a ../archive_output_directory/libmyisam_sys.a ../archive_output_directory/libcsv.a ../archive_output_directory/libarchive.a ../archive_output_directory/libtemptable.a ../archive_output_directory/libngram_parser.a ../archive_output_directory/libmysqlx.a ../extra/icu/source/i18n/libicui18n.a ../extra/icu/source/common/libicuuc.a ../extra/icu/source/stubdata/libicustubdata.a ../archive_output_directory/libmysqlxmessages_lite.a ../extra/protobuf/protobuf-3.6.1/cmake/libprotobuf-lite.a ../extra/libevent/lib/libevent.a ../components/mysql_server/component_mysql_server.a ../archive_output_directory/libvio.a -lssl -lcrypto -lsocket ../archive_output_directory/libmysys.a ../archive_output_directory/libdbug.a ../archive_output_directory/libmysys.a ../archive_output_directory/libdbug.a ../archive_output_directory/libz.a ../archive_output_directory/libstrings.a -lnsl -lm
[1 Mar 2019 11:20]
Tor Didriksen
Posted by developer: I downloaded the 8.0.15 tarball, unpacked it, and notice the RPATH below, you need to install the appropriate runtime libraries. elfdump -devl mysql-8.0.15-solaris11-sparc-64bit/bin/mysqld ELF Header ei_magic: { 0x7f, E, L, F } ei_class: ELFCLASS64 ei_data: ELFDATA2MSB ei_osabi: ELFOSABI_SOLARIS ei_abiversion: EAV_SUNW_CURRENT e_machine: EM_SPARCV9 e_version: EV_CURRENT e_type: ET_EXEC e_flags: [ EF_SPARCV9_TSO EF_SPARC_SUN_US1 EF_SPARC_SUN_US3 ] e_entry: 0x1035c4aa0 e_ehsize: 64 e_shstrndx: 38 e_shoff: 0x29f0a6a0 e_shentsize: 64 e_shnum: 42 e_phoff: 0x40 e_phentsize: 56 e_phnum: 8 mysql-8.0.15-solaris11-sparc-64bit/bin/mysqld: .exception_ranges: sh_link: 65280: does not point to a valid section Version Needed Section: .SUNW_version index file version [2] libstdc++.so.6 GLIBCXX_3.4 [ INFO ] [3] GLIBCXX_3.4.5 [ INFO ] [4] GLIBCXX_3.4.9 [ INFO ] [5] GLIBCXX_3.4.11 [ INFO ] [6] GLIBCXX_3.4.13 [ INFO ] [7] GLIBCXX_3.4.14 [ INFO ] [8] GLIBCXX_3.4.15 [ INFO ] [9] GLIBCXX_3.4.16 [ INFO ] [10] GLIBCXX_3.4.17 [ INFO ] [11] GLIBCXX_3.4.18 [ INFO ] [12] GLIBCXX_3.4.19 [ INFO ] [13] GLIBCXX_3.4.20 [ INFO ] [14] GLIBCXX_3.4.21 [15] CXXABI_1.3 [ INFO ] [16] CXXABI_1.3.1 [ INFO ] [17] CXXABI_1.3.5 [ INFO ] [18] CXXABI_1.3.7 [19] libgcc_s.so.1 GCC_3.0 [ INFO ] [20] GCC_4.2.0 [21] libCrunG3.so.1 SUNW_1.1 [22] libc.so.1 SUNWpublic [23] SUNW_1.23 [ INFO ] [24] SUNW_1.22.7 [ INFO ] [25] SUNW_1.22.5 [ INFO ] [26] SUNW_1.22 [ INFO ] [27] SUNW_1.21.2 [ INFO ] [28] SUNW_1.21 [ INFO ] [29] SUNW_1.19 [ INFO ] [30] SUNW_1.18 [ INFO ] [31] SUNW_1.1 [ INFO ] [32] SUNW_0.9 [ INFO ] [33] SUNW_0.7 [ INFO ] [34] libsocket.so.1 SUNW_1.7 [35] SUNW_1.4 [ INFO ] [36] SUNW_0.7 [ INFO ] [37] libnsl.so.1 SUNW_1.7 [38] libm.so.2 SUNW_1.2 [39] SUNW_1.1.1 [ INFO ] [40] SUNW_1.1 [ INFO ] [41] libstatomic.so.1 SUNWprivate_1.0 Dynamic Section: .dynamic index tag value [0] NEEDED 0x151fa1b libstdc++.so.6 [1] NEEDED 0x151fb1a libgcc_s.so.1 [2] NEEDED 0x151fb3a libCrunG3.so.1 [3] NEEDED 0x151fb52 libc.so.1 [4] NEEDED 0x151fc3b libmtmalloc.so.1 [5] NEEDED 0x151fc4c libssl.so.1.0.0 [6] NEEDED 0x151fc5c libcrypto.so.1.0.0 [7] NEEDED 0x151fbcf libsocket.so.1 [8] NEEDED 0x151fbf0 libnsl.so.1 [9] NEEDED 0x151fbfc libm.so.2 [10] NEEDED 0x151fc1a libstatomic.so.1 [11] NEEDED 0x151fc6f librt.so.1 [12] INIT 0x1055b7610 [13] FINI 0x1055b8988 [14] RUNPATH 0x151fc7a /opt/developerstudio12.6/lib/compilers/CC-gcc/lib/sparcv9:/opt/developerstudio12.6/lib/compilers/atomic/sparcv9:/opt/developerstudio12.6/lib/sparcv9:/opt/developerstudio12.6/lib/compilers/CC-gcc/lib/sparcv9:/opt/developerstudio12.6/lib/compilers/atomic/sparcv9 [15] RPATH 0x151fc7a /opt/developerstudio12.6/lib/compilers/CC-gcc/lib/sparcv9:/opt/developerstudio12.6/lib/compilers/atomic/sparcv9:/opt/developerstudio12.6/lib/sparcv9:/opt/developerstudio12.6/lib/compilers/CC-gcc/lib/sparcv9:/opt/developerstudio12.6/lib/compilers/atomic/sparcv9 [16] HASH 0x10009d990 [17] STRTAB 0x1007e23b0 [18] STRSZ 0x151ff7f [19] SYMTAB 0x1002df700 [20] SYMENT 0x18 [21] SUNW_SYMTAB 0x100249358 [22] SUNW_SYMSZ 0x599058 [23] SUNW_SORTENT 0x4 [24] SUNW_SYMSORT 0x101d6d498 [25] SUNW_SYMSORTSZ 0xecaec [26] SUNW_TLSSORT 0x101e59f88 [27] SUNW_TLSSORTSZ 0x5c [28] CHECKSUM 0x4156 [29] VERNEED 0x101d02330 [30] VERNEEDNUM 0x8 [31] PLTRELSZ 0x48c0 [32] PLTREL 0x7 [33] JMPREL 0x101e82f98 [34] RELA 0x101e59fe8 [35] RELASZ 0x2d870 [36] RELAENT 0x18 [37] REGISTER 0xfc40 [38] REGISTER 0xfc52 [39] DEBUG 0 [40] SUNW_CAP 0x100000220 [41] FLAGS 0x10 [ STATIC_TLS ] [42] FLAGS_1 0 0 [43] SUNW_STRPAD 0x200 [44] SUNW_LDMACH 0x2b EM_SPARCV9 [45] PLTGOT 0x1056b8c00 [46-56] NULL 0 mysql-8.0.15-solaris11-sparc-64bit/bin/mysqld: phdr[5]: PT_DYNAMIC size does not match referenced section: p_memsz=0: shdr[22: .dynamic].sh_size=0x390
[5 Mar 2019 15:08]
Klaus Hicke
Just installed Studio12.6, too. So two runtimes installed (12.5 and 12.6) and the machine can run 5.7 und 8.0...