Giter VIP home page Giter VIP logo

Comments (8)

mgautierfr avatar mgautierfr commented on September 13, 2024 1

Upstream issue opened at tttapa/docker-arm-cross-toolchain#5

from kiwix-build.

mgautierfr avatar mgautierfr commented on September 13, 2024

I'm looking to recompile the toolchain from https://github.com/tttapa/docker-arm-cross-toolchain

The current version already have CT_GLIBC_V_2_27=y
I haven't found a option for GLIBCXX.

Maybe we should open a issue upstream, it seems to me a bug that we need glibc3.4 as it is a deliberate choice to have glibc2.27 (see tttapa/docker-arm-cross-toolchain#2 (comment))

from kiwix-build.

rgaudin avatar rgaudin commented on September 13, 2024

I've seen that comment and the release notes which mentions 2.27 as well.
GLIBCXX comes with stdlib which comes with GCC.
This toolchain properly uses glibc 2.27 but how those GLIBCXX symbols are brought in is beyond my understanding.

from kiwix-build.

mgautierfr avatar mgautierfr commented on September 13, 2024

A objdump -p libzim.so.8.2.1 on the aarch64_bionic release shows me:

Références de version:
 requis par libgcc_s.so.1:
    0x0b792650 0x00 25 GCC_3.0
 requis par librt.so.1:
    0x06969197 0x00 14 GLIBC_2.17
 requis par libpthread.so.0:
    0x06969197 0x00 12 GLIBC_2.17
 requis par libm.so.6:
    0x06969197 0x00 04 GLIBC_2.17
 requis par libc.so.6:
    0x06969197 0x00 03 GLIBC_2.17
 requis par libstdc++.so.6:
    0x0297f870 0x00 24 GLIBCXX_3.4.20
    0x0bafd178 0x00 23 CXXABI_1.3.8
    0x0297f868 0x00 22 GLIBCXX_3.4.18
    0x0bafd173 0x00 21 CXXABI_1.3.3
    0x0bafd179 0x00 20 CXXABI_1.3.9
    0x0afd17f1 0x00 19 CXXABI_1.3.11
    0x0297f879 0x00 18 GLIBCXX_3.4.29
    0x0297f876 0x00 17 GLIBCXX_3.4.26
    0x02297f89 0x00 16 GLIBCXX_3.4.9
    0x056bafd3 0x00 15 CXXABI_1.3
    0x0297f861 0x00 13 GLIBCXX_3.4.11
    0x0297f864 0x00 11 GLIBCXX_3.4.14
    0x0bafd175 0x00 10 CXXABI_1.3.5
    0x0297f872 0x00 09 GLIBCXX_3.4.22
    0x0297f871 0x00 08 GLIBCXX_3.4.21
    0x0afd17f3 0x00 07 CXXABI_1.3.13
    0x0297f865 0x00 06 GLIBCXX_3.4.15
    0x0297f869 0x00 05 GLIBCXX_3.4.19
    0x08922974 0x00 02 GLIBCXX_3.4

So we properly set GLIBC to 2.17
The problem is GLIBCXX

Can you share me your working libzim (rebuild with previous toolchain) ?

from kiwix-build.

rgaudin avatar rgaudin commented on September 13, 2024

http://tmp.kiwix.org/ci/libzim_linux-aarch64-bionic-2023-08-01.tar.gz

from kiwix-build.

mgautierfr avatar mgautierfr commented on September 13, 2024

You working libzim shows:

libzim.so.8.2.1:     format de fichier elf64-little

En-tête de programme:
    LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**16
         filesz 0x000000000129c79d memsz 0x000000000129c79d flags r-x
    LOAD off    0x000000000129cff0 vaddr 0x00000000012acff0 paddr 0x00000000012acff0 align 2**16
         filesz 0x0000000000039026 memsz 0x000000000003bb58 flags rw-
 DYNAMIC off    0x00000000012bf4a8 vaddr 0x00000000012cf4a8 paddr 0x00000000012cf4a8 align 2**3
         filesz 0x0000000000000240 memsz 0x0000000000000240 flags rw-
     TLS off    0x000000000129cff0 vaddr 0x00000000012acff0 paddr 0x00000000012acff0 align 2**4
         filesz 0x0000000000000004 memsz 0x0000000000000048 flags r--
EH_FRAME off    0x00000000011ab370 vaddr 0x00000000011ab370 paddr 0x00000000011ab370 align 2**2
         filesz 0x00000000000213ec memsz 0x00000000000213ec flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
   RELRO off    0x000000000129cff0 vaddr 0x00000000012acff0 paddr 0x00000000012acff0 align 2**0
         filesz 0x0000000000024010 memsz 0x0000000000024010 flags r--

Section dynamique:
  NEEDED               libpthread.so.0
  NEEDED               librt.so.1
  NEEDED               libstdc++.so.6
  NEEDED               libm.so.6
  NEEDED               libgcc_s.so.1
  NEEDED               libc.so.6
  SONAME               libzim.so.8
  INIT                 0x0000000000249dd0
  FINI                 0x00000000006a4a98
  INIT_ARRAY           0x00000000012ad000
  INIT_ARRAYSZ         0x0000000000000128
  FINI_ARRAY           0x00000000012ad128
  FINI_ARRAYSZ         0x0000000000000008
  HASH                 0x00000000000001c8
  STRTAB               0x000000000008f078
  SYMTAB               0x0000000000022448
  STRSZ                0x00000000001200ed
  SYMENT               0x0000000000000018
  PLTGOT               0x00000000012d0fe8
  PLTRELSZ             0x000000000003e268
  PLTREL               0x0000000000000007
  JMPREL               0x000000000020bb68
  0x6ffffef6           0x00000000002734c0
  0x6ffffef7           0x00000000012d0fe0
  RELA                 0x00000000001b8420
  RELASZ               0x0000000000053748
  RELAENT              0x0000000000000018
  VERNEED              0x00000000001b8270
  VERNEEDNUM           0x0000000000000006
  VERSYM               0x00000000001af166
  RELACOUNT            0x0000000000001a93

Références de version:
 requis par libgcc_s.so.1:
    0x0b792650 0x00 22 GCC_3.0
    0x0b792654 0x00 18 GCC_3.4
 requis par librt.so.1:
    0x06969197 0x00 14 GLIBC_2.17
 requis par libpthread.so.0:
    0x06969197 0x00 12 GLIBC_2.17
 requis par libm.so.6:
    0x06969197 0x00 05 GLIBC_2.17
 requis par libc.so.6:
    0x06969197 0x00 03 GLIBC_2.17
 requis par libstdc++.so.6:
    0x0297f870 0x00 21 GLIBCXX_3.4.20
    0x0bafd178 0x00 20 CXXABI_1.3.8
    0x0297f868 0x00 19 GLIBCXX_3.4.18
    0x02297f89 0x00 17 GLIBCXX_3.4.9
    0x0bafd179 0x00 16 CXXABI_1.3.9
    0x056bafd3 0x00 15 CXXABI_1.3
    0x0297f861 0x00 13 GLIBCXX_3.4.11
    0x0297f864 0x00 11 GLIBCXX_3.4.14
    0x0bafd175 0x00 10 CXXABI_1.3.5
    0x0bafd173 0x00 09 CXXABI_1.3.3
    0x0297f872 0x00 08 GLIBCXX_3.4.22
    0x0297f865 0x00 07 GLIBCXX_3.4.15
    0x0297f869 0x00 06 GLIBCXX_3.4.19
    0x0297f871 0x00 04 GLIBCXX_3.4.21
    0x08922974 0x00 02 GLIBCXX_3.4

So we have mostly the same version of GLIBCXX.
Do you have more information of how auditwheel checks symbols and what is expected ?

from kiwix-build.

mgautierfr avatar mgautierfr commented on September 13, 2024

From this line : https://github.com/pypa/auditwheel/blob/ebd4bc0de49394adcad557532eb19fe6598cd886/src/auditwheel/policy/manylinux-policy.json#L286

It seems we many linux 2_28 accept GLIBCXX up to 3.4.24 on aarch64.

Broken libzim has GLIBCXX 3.4.26 and 3.4.29

from kiwix-build.

mgautierfr avatar mgautierfr commented on September 13, 2024

Faulty symbols are:

_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev@GLIBCXX_3.4.26
_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev@GLIBCXX_3.4.26
_ZSt28__throw_bad_array_new_lengthv@GLIBCXX_3.4.29

from kiwix-build.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.