Ошибка: невозможно восстановить ABI «manylinux_2_28_x86_64» из-за присутствия слишком последних версий символов.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка: невозможно восстановить ABI «manylinux_2_28_x86_64» из-за присутствия слишком последних версий символов.

Сообщение Anonymous »

Я пытаюсь собрать свой пакет Python внутри контейнера Manylinux_2_28, но получаю сообщение об ошибке:

Код: Выделить всё

error: cannot repair "pynemo-0.0.0.dev0-cp311-cp311-linux_x86_64.whl" to "manylinux_2_28_x86_64" ABI because of the presence of too-recent versioned symbols.
Используя символы колеса аудита я получаю:

Код: Выделить всё

pynemo/_core.cpython-311-x86_64-linux-gnu.so is manylinux_2_28 compliant.
pynemo/ld-2.28.so is manylinux_2_28 compliant.
pynemo/ld-linux-x86-64.so.2 is manylinux_2_28 compliant.
pynemo/libc-2.28.so is manylinux_2_28 compliant.
pynemo/libc.so.6 is manylinux_2_28 compliant.
pynemo/libdl-2.28.so is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6       offending symbols: _dl_signal_error@@GLIBC_PRIVATE, _dl_vsym@@GLIBC_PRIVATE, _dl_addr@@GLIBC_PRIVATE, _dl_sym@@GLIBC_PRIVATE, _dl_rtld_di_serinfo@@GLIBC_PRIVATE
pynemo/libdl.so.2 is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6       offending symbols: _dl_signal_error@@GLIBC_PRIVATE, _dl_vsym@@GLIBC_PRIVATE, _dl_addr@@GLIBC_PRIVATE, _dl_sym@@GLIBC_PRIVATE, _dl_rtld_di_serinfo@@GLIBC_PRIVATE
pynemo/libgcc_s-8-20210514.so.1 is manylinux_2_28 compliant.
pynemo/libgcc_s.so.1 is manylinux_2_28 compliant.
pynemo/libm-2.28.so is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6       offending versions: GLIBC_PRIVATE
pynemo/libm.so.6 is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6       offending versions: GLIBC_PRIVATE
pynemo/libpthread-2.28.so is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6       offending symbols: __libc_siglongjmp@@GLIBC_PRIVATE, __tsearch@@GLIBC_PRIVATE, __getrlimit@@GLIBC_PRIVATE, __libc_dlclose@@GLIBC_PRIVATE, __libc_fatal@@GLIBC_PRIVATE, __sigtimedwait@@GLIBC_PRIVATE, __mmap@@GLIBC_PRIVATE, __libc_system@@GLIBC_PRIVATE, __munmap@@GLIBC_PRIVATE, __libc_fork@@GLIBC_PRIVATE, _IO_enable_locks@@GLIBC_PRIVATE, __write_nocancel@@GLIBC_PRIVATE, _dl_deallocate_tls@@GLIBC_PRIVATE, __call_tls_dtors@@GLIBC_PRIVATE, __libc_thread_freeres@@GLIBC_PRIVATE, __mprotect@@GLIBC_PRIVATE, __clock_gettime@@GLIBC_PRIVATE, __libc_fcntl64@@GLIBC_PRIVATE, __nanosleep_nocancel@@GLIBC_PRIVATE, __libc_current_sigrtmax_private@@GLIBC_PRIVATE, __tdelete@@GLIBC_PRIVATE, __libc_dlopen_mode@@GLIBC_PRIVATE, __read_nocancel@@GLIBC_PRIVATE, _dl_make_stack_executable@@GLIBC_PRIVATE, __libc_pthread_init@@GLIBC_PRIVATE, __ctype_init@@GLIBC_PRIVATE, __libc_dlsym@@GLIBC_PRIVATE, __tfind@@GLIBC_PRIVATE, __open64_nocancel@@GLIBC_PRIVATE, __libc_current_sigrtmin_private@@GLIBC_PRIVATE, __madvise@@GLIBC_PRIVATE, __pause_nocancel@@GLIBC_PRIVATE, __mktemp@@GLIBC_PRIVATE, __twalk@@GLIBC_PRIVATE, _dl_allocate_tls@@GLIBC_PRIVATE, __tunable_get_val@@GLIBC_PRIVATE, _dl_get_tls_static_info@@GLIBC_PRIVATE, __libc_alloca_cutoff@@GLIBC_PRIVATE, _dl_allocate_tls_init@@GLIBC_PRIVATE, __close_nocancel@@GLIBC_PRIVATE, __libc_allocate_rtsig_private@@GLIBC_PRIVATE, __libc_longjmp@@GLIBC_PRIVATE
pynemo/libpthread.so.0 is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6       offending symbols: __libc_siglongjmp@@GLIBC_PRIVATE, __tsearch@@GLIBC_PRIVATE, __getrlimit@@GLIBC_PRIVATE, __libc_dlclose@@GLIBC_PRIVATE, __libc_fatal@@GLIBC_PRIVATE, __sigtimedwait@@GLIBC_PRIVATE, __mmap@@GLIBC_PRIVATE, __libc_system@@GLIBC_PRIVATE, __munmap@@GLIBC_PRIVATE, __libc_fork@@GLIBC_PRIVATE, _IO_enable_locks@@GLIBC_PRIVATE, __write_nocancel@@GLIBC_PRIVATE, _dl_deallocate_tls@@GLIBC_PRIVATE, __call_tls_dtors@@GLIBC_PRIVATE, __libc_thread_freeres@@GLIBC_PRIVATE, __mprotect@@GLIBC_PRIVATE, __clock_gettime@@GLIBC_PRIVATE, __libc_fcntl64@@GLIBC_PRIVATE, __nanosleep_nocancel@@GLIBC_PRIVATE, __libc_current_sigrtmax_private@@GLIBC_PRIVATE, __tdelete@@GLIBC_PRIVATE, __libc_dlopen_mode@@GLIBC_PRIVATE, __read_nocancel@@GLIBC_PRIVATE, _dl_make_stack_executable@@GLIBC_PRIVATE, __libc_pthread_init@@GLIBC_PRIVATE, __ctype_init@@GLIBC_PRIVATE, __libc_dlsym@@GLIBC_PRIVATE, __tfind@@GLIBC_PRIVATE, __open64_nocancel@@GLIBC_PRIVATE, __libc_current_sigrtmin_private@@GLIBC_PRIVATE, __madvise@@GLIBC_PRIVATE, __pause_nocancel@@GLIBC_PRIVATE, __mktemp@@GLIBC_PRIVATE, __twalk@@GLIBC_PRIVATE, _dl_allocate_tls@@GLIBC_PRIVATE, __tunable_get_val@@GLIBC_PRIVATE, _dl_get_tls_static_info@@GLIBC_PRIVATE, __libc_alloca_cutoff@@GLIBC_PRIVATE, _dl_allocate_tls_init@@GLIBC_PRIVATE, __close_nocancel@@GLIBC_PRIVATE, __libc_allocate_rtsig_private@@GLIBC_PRIVATE, __libc_longjmp@@GLIBC_PRIVATE
pynemo/librt-2.28.so is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6       offending symbols:  __recv@@GLIBC_PRIVATE, __libc_pwrite@@GLIBC_PRIVATE, __libc_fatal@@GLIBC_PRIVATE, __libc_pread@@GLIBC_PRIVATE, __pthread_barrier_init@@GLIBC_PRIVATE, __pthread_unwind@@GLIBC_PRIVATE, __pthread_get_minstack@@GLIBC_PRIVATE, __libc_dlopen_mode@@GLIBC_PRIVATE, __pthread_barrier_wait@@GLIBC_PRIVATE, __libc_dlsym@@GLIBC_PRIVATE, __socket@@GLIBC_PRIVATE, __pthread_attr_copy@@GLIBC_PRIVATE, __shm_directory@@GLIBC_PRIVATE, __fortify_fail@@GLIBC_PRIVATE, __close_nocancel@@GLIBC_PRIVATE
libpthread.so.0 offending symbols: __recv@@GLIBC_PRIVATE, __libc_pwrite@@GLIBC_PRIVATE, __libc_fatal@@GLIBC_PRIVATE, __libc_pread@@GLIBC_PRIVATE, __pthread_barrier_init@@GLIBC_PRIVATE, __pthread_unwind@@GLIBC_PRIVATE, __pthread_get_minstack@@GLIBC_PRIVATE, __libc_dlopen_mode@@GLIBC_PRIVATE, __pthread_barrier_wait@@GLIBC_PRIVATE, __libc_dlsym@@GLIBC_PRIVATE, __socket@@GLIBC_PRIVATE, __pthread_attr_copy@@GLIBC_PRIVATE, __shm_directory@@GLIBC_PRIVATE, __fortify_fail@@GLIBC_PRIVATE, __close_nocancel@@GLIBC_PRIVATE
pynemo/librt.so.1 is not manylinux_2_28 compliant because it links the following forbidden libraries:
libpthread.so.0 offending symbols: __recv@@GLIBC_PRIVATE, __libc_pwrite@@GLIBC_PRIVATE, __libc_fatal@@GLIBC_PRIVATE, __libc_pread@@GLIBC_PRIVATE, __pthread_barrier_init@@GLIBC_PRIVATE, __pthread_unwind@@GLIBC_PRIVATE, __pthread_get_minstack@@GLIBC_PRIVATE, __libc_dlopen_mode@@GLIBC_PRIVATE, __pthread_barrier_wait@@GLIBC_PRIVATE, __libc_dlsym@@GLIBC_PRIVATE, __socket@@GLIBC_PRIVATE, __pthread_attr_copy@@GLIBC_PRIVATE, __shm_directory@@GLIBC_PRIVATE, __fortify_fail@@GLIBC_PRIVATE, __close_nocancel@@GLIBC_PRIVATE
libc.so.6       offending symbols: __recv@@GLIBC_PRIVATE, __libc_pwrite@@GLIBC_PRIVATE, __libc_fatal@@GLIBC_PRIVATE, __libc_pread@@GLIBC_PRIVATE, __pthread_barrier_init@@GLIBC_PRIVATE, __pthread_unwind@@GLIBC_PRIVATE, __pthread_get_minstack@@GLIBC_PRIVATE, __libc_dlopen_mode@@GLIBC_PRIVATE, __pthread_barrier_wait@@GLIBC_PRIVATE, __libc_dlsym@@GLIBC_PRIVATE, __socket@@GLIBC_PRIVATE, __pthread_attr_copy@@GLIBC_PRIVATE, __shm_directory@@GLIBC_PRIVATE, __fortify_fail@@GLIBC_PRIVATE, __close_nocancel@@GLIBC_PRIVATE
pynemo/libstdc++.so.6 is manylinux_2_28 compliant.
pynemo/libstdc++.so.6.0.25 is manylinux_2_28 compliant.
Похоже, что мое колесо получает несколько версий libstdc++, libc и libpthread, но я не уверен, почему это происходит, поскольку я создаю все колесо изнутри контейнера.
Похоже, что мое колесо получает несколько версий libstdc++, libc и libpthread, но я не уверен, почему это происходит, поскольку я создаю все колесо изнутри контейнера.
Похоже, что мое колесо получает несколько версий libstdc++, libc и libpthread, но я не уверен, почему это происходит, поскольку я создаю все колесо изнутри контейнера. p>
Посмотрев в логи, кажется, что все необходимые ему файлы lib взяты из папки /lib64 в контейнере:

Код: Выделить всё

DEBUG:auditwheel.wheel_abi:full_elftree:
{
"pynemo/_core.cpython-311-x86_64-linux-gnu.so": {
"interp": null,
"path": "pynemo/_core.cpython-311-x86_64-linux-gnu.so",
"realpath": "pynemo/_core.cpython-311-x86_64-linux-gnu.so",
"needed": [
"libpthread.so.0",
"librt.so.1",
"libdl.so.2",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libc.so.6",
"ld-linux-x86-64.so.2"
],
"rpath": [],
"runpath": [],
"libs": {
"libpthread.so.0": {
"realpath": "/lib64/libpthread-2.28.so",
"path": "/lib64/libpthread.so.0",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libc.so.6": {
"realpath": "/lib64/libc-2.28.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.28.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
},
"librt.so.1": {
"realpath": "/lib64/librt-2.28.so",
"path": "/lib64/librt.so.1",
"needed": [
"libpthread.so.0",
"libc.so.6"
]
},
"libdl.so.2": {
"realpath": "/lib64/libdl-2.28.so",
"path": "/lib64/libdl.so.2",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libstdc++.so.6": {
"realpath": "/lib64/libstdc++.so.6.0.25",
"path": "/lib64/libstdc++.so.6",
"needed": [
"libm.so.6",
"libc.so.6",
"ld-linux-x86-64.so.2",
"libgcc_s.so.1"
]
},
"libm.so.6": {
"realpath": "/lib64/libm-2.28.so",
"path": "/lib64/libm.so.6",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libgcc_s.so.1": {
"realpath": "/lib64/libgcc_s-8-20210514.so.1",
"path": "/lib64/libgcc_s.so.1",
"needed": [
"libc.so.6"
]
}
}
},
"pynemo/ld-2.28.so": {
"interp": null,
"path": "pynemo/ld-2.28.so",
"realpath": "pynemo/ld-2.28.so",
"needed": [],
"rpath": [],
"runpath": [],
"libs": {}
},
"pynemo/libc-2.28.so": {
"interp": "/lib64/ld-linux-x86-64.so.2",
"path": "pynemo/libc-2.28.so",
"realpath": "pynemo/libc-2.28.so",
"needed": [
"ld-linux-x86-64.so.2"
],
"rpath": [],
"runpath": [],
"libs": {
"ld-linux-x86-64.so.2": {
"path": "/lib64/ld-linux-x86-64.so.2",
"realpath":  "/lib64/ld-2.28.so",
"needed": []
}
}
},
"pynemo/libdl-2.28.so": {
"interp": null,
"path": "pynemo/libdl-2.28.so",
"realpath": "pynemo/libdl-2.28.so",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
],
"rpath": [],
"runpath": [],
"libs": {
"libc.so.6": {
"realpath": "/lib64/libc-2.28.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.28.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
}
}
},
"pynemo/libgcc_s-8-20210514.so.1": {
"interp": null,
"path": "pynemo/libgcc_s-8-20210514.so.1",
"realpath": "pynemo/libgcc_s-8-20210514.so.1",
"needed": [
"libc.so.6"
],
"rpath": [],
"runpath": [],
"libs": {
"libc.so.6": {
"realpath": "/lib64/libc-2.28.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.28.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
}
}
},
"pynemo/libm-2.28.so": {
"interp": null,
"path": "pynemo/libm-2.28.so",
"realpath": "pynemo/libm-2.28.so",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
],
"rpath": [],
"runpath": [],
"libs": {
"libc.so.6": {
"realpath": "/lib64/libc-2.28.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.28.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
}
}
},
"pynemo/libpthread-2.28.so": {
"interp": "/lib64/ld-linux-x86-64.so.2",
"path": "pynemo/libpthread-2.28.so",
"realpath": "pynemo/libpthread-2.28.so",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
],
"rpath": [],
"runpath": [],
"libs": {
"ld-linux-x86-64.so.2": {
"path": "/lib64/ld-linux-x86-64.so.2",
"realpath": "/lib64/ld-2.28.so",
"needed": []
},
"libc.so.6": {
"realpath": "/lib64/libc-2.28.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
}
}
},
"pynemo/librt-2.28.so": {
"interp": null,
"path": "pynemo/librt-2.28.so",
"realpath": "pynemo/librt-2.28.so",
"needed": [
"libpthread.so.0",
"libc.so.6"
],
"rpath": [],
"runpath": [],
"libs":  {
"libpthread.so.0": {
"realpath": "/lib64/libpthread-2.28.so",
"path": "/lib64/libpthread.so.0",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libc.so.6": {
"realpath": "/lib64/libc-2.28.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.28.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
}
}
},
"pynemo/libstdc++.so.6.0.25": {
"interp": null,
"path": "pynemo/libstdc++.so.6.0.25",
"realpath": "pynemo/libstdc++.so.6.0.25",
"needed": [
"libm.so.6",
"libc.so.6",
"ld-linux-x86-64.so.2",
"libgcc_s.so.1"
],
"rpath": [],
"runpath": [],
"libs": {
"libm.so.6": {
"realpath": "/lib64/libm-2.28.so",
"path": "/lib64/libm.so.6",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libc.so.6": {
"realpath": "/lib64/libc-2.28.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.28.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
},
"libgcc_s.so.1": {
"realpath": "/lib64/libgcc_s-8-20210514.so.1",
"path": "/lib64/libgcc_s.so.1",
"needed": [
"libc.so.6"
]
}
}
}
}
Которые включены в контейнер по умолчанию, поэтому я не уверен, почему это несовместимо с Auditwheel.
Сценарий, который я запускал раньше построить свое колесо:

Код: Выделить всё

yum -y install curl zip unzip tar autoconf automake libtool pkg-config perl-open python3.11-pip
python3.11 -m pip install jinja2
for python in /opt/python/*/bin/python3*; do
if [ -x "$python" ]; then
echo "Using Python: $python"
$python -m pip install jinja2
fi
done
ln -sf /usr/bin/python3.11 /usr/bin/python3
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install
Итак, я устанавливаю некоторые системные пакеты и устанавливаю некоторые вещи из vcpkg. Насколько я могу судить, vcpkg всегда компилирует пакеты на машине, так что с ними все должно быть в порядке, я не уверен насчет установленных системных пакетов (curl zip unzip tar autoconf automake libtool pkg-config perl-open).Можно ли как-нибудь исправить файлы .so, которые ищет колесо?

Подробнее здесь: https://stackoverflow.com/questions/791 ... sence-of-t
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»