{"id":501066,"date":"2026-10-30T16:47:37","date_gmt":"2026-10-30T13:47:37","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=501066"},"modified":"2026-10-30T16:47:37","modified_gmt":"2026-10-30T13:47:37","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=501066","title":{"rendered":"\u0421\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442 \u043d\u0430 \u0441\u0432\u0435\u0436\u0435\u043c Linux: \u0441\u0432\u043e\u0439 GCC, \u0441\u0432\u043e\u0439 OpenSSL \u0438 \u0447\u0435\u0441\u0442\u043d\u044b\u0439 RPATH"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0410 \u0447\u0442\u043e \u0435\u0441\u043b\u0438\u2026 \u043d\u0443\u0436\u0435\u043d \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0445\u043e\u0441\u0442 Linux \u0441\u0432\u0435\u0436\u0438\u0439?<\/p>\n<p>\u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c, \u0434\u0430 \u0445\u043e\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0438\u0442\u043e\u043d\u0430 \u0438\u043b\u0438 php, \u043d\u0443\u0436\u043d\u044b\u0439 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0432 \u0434\u043e\u043a\u0435\u0440\u0435. \u0414\u0430 \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0440\u0435\u0448\u0435\u043d\u0430. <em>\u041d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441 (\u0441)<\/em>. \u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0442.<\/p>\n<h3>\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u0432\u0441\u0451<\/h3>\n<p>\u041e\u0434\u043d\u0430\u0436\u0434\u044b \u043c\u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u0441\u044f Python 3.7. \u041f\u043e\u0442\u043e\u043c 2.7. \u041f\u043e\u0442\u043e\u043c \u2014 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u2014 3.4 \u0438 \u0434\u0430\u0436\u0435 2.6 \u043f\u043e\u0434 \u043b\u0435\u0433\u0430\u0441\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c. \u0418 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0432\u0441\u0442\u0430\u0432\u0430\u043b\u0438 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b:<\/p>\n<ul>\n<li>\n<p>\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439?<\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u0441\u0442\u0430\u0440\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u0431\u0435\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438?<\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u0431\u0438\u043d\u0430\u0440\u0435\u0439 \u043d\u0435\u0442, \u0438\u043b\u0438 \u043e\u043d\u0438 \u0441\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0430\u0440\u0443\u044e glibc, \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432?<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0435\u043c \u043c\u043d\u0435 \u043d\u0435 \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438:<\/p>\n<ul>\n<li>\n<p>\u0440\u0430\u0441\u043a\u0430\u0442\u0430\u043d\u044b \u043e\u043d\u0438, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043d\u0430 \u0441\u0442\u0430\u0440\u044b\u0445 Debian\/Ubuntu, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0432\u043d\u043e \u0441\u0430\u043c\u0438 \u0432 EOL;<\/p>\n<\/li>\n<li>\n<p>\u0441\u0442\u0430\u0440\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u2014 \u044d\u0442\u043e \u0441\u0442\u0430\u0440\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0441\u0442\u0430\u0440\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0441\u0442\u0430\u0440\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438;<\/p>\n<\/li>\n<li>\n<p>\u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u043f\u0440\u043e glibc?<\/p>\n<\/li>\n<li>\n<p>\u0430 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0435\u0432\u043d\u0438\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u0435\u0449\u0451 \u0438 \u043d\u0430 \u0441\u0432\u0435\u0436\u0435\u043c \u044f\u0434\u0440\u0435 \u0437\u0430\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 (vsyscall, \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0440\u0430\u0434\u043e\u0441\u0442\u0438).<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u0442\u0443\u0442 \u043d\u0430\u0434\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441:<\/p>\n<ul>\n<li>\n<p><strong>\u041b\u0438\u0431\u043e<\/strong> \u0438\u0434\u0451\u043c \u043d\u0430 \u0441\u0434\u0435\u043b\u043a\u0443 \u0441 \u0434\u044c\u044f\u0432\u043e\u043b\u043e\u043c: \u0438\u0437\u043e\u043b\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c, \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c \u0432\u0440\u0435\u043c\u044f \u0438 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u043e\u0431\u0440\u0430\u0437\u0430\u043c\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0434\u0438\u0441\u0442\u0440\u0430\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u041b\u0438\u0431\u043e<\/strong> \u0438\u0434\u0451\u043c \u043d\u0430 \u0430\u0432\u0430\u043d\u0442\u044e\u0440\u0443 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442 \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c Linux.<\/p>\n<\/li>\n<\/ul>\n<p>\u042f \u0432\u044b\u0431\u0440\u0430\u043b \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0414\u0443\u0445 \u0430\u0432\u0430\u043d\u0442\u044e\u0440\u0438\u0437\u043c\u0430 \u0432\u043e \u043c\u043d\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u043e\u043f\u0430\u043b.<\/p>\n<p>\u0412\u0441\u0451, \u043e \u0447\u0451\u043c \u043f\u043e\u0439\u0434\u0451\u0442 \u0440\u0435\u0447\u044c, \u0436\u0438\u0432\u0451\u0442 \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043c\u043e\u0435\u0433\u043e <a href=\"https:\/\/github.com\/EpicMorg\/docker\" rel=\"noopener nofollow\">pet-\u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a>: \u0442\u0430\u043c \u0441\u0435\u0439\u0447\u0430\u0441 GCC \u0441 4-\u0439 \u043f\u043e 16-\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0438 CPython \u043e\u0442 2.6 \u0434\u043e 3.15 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435, \u0438 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u043f\u043e\u0432\u0435\u0440\u0445 Debian 13 trixie. \u0412\u0441\u0451 \u044d\u0442\u043e \u044f \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u0441\u0430\u043c, \u0432\u0435\u0447\u0435\u0440\u0430\u043c\u0438. \u041d\u0438\u0436\u0435 \u2014 \u0432\u044b\u0436\u0438\u043c\u043a\u0430 \u0441 \u0433\u0440\u0430\u0431\u043b\u044f\u043c\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435.<\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440<\/h3>\n<p>\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0432\u044b \u0441\u043a\u0430\u0436\u0435\u0442\u0435: <em>\u0435\u0441\u0442\u044c\u00a0\u0436\u0435 Makefile \u0438 INSTALL \u2014 \u0432\u043f\u0435\u0440\u0451\u0434 \u0438 \u0441 \u043f\u0435\u0441\u043d\u0435\u0439!<\/em><\/p>\n<p><em>\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432\u00a0dependency hell<\/em>, \u043e\u0442\u0432\u0435\u0447\u0443 \u044f \u0432\u0430\u043c.<\/p>\n<p>\u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430. \u0412 Debian 13 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0438\u0434\u0451\u0442 GCC 14. \u041a\u0430\u043a \u0438 \u0441\u0430\u043c\u0438 \u044f\u0437\u044b\u043a\u0438 C\/C++, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u0436\u0435: \u0442\u043e, \u0447\u0442\u043e \u0431\u044b\u043b\u043e warning-\u043e\u043c, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f error-\u043e\u043c, \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0412\u043e\u0437\u044c\u043c\u0438\u0442\u0435 Python 3.4 \u0438 \u0441\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u0435\u0433\u043e GCC 14 \u2014 \u0441\u043b\u043e\u0432\u0438\u0442\u0435 \u043f\u0430\u0447\u043a\u0443 \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<p>\u00ab\u041d\u043e \u043c\u043e\u0436\u043d\u043e\u00a0\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043b\u0430\u043f\u0448\u0443 \u0438\u0437\u00a0\u0444\u043b\u0430\u0433\u043e\u0432!\u00bb\u00a0\u2014 \u0441\u043a\u0430\u0436\u0435\u0442\u0435 \u0432\u044b. \u041c\u043e\u0436\u043d\u043e, \u043d\u043e\u00a0\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0438\u043b\u0438\u00a0\u043d\u043e\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u0441\u0442\u0430\u0440\u044b\u0439 GCC.<\/p>\n<h4>\u041b\u0435\u0441\u0435\u043d\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0439<\/h4>\n<p>\u041d\u043e\u0432\u044b\u0439 GCC \u043e\u0431\u044b\u0447\u043d\u043e \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043c\u0430\u0436\u043e\u0440, \u0430 \u0442\u043e\u0442 \u2014 \u0441\u0432\u043e\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439. \u0422\u0430\u043a \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b \u0442\u0430\u043a\u043e\u0439:<\/p>\n<ol>\n<li>\n<p>\u0411\u0435\u0440\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 GCC 14 \u0432 Debian 13 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u0438\u043c GCC 13. \u041f\u0443\u0431\u043b\u0438\u043a\u0443\u044e \u043e\u0431\u0440\u0430\u0437 <code>gcc:13<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u044e GCC 13 \u0443\u0436\u0435 \u0438\u043c \u0441\u0430\u043c\u0438\u043c \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0435\u0433. \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043e\u0431\u0440\u0430\u0437\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0447\u043d\u043e \u0443\u043c\u0435\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0430\u043c \u0441\u0435\u0431\u044f.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044e \u0432\u043d\u0438\u0437 \u0434\u043e GCC 4. \u0413\u043b\u0443\u0431\u0436\u0435 \u043a\u043e\u043f\u0430\u0442\u044c \u043d\u0435 \u0441\u0442\u0430\u043b.<\/p>\n<\/li>\n<\/ol>\n<p>\u042d\u0442\u043e \u0440\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u041a\u043e\u0433\u0434\u0430 \u043b\u0435\u0441\u0435\u043d\u043a\u0430 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u0430, \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 <code>gcc:N<\/code> \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f: <code>FROM gcc:10 AS builder<\/code> \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043c\u0438\u043d\u043e\u0440\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 10.x. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 Dockerfile \u043d\u0438\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 <code>--disable-bootstrap<\/code>: \u0442\u0440\u0451\u0445\u0441\u0442\u0430\u0434\u0438\u0439\u043d\u0430\u044f \u0441\u0430\u043c\u043e\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 GCC \u0443\u0436\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430, \u0435\u0451 \u0440\u043e\u043b\u044c \u0441\u044b\u0433\u0440\u0430\u043b\u0430 \u043b\u0435\u0441\u0435\u043d\u043a\u0430.<\/p>\n<p>\u0421\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 Dockerfile \u0434\u043b\u044f GCC 10 (\u043f\u043e\u043b\u043d\u044b\u0439 \u2014 <a href=\"https:\/\/github.com\/EpicMorg\/docker\/tree\/master\/linux\/ecosystem\/apps\/gcc\/10\" rel=\"noopener nofollow\">apps\/gcc\/10<\/a>):<\/p>\n<pre><code>FROM ghcr.io\/epicmorg\/gcc:10 AS builderARG GCC_MAJOR_VERSION=10ARG GCC_MINOR_VERSION=5.0ENV GCC_VERSION=${GCC_MAJOR_VERSION}.${GCC_MINOR_VERSION}ENV GCC_INSTALL_DIR=${EMG_LOCAL_BASE_DIR}\/gcc\/${GCC_MAJOR_VERSION}RUN set -eux; \\    aria2c -d \/tmp \"https:\/\/gcc.gnu.org\/pub\/gcc\/releases\/gcc-${GCC_VERSION}\/gcc-${GCC\\_VERSION}.tar.xz\" &amp;&amp; \\    tar -xf \/tmp\/gcc-${GCC_VERSION}.tar.xz -C \/tmp &amp;&amp; \\    cd \/tmp\/gcc-${GCC_VERSION} &amp;&amp; .\/contrib\/download_prerequisites &amp;&amp; \\    mkdir -p \/tmp\/gcc-build &amp;&amp; cd \/tmp\/gcc-build &amp;&amp; \\    \/tmp\/gcc-${GCC_VERSION}\/configure \\        --prefix=${GCC_INSTALL_DIR} \\        --enable-languages=c,c++ \\        --disable-multilib \\        --disable-bootstrap \\        --enable-checking=release \\        --enable-multiarch \\        --with-multiarch-defaults=x86_64-linux-gnu \\        --enable-default-pie \\        --enable-shared \\        --enable-threads=posix \\        --with-system-zlib &amp;&amp; \\    make -j$(nproc) &amp;&amp; make installENV PATH=\"${GCC_INSTALL_DIR}\/bin:${PATH}\"# \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u0438\u0434\u0438\u0442 multiarch-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 DebianRUN echo '#include &lt;bits\/wordsize.h&gt;' | gcc -E - &gt;\/dev\/nullFROM ghcr.io\/epicmorg\/debian:trixie-developCOPY --from=builder ${GCC_INSTALL_DIR} ${GCC_INSTALL_DIR}ENV PATH=\"${GCC_INSTALL_DIR}\/bin:${PATH}\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0443 \u043c\u0435\u043d\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0436\u0438\u0432\u0451\u0442 \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0435 <code>\/usr\/local\/share\/epicmorg\/gcc\/10<\/code>, \u0430 \u043d\u0435 \u0432 <code>\/usr<\/code>. \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 GCC 14 \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0434\u0435\u043b\u0441\u044f.<\/p>\n<h4>\u0413\u0440\u0430\u0431\u043b\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430<\/h4>\n<ul>\n<li>\n<p><strong>Multiarch.<\/strong> Debian \u043a\u043b\u0430\u0434\u0451\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0432 <code>\/usr\/include\/x86_64-linux-gnu<\/code>. GCC, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0431\u0435\u0437 <code>--enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu<\/code>, \u0442\u0443\u0434\u0430 \u043d\u0435 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0435\u0442, \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 <code>gmp.h: No such file or directory<\/code> \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0447\u0443\u0434\u0435\u0441\u0430.<\/p>\n<\/li>\n<li>\n<p><strong><abbr class=\"habraabbr\" title=\"\u0426\u0435\u043b\u0435\u0432\u044b\u0435 \u0442\u0440\u0438\u043f\u043b\u0435\u0442\u044b \u0432 GCC \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443: \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u041e\u043d\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b \u0434\u043b\u044f \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0447\u0451\u0442\u043a\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434.\" data-title=\"&lt;p&gt;&lt;strong&gt;\u0426\u0435\u043b\u0435\u0432\u044b\u0435 \u0442\u0440\u0438\u043f\u043b\u0435\u0442\u044b \u0432 GCC&lt;\/strong&gt; \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443: \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u041e\u043d\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b \u0434\u043b\u044f \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0447\u0451\u0442\u043a\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434.&lt;\/p&gt;\" data-abbr=\"\u0422\u0440\u0438\u043f\u043b\u0435\u0442\u044b\">\u0422\u0440\u0438\u043f\u043b\u0435\u0442\u044b<\/abbr>.<\/strong> GCC 6 \u0438 \u0441\u0442\u0430\u0440\u0448\u0435 \u043b\u043e\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u044f\u0432\u043d\u044b\u0445 <code>--build\/--host\/--target<\/code> (<code>This configuration is not supported\u2026<\/code>). \u0414\u043b\u044f \u043d\u0438\u0445 \u044f \u0442\u0440\u0438\u043f\u043b\u0435\u0442\u044b \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e, \u043f\u0443\u0441\u0442\u044c configure \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442 \u0441\u0430\u043c.<\/p>\n<\/li>\n<li>\n<p><code><strong>gcc<\/strong><\/code><strong> \u2260 <\/strong><code><strong>cc<\/strong><\/code><strong>.<\/strong> \u0412 \u043e\u0431\u0440\u0430\u0437\u0435 <code>gcc<\/code> \u2014 \u044d\u0442\u043e \u043c\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u0430 <code>cc<\/code> \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 Debian. Autoconf \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438\u0449\u0435\u0442 \u0438\u0445 \u0432 \u0440\u0430\u0437\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435: Python \u043f\u0435\u0440\u0432\u044b\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442 <code>gcc<\/code>, PHP \u2014 <code>cc<\/code>. \u042d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0433\u0430\u0434\u0430\u0442\u044c, \u043a\u0442\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 <code>sys.version<\/code>. \u0418 \u043d\u0435 \u043d\u0430\u0434\u043e \u043d\u0430\u0441\u0438\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c <code>CC=gcc11<\/code> \u00ab\u0434\u043b\u044f \u0435\u0434\u0438\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f\u00bb: \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u043b\u0438\u043d\u043a\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 trixie, \u0438 \u0443 PHP 7.3 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u0434\u0430\u0435\u0442 \u0432\u043e\u043e\u0431\u0449\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u0435\u0441\u0442 configure.<\/p>\n<\/li>\n<li>\n<p><strong>libstdc++ \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439.<\/strong> \u0415\u0441\u043b\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0441\u043e\u0431\u0440\u0430\u043b GCC 14, \u0430 \u043b\u0438\u043d\u043a\u0443\u0435\u0442\u0435 \u0432\u044b \u0435\u0451 GCC 11 \u2014 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 <code>undefined reference to \u2026@GLIBCXX_3.4.30<\/code>. \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435: \u043a\u0442\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c, \u0442\u043e\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u0441 \u043d\u0435\u0439 \u043b\u0438\u043d\u043a\u0443\u0435\u0442\u0441\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435.<\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u0430\u044f. \u0421\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442 \u0438 \u043b\u043e\u0432\u0443\u0448\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/h3>\n<p>\u0418\u0442\u0430\u043a, \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c GCC 10, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u0430\u0440\u0438\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 Python 3.7. \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0434\u0435\u043b\u0430\u0439 <code>.\/configure &amp;&amp; make<\/code> \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0439 \u0448\u0430\u043c\u043f\u0430\u043d\u0441\u043a\u043e\u0435.<\/p>\n<p>\u041d\u043e \u0442\u0443\u0442 \u043c\u0435\u043d\u044f \u0436\u0434\u0430\u043b \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u043e\u0441\u0441 \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u0410 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u0432\u0430\u0440\u043d\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u2014 OpenSSL.<\/p>\n<p>\u0412 Debian 13 \u0438\u0434\u0451\u0442 OpenSSL 3.x. API\/ABI \u0443 \u043d\u0435\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c, \u0438 Python 3.7 \u0441 \u043d\u0438\u043c \u043d\u0435 \u0434\u0440\u0443\u0436\u0438\u0442. \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443, \u043f\u0438\u0442\u043e\u043d \u0440\u0430\u0434\u043e\u0441\u0442\u043d\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u043a\u0430\u0436\u0435\u0442, \u0447\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c <code>ssl<\/code> \u043d\u0435 \u0441\u043e\u0431\u0440\u0430\u043d. \u041f\u0438\u0442\u043e\u043d \u0431\u0435\u0437 SSL \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u044f\u0445 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d: \u043d\u0438 <code>pip install<\/code>, \u043d\u0438 HTTPS-\u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/p>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442, OpenSSL \u0442\u043e\u0436\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u0441\u0430\u043c. \u041f\u043e\u0434 \u043a\u0430\u0436\u0434\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e Python \u0441\u0432\u043e\u044f \u0441\u0432\u044f\u0437\u043a\u0430 \u2014 \u0432\u043e\u0442 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">Python<\/p>\n<\/th>\n<th>\n<p align=\"left\">OpenSSL<\/p>\n<\/th>\n<th>\n<p align=\"left\">GCC<\/p>\n<\/th>\n<th>\n<p align=\"left\">pip \/ setuptools<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0417\u0430\u043c\u0435\u0442\u043a\u0438<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2.6<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.0.2u<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.9<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.0.3 \/ 36.8.0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442 SNI<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2.7<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1w<\/p>\n<\/td>\n<td>\n<p align=\"left\">11<\/p>\n<\/td>\n<td>\n<p align=\"left\">20.3.4 \/ 44.1.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.0, 3.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.0.2u<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.9<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442 pip, \u043d\u0435\u0442 SNI<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.0.2u<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.9<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.1.2 \/ 29.0.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.0.2u<\/p>\n<\/td>\n<td>\n<p align=\"left\">7<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.0.1 \/ 39.2.0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.0.2u<\/p>\n<\/td>\n<td>\n<p align=\"left\">7<\/p>\n<\/td>\n<td>\n<p align=\"left\">19.1.1 \/ 43.0.0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1w<\/p>\n<\/td>\n<td>\n<p align=\"left\">7<\/p>\n<\/td>\n<td>\n<p align=\"left\">20.3.4 \/ 50.3.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.6<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1w<\/p>\n<\/td>\n<td>\n<p align=\"left\">9<\/p>\n<\/td>\n<td>\n<p align=\"left\">21.3.1 \/ 59.6.0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.7<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1w<\/p>\n<\/td>\n<td>\n<p align=\"left\">10<\/p>\n<\/td>\n<td>\n<p align=\"left\">24.0 \/ 68.0.0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.8<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1w<\/p>\n<\/td>\n<td>\n<p align=\"left\">10<\/p>\n<\/td>\n<td>\n<p align=\"left\">25.0.1 \/ 75.3.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.9<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1w<\/p>\n<\/td>\n<td>\n<p align=\"left\">10<\/p>\n<\/td>\n<td>\n<p align=\"left\">26.0.1 \/ 80.9.0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.10 \u2013 3.12<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.5.x (LTS)<\/p>\n<\/td>\n<td>\n<p align=\"left\">13<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.13 \u2013 3.14<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.5.x (LTS)<\/p>\n<\/td>\n<td>\n<p align=\"left\">14<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3.15<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.5.x (LTS)<\/p>\n<\/td>\n<td>\n<p align=\"left\">15<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">pre-release<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>OpenSSL 1.0.2 \u0432 EOL \u0441 \u043a\u043e\u043d\u0446\u0430 2019 \u0433\u043e\u0434\u0430, 1.1.1 \u2014 \u0441 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2023-\u0433\u043e. \u0414\u043b\u044f \u043d\u043e\u0432\u044b\u0445 \u043f\u0438\u0442\u043e\u043d\u043e\u0432 \u044f \u0431\u0435\u0440\u0443 3.5 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u044d\u0442\u043e LTS (\u0434\u043e 2030 \u0433\u043e\u0434\u0430). 3.6 \u0438 4.0 \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044e.<\/p>\n<h4>\u041a\u0443\u0434\u0430 \u043a\u043b\u0430\u0441\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438?<\/h4>\n<p>\u0412\u043e\u0442 \u0442\u0443\u0442 \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0440\u0430\u0437\u0432\u0438\u043b\u043a\u0430.<\/p>\n<p><strong>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 1: <\/strong><code><strong>\/usr\/lib<\/strong><\/code><strong>, <\/strong><code><strong>\/usr\/local\/lib<\/strong><\/code><strong> \u0438\u043b\u0438 <\/strong><code><strong>\/etc\/ld.so.conf.d<\/strong><\/code><strong>.<\/strong> \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u044b\u0441\u0442\u0440\u0435\u043b\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u0432 \u043d\u043e\u0433\u0443. \u0420\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043f\u043e\u0434\u0442\u044f\u043d\u0435\u0442 \u0432\u0430\u0448\u0443 <code>libssl<\/code> \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0439 \u2014 \u0438 \u043f\u0440\u0438\u0432\u0435\u0442.<\/p>\n<p><strong>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 2: <\/strong><code><strong>LD_LIBRARY_PATH<\/strong><\/code><strong>.<\/strong> \u041a\u043e\u0441\u0442\u044b\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0432\u0441\u0435 \u0442\u0430\u043a \u043b\u044e\u0431\u0438\u043c. \u041e\u043d \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0435\u0433\u043e \u043f\u043e\u0442\u043e\u043c\u043a\u043e\u0432: \u043f\u0438\u0442\u043e\u043d \u0432\u044b\u0437\u0432\u0430\u043b <code>curl<\/code> \u0438\u043b\u0438 <code>git<\/code> \u2014 \u0438 \u043e\u043d\u0438 \u0442\u043e\u0436\u0435 \u043f\u043e\u0448\u043b\u0438 \u0437\u0430 \u0432\u0430\u0448\u0438\u043c \u0441\u0442\u0430\u0440\u044b\u043c OpenSSL.<\/p>\n<p><strong>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 3: \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0430.<\/strong> \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0434\u043d\u0443 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 CVE \u2014 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0441 \u043d\u0435\u0439 \u0441\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043e. \u0414\u0430 \u0438 \u043d\u0435 \u0432\u0441\u044f\u043a\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0430 \u044d\u0442\u043e \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0441\u044f.<\/p>\n<p>\u042f \u043f\u043e\u0448\u0451\u043b <strong>\u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u043c <\/strong>\u043f\u0443\u0442\u0451\u043c. \u041a\u0430\u0436\u0434\u0430\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0432 \u0441\u0432\u043e\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 <code>\/usr\/local\/share\/epicmorg\/&lt;\u0438\u043c\u044f&gt;\/&lt;\u0432\u0435\u0440\u0441\u0438\u044f&gt;<\/code>, \u0430 \u043f\u0443\u0442\u0438 \u043a \u043d\u0438\u043c \u0432\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0432 ELF \u0447\u0435\u0440\u0435\u0437 RPATH:<\/p>\n<pre><code>-Wl,-rpath,\/usr\/local\/share\/epicmorg\/openssl\/1.1.1\/lib<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a (<code>ld.so<\/code>) \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0442 \u043f\u0443\u0442\u044c \u0438\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430 \u0438 \u043d\u0430\u0439\u0434\u0451\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0431\u0435\u0437 \u0432\u0441\u044f\u043a\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0447\u0438\u0441\u0442\u043e\u0439, \u0430 \u043c\u043e\u0439 \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442 \u0445\u043e\u0434\u0438\u0442 \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u043a\u043e\u0441\u0442\u044b\u043b\u044f\u043c\u0438.<\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c \u0442\u0440\u0435\u0442\u044c\u044f. RPATH, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f RUNPATH<\/h3>\n<p>\u0412\u043e\u0442 \u0442\u0443\u0442 \u0431\u044b\u043b\u043e \u0431\u043e\u043b\u044c\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e.<\/p>\n<p>\u0412 \u0441\u0435\u043a\u0446\u0438\u0438 <code>.dynamic<\/code> ELF-\u0444\u0430\u0439\u043b\u0430 \u043f\u0443\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u043b\u0435\u0436\u0430\u0442\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0434\u0432\u0443\u0445 \u0442\u0435\u0433\u043e\u0432:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\n<\/th>\n<th>\n<p align=\"left\"><code>DT_RPATH<\/code><\/p>\n<\/th>\n<th>\n<p align=\"left\"><code>DT_RUNPATH<\/code><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e <code>LD_LIBRARY_PATH<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u044b\u0448\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0438\u0436\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0414\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u043d\u0435\u0442<\/strong><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><code>-Wl,-rpath<\/code> \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0443\u0442\u044c\u00bb. \u0410 \u0432 \u043a\u0430\u043a\u043e\u0439 \u0442\u0435\u0433 \u0435\u0433\u043e \u0437\u0430\u043f\u0438\u0448\u0435\u0442 \u043b\u0438\u043d\u043a\u0435\u0440, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0444\u043b\u0430\u0433 <code>--enable-new-dtags<\/code> \/ <code>--disable-new-dtags<\/code>. \u0418 <strong>\u043b\u0438\u043d\u043a\u0435\u0440 \u0432 Debian \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0438\u0448\u0435\u0442 RUNPATH<\/strong>, \u0445\u043e\u0442\u044f \u0432\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0438\u043b\u0438.<\/p>\n<p>\u0427\u0435\u043c \u044d\u0442\u043e \u043a\u043e\u043d\u0447\u0430\u0435\u0442\u0441\u044f? \u041a\u043b\u0430\u0441\u0441\u0438\u043a\u0430: <code>libicuuc<\/code> \u043d\u0430\u0448\u043b\u0430 \u0441\u0435\u0431\u044f \u043f\u043e RUNPATH, \u0430 <code>libicudata<\/code>, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0443\u0436\u0435 \u0441\u0430\u043c\u0430 <code>libicuuc<\/code>, \u2014 \u043d\u0435\u0442. RUNPATH \u043d\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0438 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 <code>make<\/code> \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435<\/p>\n<pre><code>libicudata.so.73: cannot open shared object file: No such file or directory<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0445\u043e\u0442\u044f <code>-rpath<\/code> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u0443\u0434\u0430 \u043d\u0430\u0434\u043e.<\/p>\n<p>\u041b\u0435\u0447\u0435\u043d\u0438\u0435 \u2014 \u044f\u0432\u043d\u043e \u0440\u044f\u0434\u043e\u043c \u0441 \u043a\u0430\u0436\u0434\u044b\u043c <code>-rpath<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c <code>-Wl,--disable-new-dtags<\/code> \u0438 <strong>\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/strong>:<\/p>\n<pre><code>readelf -d python3.7 | grep -E 'RPATH|RUNPATH|NEEDED'<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u044e\u0440\u043f\u0440\u0438\u0437 \u043e\u0442 Python. \u0412 <code>distutils<\/code> (\u0430 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u0438 \u0432\u0440\u043e\u0434\u0435 <code>sqlite3<\/code><em>) <\/em>\u0444\u0443\u043d\u043a\u0446\u0438\u044f<em> <\/em><code>runtimelibrary_dir_option()<\/code> \u0441\u0430\u043c\u0430 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 <code>-Wl,--enable-new-dtags,-R&lt;dir&gt;<\/code>. \u0422\u043e \u0435\u0441\u0442\u044c \u0432\u044b \u0432\u0441\u0451 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0430 \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 RUNPATH. <u>\u041f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0430\u0442\u0447\u0438\u0442\u044c:<\/u><\/p>\n<pre><code>RUN f=Lib\/distutils\/unixccompiler.py; \\    if grep -q -- '--enable-new-dtags' \"$f\"; then \\      sed -i 's\/--enable-new-dtags\/--disable-new-dtags\/g' \"$f\"; \\    fi<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<h3>\u0427\u0430\u0441\u0442\u044c \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u0430\u044f. \u0421\u0431\u043e\u0440\u043a\u0430 Python 3.7<\/h3>\n<p>\u041f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u2014 multi-stage Dockerfile. Zlib \u0438 OpenSSL 1.1.1w \u0443\u0436\u0435 \u043b\u0435\u0436\u0430\u0442 \u0432 \u0431\u0430\u0437\u043e\u0432\u043e\u043c build-\u043e\u0431\u0440\u0430\u0437\u0435 (<code>debian:trixie-develop<\/code>, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f <code>gcc:10<\/code>), \u043a\u0430\u0436\u0434\u044b\u0439 \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0435 \u0438 \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c RPATH. \u0421\u0430\u043c OpenSSL \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>CFLAGS=\"-Wno-error -fPIC\" .\/config \\    zlib --with-zlib-include=${ZLIB_DIR}\/include --with-zlib-lib=${ZLIB_DIR}\/lib \\    enable-ec_nistp_64_gcc_128 enable-ssl-trace threads shared \\    -Wl,-rpath,${OPENSSL_111_LIB_DIR} \\    -Wl,-rpath,${ZLIB_LIB_DIR} \\    -Wl,--disable-new-dtags \\    --release --prefix=${OPENSSL_111_DIR}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: RPATH \u043d\u0430 zlib \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d \u0438 \u0432 \u0441\u0430\u043c\u043e\u043c <code>libssl<\/code>. \u0418\u043d\u0430\u0447\u0435 \u00ab\u043c\u043e\u0439\u00bb OpenSSL \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0438\u0442\u043e\u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 <code>libz<\/code>.<\/p>\n<p>\u0421\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 builder-\u0441\u043b\u043e\u0439 Python (\u043f\u043e\u043b\u043d\u044b\u0439 \u2014 <a href=\"https:\/\/github.com\/EpicMorg\/docker\/tree\/master\/linux\/ecosystem\/apps\/python\/3.7\" rel=\"noopener nofollow\">apps\/python\/3.7<\/a>):<\/p>\n<pre><code>FROM ghcr.io\/epicmorg\/gcc:10 AS builderENV PYTHON_VERSION=3.7ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}\/python\/${PYTHON_VERSION}# \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u0434\u0430\u043b \u043d\u0430\u043c OpenSSL \u0438 zlibRUN : \"${OPENSSL_111_DIR:?empty}\" \"${OPENSSL_111_LIB_DIR:?empty}\" \"${ZLIB_LIB_DIR:?empty}\"# \u0417\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u043c apt \u0442\u044f\u043d\u0443\u0442\u044c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043d\u044b\u0439 pythonCOPY etc\/apt\/preferences.d \/etc\/apt\/preferences.dRUN apt-get update &amp;&amp; apt-get install -y \\    build-essential pkg-config libffi-dev libncurses-dev libreadline-dev \\    libsqlite3-dev libgdbm-dev libbz2-dev libexpat1-dev liblzma-dev uuid-dev tk-dev# \u0423\u0431\u0438\u0440\u0430\u0435\u043c \u0441 \u0434\u043e\u0440\u043e\u0433\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 OpenSSL 3.xRUN mv \/usr\/include\/openssl \/usr\/include\/openssl.disabled# ... \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0438 \u043f\u0430\u0442\u0447 distutils \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 ...RUN set -eux; \\    export LDFLAGS=\"-L${OPENSSL_111_LIB_DIR} -L${ZLIB_LIB_DIR} \\        -Wl,-rpath,${OPENSSL_111_LIB_DIR} \\        -Wl,-rpath,${PYTHON_DIR}\/lib \\        -Wl,-rpath,${ZLIB_LIB_DIR} \\        -Wl,--disable-new-dtags\" &amp;&amp; \\    export CPPFLAGS=\"-I${OPENSSL_111_INC_DIR} -I${ZLIB_INC_DIR}\" &amp;&amp; \\    .\/configure \\        --prefix=${PYTHON_DIR} \\        --enable-shared \\        --enable-optimizations \\        --with-lto \\        --enable-option-checking=fatal \\        --enable-loadable-sqlite-extensions \\        --with-ensurepip=install \\        --with-computed-gotos \\        --with-openssl=${OPENSSL_111_DIR} &amp;&amp; \\    make -j$(nproc) &amp;&amp; \\    make altinstall &amp;&amp; \\    ${PYTHON_DIR}\/bin\/python${PYTHON_VERSION} -m pip install --upgrade pip setuptools<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u0430\u0440\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><code>mv \/usr\/include\/openssl \u2026<\/code> \u2014 \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u043a\u0430 \u043e\u0442 \u0441\u0430\u043c\u043e\u0439 \u043f\u043e\u0434\u043b\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438: \u0441\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e OpenSSL 3.x, \u0430 \u0441\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0441 \u043c\u043e\u0438\u043c 1.1.1. \u0422\u0430\u043a\u043e\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u043f\u0440\u043e\u0434\u0435.<\/p>\n<\/li>\n<li>\n<p><code>--enable-option-checking=fatal<\/code> \u2014 \u0435\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u0434\u0443\u043c\u0430\u043b\u0438 \u0444\u043b\u0430\u0433 configure (\u0438\u043b\u0438 \u043e\u043d \u0438\u0441\u0447\u0435\u0437 \u0432 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438), \u0441\u0431\u043e\u0440\u043a\u0430 \u0443\u043f\u0430\u0434\u0451\u0442, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u0435\u0433\u043e \u043c\u043e\u043b\u0447\u0430. \u0424\u043b\u0430\u0433\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u0442\u043e\u0438\u0442 \u0441\u0432\u0435\u0440\u044f\u0442\u044c \u0441 <code>.\/configure --help<\/code> \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438: \u043e\u043d\u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438 \u0438\u0441\u0447\u0435\u0437\u0430\u044e\u0442 \u0432 \u043e\u0431\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0424\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 \u2014 \u0447\u0438\u0441\u0442\u044b\u0439 <code>debian:trixie<\/code>, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b Python, OpenSSL \u0438 zlib:<\/p>\n<pre><code>FROM ghcr.io\/epicmorg\/debian:trixieCOPY --from=builder ${PYTHON_DIR}      ${PYTHON_DIR}COPY --from=builder ${OPENSSL_111_DIR} ${OPENSSL_111_DIR}COPY --from=builder ${ZLIB_DIR}        ${ZLIB_DIR}# \u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c C-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u0438\u0432 \u043d\u0430\u0448\u0435\u0433\u043e OpenSSLENV CPPFLAGS=\"-I${OPENSSL_111_DIR}\/include\"ENV LDFLAGS=\"-L${OPENSSL_111_LIB_DIR} -Wl,-rpath,${OPENSSL_111_LIB_DIR} -Wl,--disable-new-dtags\"RUN update-alternatives --install \/usr\/bin\/python3 python3 ${PYTHON_DIR}\/bin\/python${PYTHON_VERSION} 1 &amp;&amp; \\    update-alternatives --install \/usr\/bin\/pip3 pip3 ${PYTHON_DIR}\/bin\/pip${PYTHON_VERSION} 1<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u00ab\u0410 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043e\u0431\u0440\u0430\u0437\u0435 \u0435\u0441\u0442\u044c <code>build-essential<\/code> \u0438 <code>-dev<\/code> \u043f\u0430\u043a\u0435\u0442\u044b?\u00bb \u2014 \u0441\u043f\u0440\u043e\u0441\u0438\u0442 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u0447\u0430\u0441\u0442\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (psycopg2, pycurl, lxml, python-ldap\u2026) \u043f\u043e\u0434 \u0441\u0442\u0430\u0440\u044b\u0435 \u043f\u0438\u0442\u043e\u043d\u044b \u043d\u0435\u0442 <abbr class=\"habraabbr\" title=\"Wheel \u0432 Python \u2014 \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442. \u041f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e ZIP-\u0430\u0440\u0445\u0438\u0432 \u0441 \u043e\u0441\u043e\u0431\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .whl, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Python \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435. \u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438: https:\/\/peps.python.org\/pep-0427\/ https:\/\/habr.com\/ru\/articles\/210450\/\" data-title=\"&lt;p&gt;&lt;strong&gt;Wheel \u0432 Python&lt;\/strong&gt; \u2014 \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442. &lt;\/p&gt;&lt;p&gt;\u041f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e ZIP-\u0430\u0440\u0445\u0438\u0432 \u0441 \u043e\u0441\u043e\u0431\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .whl, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Python \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435.&lt;br&gt;&lt;br&gt;\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438:&lt;br&gt;&lt;a href=&quot;https:\/\/peps.python.org\/pep-0427\/&quot; data-mark=&quot;link&quot;&gt;https:\/\/peps.python.org\/pep-0427\/&lt;\/a&gt;&lt;br&gt;&lt;a href=&quot;https:\/\/habr.com\/ru\/articles\/210450\/&quot; data-mark=&quot;link&quot;&gt;https:\/\/habr.com\/ru\/articles\/210450\/&lt;\/a&gt;&lt;\/p&gt;&lt;p&gt;&lt;\/p&gt;\" data-abbr=\"\u043a\u043e\u043b\u0451\u0441\">\u043a\u043e\u043b\u0451\u0441<\/abbr>, \u0438 <code>pip install<\/code> \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u0421\u0430\u043c Python \u044d\u0442\u0438\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u2014 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 builder.<\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c \u043f\u044f\u0442\u0430\u044f. \u0414\u043e\u0432\u0435\u0440\u044f\u0439, \u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439<\/h3>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435, ABI-\u0434\u0440\u0435\u0439\u0444 \u043d\u0435 \u0448\u0443\u043c\u0438\u0442. \u0432\u0430\u0448 \u043e\u0431\u0440\u0430\u0437, \u0441\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0435 \u0441 \u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439, \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 smoke-\u0442\u0435\u0441\u0442 \u0438 \u043f\u0430\u0434\u0430\u0435\u0442 \u0443\u0436\u0435 \u043d\u0430 \u043f\u0440\u043e\u0434\u0435. \u041d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443 \u043c\u0435\u043d\u044f \u0441\u0431\u043e\u0440\u043a\u0443 \u0432\u0430\u043b\u0438\u0442 \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a \u2014 \u043f\u0440\u044f\u043c\u043e \u0432 Dockerfile, \u0438 \u0432 builder-\u0441\u043b\u043e\u0435, \u0438 \u0432 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c:<\/p>\n<pre><code>py=${PYTHON_DIR}\/bin\/python3.7# 1. \u0421 \u043a\u0430\u043a\u0438\u043c\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0438 (0x1010\u2026 = OpenSSL 1.1.x)$py -c 'import _ssl; print(hex(_ssl.OPENSSL_VERSION_NUMBER))'# 2. \u041a\u0430\u043a\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0430\u0441\u044c$py -c 'import ssl; print(ssl.OPENSSL_VERSION)'# \u0415\u0441\u043b\u0438 1 \u0438 2 \u0440\u0430\u0441\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u2014 \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0441 \u0447\u0443\u0436\u0438\u043c\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c\u0438# 3. _ssl \u0438 _hashlib \u043b\u0438\u043d\u043a\u0443\u044e\u0442\u0441\u044f \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 \u0438 \u0431\u0435\u0437 \"not found\"for m in _ssl _hashlib; do  so=$($py -c \"import $m; print($m.__file__)\")  ldd \"$so\" | grep -q 'not found' &amp;&amp; exit 1  ldd \"$so\" | grep -q \"${OPENSSL_111_LIB_DIR}\/lib\" || exit 1done# 4. \u0412\u0435\u0437\u0434\u0435 RPATH \u0438 \u043d\u0438\u0433\u0434\u0435 RUNPATHfor f in $py ${PYTHON_DIR}\/lib\/libpython*.so.* ${PYTHON_DIR}\/lib\/python3.7\/lib-dynload\/*.so; do  readelf -d \"$f\" | grep -q '(RUNPATH)' &amp;&amp; exit 1  readelf -d \"$f\" | grep -q '(RPATH)'   || exit 1done# 5. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d libz, \u0438 \u043e\u043d \u043d\u0430\u0448$py -c 'import ssl, zlib; print(open(\"\/proc\/self\/maps\").read())' | awk '\/libz\\.so\/ {print $NF}' | sort -u<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430\u0434\u043e <code>ldd<\/code> \u043c\u043e\u0434\u0443\u043b\u044f <code>_ssl<\/code>, \u0430 \u043d\u0435 \u0441\u0430\u043c\u043e\u0433\u043e <code>python3<\/code>. \u0411\u0438\u043d\u0430\u0440\u043d\u0438\u043a \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u0441 <code>libssl<\/code> \u043d\u0435 \u043b\u0438\u043d\u043a\u0443\u0435\u0442\u0441\u044f \u0432\u043e\u043e\u0431\u0449\u0435, SSL \u043f\u0440\u0438\u0435\u0437\u0436\u0430\u0435\u0442 \u0441 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c.<\/p>\n<p>\u0418 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e: <strong>\u0434\u0432\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u0434\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u2014 \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0430\u0433.<\/strong> \u0415\u0441\u043b\u0438 <code>ldd<\/code> \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0438 <code>libssl.so.1.1<\/code>, \u0438 <code>libssl.so.3<\/code>, \u0438\u0449\u0438\u0442\u0435, \u043a\u0442\u043e \u0441\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043b\u0441\u044f \u043d\u0435 \u0441 \u0442\u0435\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c.<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 <code>docker run --rm -it <\/code><a href=\"http:\/\/ghcr.io\/epicmorg\/python:3.7\" rel=\"noopener nofollow\"><code>ghcr.io\/epicmorg\/python:3.7<\/code><\/a>:<\/p>\n<pre><code>$ head -1 \/etc\/os-releasePRETTY_NAME=\"Debian GNU\/Linux 13 (trixie)\"$ python3 -VPython 3.7.17$ python3 -c 'import sys; print(sys.version)'3.7.17 (default, Oct 25 2026, 09:09:48)[GCC 10.5.0]$ pip --versionpip 24.0 from \/usr\/local\/share\/epicmorg\/python\/3.7\/lib\/python3.7\/site-packages\/pip (python 3.7)$ python3 -c 'import ssl; print(ssl.OPENSSL_VERSION)'OpenSSL 1.1.1w  11 Sep 2023$ python3 -c 'import _ssl; print(hex(_ssl.OPENSSL_VERSION_NUMBER))'0x1010117f<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 1.1.1 (<code>0x1010117f<\/code>), \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 1.1.1w, \u0441\u043e\u0431\u0440\u0430\u043d\u043e GCC 10.5. \u0422\u0435\u043f\u0435\u0440\u044c \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0430 \u043c\u043e\u0434\u0443\u043b\u044f <code>_ssl<\/code>:<\/p>\n<pre><code>$ ldd $(python3 -c 'import _ssl; print(_ssl.__file__)')linux-vdso.so.1 (0x00007fce02884000)libssl.so.1.1 =&gt; \/usr\/local\/share\/epicmorg\/openssl\/1.1.1\/lib\/libssl.so.1.1 (0x00007fce0279e000)libcrypto.so.1.1 =&gt; \/usr\/local\/share\/epicmorg\/openssl\/1.1.1\/lib\/libcrypto.so.1.1 (0x00007fce02444000)libpython3.7m.so.1.0 =&gt; \/usr\/local\/share\/epicmorg\/python\/3.7\/lib\/libpython3.7m.so.1.0 (0x00007fce02114000)libc.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libc.so.6 (0x00007fce01f14000)libz.so.1 =&gt; \/usr\/local\/share\/epicmorg\/zlib\/1.3.1\/lib\/libz.so.1 (0x00007fce01ef5000)libcrypt.so.1 =&gt; \/lib\/x86_64-linux-gnu\/libcrypt.so.1 (0x00007fce01eb9000)libm.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libm.so.6 (0x00007fce01dc9000)\/lib64\/ld-linux-x86-64.so.2 (0x00007fce02886000)$ readelf -d $(python3 -c 'import _ssl; print(_ssl.__file__)') | grep -E 'RPATH|RUNPATH' 0x000000000000000f (RPATH)              Library rpath: [\/usr\/local\/share\/epicmorg\/openssl\/1.1.1\/lib:\/usr\/local\/share\/epicmorg\/python\/3.7\/lib:\/usr\/local\/share\/epicmorg\/zlib\/1.3.1\/lib]<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p><code>libssl<\/code>, <code>libcrypto<\/code> \u0438 \u0434\u0430\u0436\u0435 <code>libz<\/code> \u2014 \u0438\u0437 \u043c\u043e\u0438\u0445 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u0432, \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e <code>libc<\/code>, <code>libm<\/code> \u0438 <code>libcrypt<\/code>. \u0412 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u2014 \u0438\u043c\u0435\u043d\u043d\u043e <code>RPATH<\/code>, \u043d\u0435 <code>RUNPATH<\/code>. \u0410 \u0432\u043e\u0442 \u0441\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440, \u043a\u0430\u043a \u0438 \u043e\u0431\u0435\u0449\u0430\u043b, \u0441 OpenSSL \u043d\u0435 \u043b\u0438\u043d\u043a\u0443\u0435\u0442\u0441\u044f \u0432\u043e\u0432\u0441\u0435:<\/p>\n<pre><code>$ ldd $(command -v python3.7)linux-vdso.so.1 (0x00007f270d4c8000)libpython3.7m.so.1.0 =&gt; \/usr\/local\/share\/epicmorg\/python\/3.7\/lib\/libpython3.7m.so.1.0 (0x00007f270d18d000)libcrypt.so.1 =&gt; \/lib\/x86_64-linux-gnu\/libcrypt.so.1 (0x00007f270d147000)libm.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libm.so.6 (0x00007f270d057000)libc.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libc.so.6 (0x00007f270ce63000)\/lib64\/ld-linux-x86-64.so.2 (0x00007f270d4ca000)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0418 \u0432\u0438\u0448\u0435\u043d\u043a\u0430 \u2014 \u0434\u0432\u0430 OpenSSL \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443 \u043d\u0435 \u043c\u0435\u0448\u0430\u044e\u0442:<\/p>\n<pre><code>$ \/usr\/bin\/openssl versionOpenSSL 3.5.7 9 Jun 2026 (Library: OpenSSL 3.5.7 9 Jun 2026)$ openssl versionOpenSSL 1.1.1w  11 Sep 2023<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 <code>openssl<\/code> \u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 apt, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 3.5 \u0438\u0437 Debian. \u041c\u043e\u0439 \u043f\u0438\u0442\u043e\u043d \u2014 \u0441 1.1.1w.<\/p>\n<h3>\u0411\u043e\u043d\u0443\u0441: \u043c\u0443\u0437\u0435\u0439 (Python 2.6, 3.0\u20133.6)<\/h3>\n<p>\u0421\u043e\u0432\u0441\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430 glibc 2.41 \u0438 ncurses 6 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0445 \u043f\u0440\u0430\u0432\u043e\u043a. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0441\u0431\u043e\u0440\u043a\u0438, \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u044e:<\/p>\n<ul>\n<li>\n<p><strong>glibc 2.41 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442 C23-\u0444\u0443\u043d\u043a\u0446\u0438\u044e <\/strong><code><strong>sinpi()<\/strong><\/code>, \u0430 \u0432 <code>Modules\/mathmodule.c<\/code> \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u044f static <code>sinpi<\/code>. \u041e\u0448\u0438\u0431\u043a\u0430 <code>static declaration of 'sinpi' follows non-static declaration<\/code>, \u043c\u043e\u0434\u0443\u043b\u044c <code>math<\/code> \u043c\u043e\u043b\u0447\u0430 \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u0430 \u0437\u0430 \u043d\u0438\u043c \u043b\u043e\u043c\u0430\u044e\u0442\u0441\u044f <code>random<\/code>, <code>tempfile<\/code> \u0438 <code>ensurepip<\/code>. <br \/>\u041b\u0435\u0447\u0438\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0432 upstream \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 3.7: <code>sh sed -i 's\/\\bsinpi\\b\/m_sinpi\/g' Modules\/mathmodule.c<\/code><\/p>\n<\/li>\n<li>\n<p><strong>ncurses 6 \u0434\u0435\u043b\u0430\u0435\u0442 <\/strong><code><strong>WINDOW<\/strong><\/code><strong> \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u043c<\/strong> (<code>NCURSES_OPAQUE=1<\/code>), \u0430 \u0441\u0442\u0430\u0440\u044b\u0439 <code>py_curses.h<\/code> \u043b\u0435\u0437\u0435\u0442 \u0432 <code>win-&gt;_flags<\/code>. \u0411\u044d\u043a\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0437\u0430\u0449\u0438\u0442\u0443 \u0438\u0437 3.6.<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0435\u0442 SNI<\/strong> \u0432 <code>ssl<\/code> \u0443 2.6, 3.0 \u0438 3.1. \u041d\u0430 PyPI \u043f\u043e HTTPS \u0431\u0435\u0437 SNI \u043d\u0435 \u043f\u043e\u043f\u0430\u0441\u0442\u044c, \u0442\u0430\u043a \u0447\u0442\u043e <code>pip install<\/code> \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0442\u0430\u043c \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 wheel\/sdist. \u0423 3.0 \u0438 3.1 pip \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0435-\u0447\u0442\u043e \u0442\u0430\u043a \u0438 \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f: <code>nis<\/code> (\u0432 glibc \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0442 <code>rpc\/rpc.h<\/code>), <code>dbm<\/code> <em>\u043d\u0430 3.1\u20133.6, <\/em><code>tkinter<\/code> \u043d\u0430 2.6\/3.0, <code>lzma<\/code> \u0434\u043e 3.3.<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e Python: PHP \u0438 \u043f\u0430\u0442\u0447, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435 \u0431\u044b\u043b\u043e<\/h3>\n<p>\u0412\u0441\u0451 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0432\u044b\u0448\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0438\u0442\u043e\u043d\u0430. \u041d\u0430 \u0442\u043e\u043c \u0436\u0435 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0435 \u044f \u0441\u043e\u0431\u0438\u0440\u0430\u044e PHP \u0441 5.3 \u043f\u043e 8.5. \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0442\u043e\u0442 \u0436\u0435 <code>epicmorg\/gcc<\/code>, \u0438 \u0442\u0430 \u0436\u0435 \u043b\u0435\u0441\u0435\u043d\u043a\u0430 OpenSSL:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">PHP<\/p>\n<\/th>\n<th>\n<p align=\"left\">OpenSSL<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e\u0447\u0435\u043c\u0443<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">5.3\u20135.6<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.0.2u<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 OpenSSL 1.1 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 PHP 7.1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">7.0\u20138.0<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1w<\/p>\n<\/td>\n<td>\n<p align=\"left\">OpenSSL 3.x \u043d\u0430\u0434\u0451\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 8.1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">8.1\u20138.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.5.x<\/p>\n<\/td>\n<td>\n<p align=\"left\">LTS-\u0432\u0435\u0442\u043a\u0430 OpenSSL, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u043e 2030 \u0433\u043e\u0434\u0430<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0422\u0435 \u0436\u0435 \u043f\u0440\u0438\u0451\u043c\u044b: \u043f\u0440\u044f\u0447\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 OpenSSL \u043e\u0442 <code>.\/configure<\/code>, \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u0441\u0432\u043e\u0438 ICU, libcurl \u0438 libpq, \u0435\u0441\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0442\u044f\u043d\u0443\u0442 OpenSSL 3, \u0438 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e RPATH. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432 <a href=\"https:\/\/github.com\/EpicMorg\/docker\/tree\/master\/linux\/ecosystem\/apps\/php\" rel=\"noopener nofollow\">README \u043e\u0431\u0440\u0430\u0437\u0430 PHP<\/a>.<\/p>\n<p><strong>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044f, \u0440\u0430\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u0441\u0451 \u044d\u0442\u043e \u0441\u0442\u043e\u0438\u043b\u043e \u0437\u0430\u0442\u0435\u0432\u0430\u0442\u044c.<\/strong><\/p>\n<p>\u0412 \u043e\u043a\u0442\u044f\u0431\u0440\u0435 2026 \u0433\u043e\u0434\u0430 \u0432\u044b\u0448\u043b\u0438 \u0441\u0440\u0430\u0437\u0443 \u0434\u0432\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u044f\u0434\u0440\u0435 PHP: CVE-2026-109618 \u0438 CVE-2026-109619, \u0432 \u043d\u0430\u0440\u043e\u0434\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/PHP2Shell\" rel=\"noopener nofollow\">PHP2Shell<\/a>. \u041c\u0438\u0440, \u043c\u044f\u0433\u043a\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043d\u0430\u043f\u0440\u044f\u0433\u0441\u044f. 21 \u043e\u043a\u0442\u044f\u0431\u0440\u044f PHP \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 8.2\u20138.5. \u0421 EOL-\u0432\u0435\u0442\u043a\u0430\u043c\u0438 \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041d\u043e\u0432\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 7.4, 8.0 \u0438 8.1 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442, \u0438\u0445 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430\u0441\u044c. \u041d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 PHP \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u0438 \u0434\u043b\u044f \u043d\u0438\u0445 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0438\u043a\u0441 \u00abAvoid state corruption via bailout\u00bb \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0442\u043a\u0438 php-src. \u0422\u0430\u0440\u0431\u043e\u043b\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e, \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043c\u0438\u0442.<\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0451 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043e\u0442\u043a\u0443\u0434\u0430 \u0443 \u0432\u0430\u0441 PHP.<\/p>\n<p><strong>\u0415\u0441\u043b\u0438 \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u0430<\/strong>, \u0432\u044b \u0436\u0434\u0451\u0442\u0435. \u041d\u0430 Debian \u0438 Ubuntu \u0434\u0435-\u0444\u0430\u043a\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0434\u043b\u044f PHP \u2014 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Ond\u0159ej Sur\u00fd (<a href=\"http:\/\/sury.org\" rel=\"noopener nofollow\">sury.org<\/a>). \u0421 \u0438\u044e\u043b\u044f 2024 \u0433\u043e\u0434\u0430 \u0435\u0433\u043e \u0430\u0432\u0442\u043e\u0440 \u0433\u0435\u043e\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0420\u043e\u0441\u0441\u0438\u044e \u043d\u0430 <a href=\"http:\/\/packages.sury.org\" rel=\"noopener nofollow\">packages.sury.org<\/a> (<a href=\"https:\/\/github.com\/oerdnj\/deb.sury.org\/issues\/2155\" rel=\"noopener nofollow\">issue #2155<\/a>), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0437 \u0420\u0424 \u043f\u0430\u0442\u0447\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0436\u0434\u0430\u0442\u044c \u0432\u0434\u0432\u043e\u0439\u043d\u0435. \u0410 \u0434\u043b\u044f 7.4\u20138.1 \u044d\u0442\u043e\u0442 \u0444\u0438\u043a\u0441 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0442\u0430\u043a \u0438 \u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f. \u041a\u0442\u043e \u0441\u0438\u0434\u0438\u0442 \u043d\u0430 \u044d\u0442\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445, \u0442\u043e\u0442 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0441 \u0434\u044b\u0440\u043e\u0439.<\/p>\n<p><strong>\u0415\u0441\u043b\u0438 \u0441\u0431\u043e\u0440\u043a\u0430 \u0441\u0432\u043e\u044f<\/strong>, \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432\u0435\u0442\u043e\u043a \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443:<\/p>\n<pre><code>ENV PHP_FULL_VERSION=${PHP_VERSION}.27# Upstream sha256 for php-8.4.27.tar.xz - bump together with PHP_FULL_VERSION.ARG PHP_SHA256=dcf93923b0e38e0d5252b25b796520b5a47761a08b3488b6d0b5d1115764d3f0<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0414\u043b\u044f EOL-\u0432\u0435\u0442\u043e\u043a \u044f \u043a\u043b\u0430\u0434\u0443 \u043a\u043e\u043c\u043c\u0438\u0442 \u0438\u0437 php-src \u0440\u044f\u0434\u043e\u043c \u0441 Dockerfile \u0438 \u043d\u0430\u043a\u0430\u0442\u044b\u0432\u0430\u044e \u0435\u0433\u043e \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430. \u041b\u044e\u0431\u043e\u0439 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u043f\u0430\u0442\u0447\u0430 \u0432\u0430\u043b\u0438\u0442 \u0441\u0431\u043e\u0440\u043a\u0443:<\/p>\n<pre><code># PHP_PATCHES: applied in name order, any reject is fatal.COPY tmp\/patches\/ \/tmp\/php-patches\/RUN set -eux; \\    for p in \/tmp\/php-patches\/*.patch; do \\        patch -d ${PHP_SRC_DIR} -p1 --forward --no-backup-if-mismatch &lt; \"$p\"; \\    done; \\    if find ${PHP_SRC_DIR} -name \"*.rej\" | grep -q .; then echo \"FATAL: patch rejects\" &gt;&amp;2; exit 1; fi; \\    rm -rf \/tmp\/php-patches<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u0435\u0433\u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0435\u0436\u043d\u0438\u043c\u0438 (<code>7.4.33<\/code> \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f<code>7.4.33<\/code>), \u0430 \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430\u043b\u043e\u0436\u0435\u043d\u043e, \u0432\u0438\u0434\u043d\u043e \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438 \u0432 \u043c\u0435\u0442\u043a\u0435 \u043e\u0431\u0440\u0430\u0437\u0430:<\/p>\n<pre><code>ENV PHP_PATCHES=\"CVE-2026-109618 CVE-2026-109619\"LABEL org.epicmorg.php.patches=\"CVE-2026-109618 CVE-2026-109619\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u0435\u0441\u044c \u0444\u0438\u043a\u0441 \u2014 \u043e\u0434\u0438\u043d \u043a\u043e\u043c\u043c\u0438\u0442 \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0434\u0435\u043d\u044c, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b\u0448\u043b\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 PHP: \u0441\u0435\u043c\u044c \u0432\u0435\u0442\u043e\u043a, \u043e\u0442 7.4 \u0434\u043e 8.5. \u0414\u0430\u043b\u044c\u0448\u0435 CI \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u043b \u043e\u0431\u0440\u0430\u0437\u044b, \u0430 \u043d\u0430 \u043f\u0440\u043e\u0434\u0435 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u043a\u0430\u0442\u0438\u0442\u044c \u043f\u0430\u0440\u0443-\u0442\u0440\u043e\u0439\u043a\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0432\u0435\u043d\u0434\u043e\u0440\u0430.<\/p>\n<p>\u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u2014 \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0442\u0435\u0445 \u0436\u0435 \u0432\u0435\u0440\u0441\u0438\u0439 \u043d\u0430 Docker Hub (\u0437\u0430\u043c\u0435\u0440 \u043d\u0430 30.10.2026):<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041e\u0431\u0440\u0430\u0437<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0431\u043e\u0440\u043a\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0411\u0430\u0437\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">OpenSSL<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>php:7.4-fpm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">15.11.2022<\/p>\n<\/td>\n<td>\n<p align=\"left\">Debian 11.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1n (\u043c\u0430\u0440\u0442 2022)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>python:3.7<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">22.07.2023<\/p>\n<\/td>\n<td>\n<p align=\"left\">Debian 12.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.0.9 (\u043c\u0430\u0439 2023)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>epicmorg\/php:7.4<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">25.10.2026<\/p>\n<\/td>\n<td>\n<p align=\"left\">Debian 13<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1.1w + \u043f\u0430\u0442\u0447 PHP2Shell<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b EOL-\u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043c\u043e\u0440\u043e\u0436\u0435\u043d\u044b \u0432 \u0434\u0435\u043d\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438: \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0431\u0430\u0437\u043e\u0439, \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0438 \u0432\u0441\u0435\u043c\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u043c\u0438 \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440.<\/p>\n<h3>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0435\u0437\u0438\u0441\u0430: \u043f\u0435\u0440\u0435\u0435\u0437\u0434 \u043d\u0430 Astra Linux<\/h3>\n<p>\u0427\u0435\u0440\u0435\u0437 \u0432\u0441\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043e\u0434\u043d\u0430 \u043c\u044b\u0441\u043b\u044c: \u0435\u0441\u043b\u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0441\u0430\u043c \u043d\u043e\u0441\u0438\u0442 \u0441\u0432\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, OpenSSL \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0435\u043c\u0443 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e, \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 \u0436\u0438\u0442\u044c. \u041b\u0438\u0448\u044c \u0431\u044b glibc \u0431\u044b\u043b\u0430 \u043d\u0435 \u0441\u0442\u0430\u0440\u0435\u0435 \u043d\u0443\u0436\u043d\u043e\u0439. \u0417\u0432\u0443\u0447\u0438\u0442 \u043a\u0440\u0430\u0441\u0438\u0432\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u044d\u0442\u043e \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435.<\/p>\n<p>\u0423 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 Docker-\u043e\u0431\u0440\u0430\u0437\u044b Astra Linux 1.7 \u0438 1.8. \u042f \u0432\u0437\u044f\u043b develop-\u043e\u0431\u0440\u0430\u0437 Astra 1.8.6 (glibc 2.36, \u0431\u0430\u0437\u0430 Debian 12) \u0438 \u043f\u0435\u0440\u0435\u043d\u0451\u0441 \u043d\u0430 \u043d\u0435\u0433\u043e \u0442\u0435 \u0436\u0435 \u0446\u0435\u043f\u043e\u0447\u043a\u0438, \u0447\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432\u044b\u0448\u0435: GCC 10 \u0438 14, Python 3.7 \u0438 3.14, PHP 7.4 (\u0441 \u043f\u0430\u0442\u0447\u0435\u043c PHP2Shell) \u0438 PHP 8.5. \u041f\u0443\u0448\u0438\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0441\u0442\u0430\u043b, \u0432\u0441\u0451 \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0426\u0435\u043f\u043e\u0447\u043a\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0418\u0442\u043e\u0433<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c, \u043a\u0440\u043e\u043c\u0435 <code>FROM<\/code><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">GCC 10.5 \u0438 14.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2705<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0438\u0447\u0435\u0433\u043e: \u0441\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u043f\u0440\u044f\u043c\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c GCC 12 \u0438\u0437 Astra, \u043b\u0435\u0441\u0435\u043d\u043a\u0430 \u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u0430\u0441\u044c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Python 3.7 \u0438 3.14<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2705<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0438\u0447\u0435\u0433\u043e<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">PHP 7.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2705<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f libxml2 \u0432 Astra \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441 ICU 72, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 intl \u0442\u043e\u0436\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 ICU 72<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">PHP 8.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2705<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u044f\u0432\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043b <code>libssl-dev<\/code> \u0438 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 LDFLAGS \u0434\u043b\u044f memcached<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0412\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0438\u0437 \u043f\u044f\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0448\u043b\u0438 \u0431\u0435\u0437 \u043f\u043e\u0431\u043b\u0430\u0436\u0435\u043a: \u043a\u0430\u0436\u0434\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u0438\u0437 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430, \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d OpenSSL, HTTPS \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u0421\u0430\u043c\u043e\u0435 \u0446\u0435\u043d\u043d\u043e\u0435 \u0432\u044b\u043b\u0435\u0437\u043b\u043e \u0441 PHP 8.5. \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f <code>libhashkit<\/code> (\u0435\u0451 \u0442\u044f\u043d\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 memcached) \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 libcrypto \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u0441\u0451\u0442 RUNPATH \u2014 \u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0442\u0440\u0435\u0442\u044c\u044e \u0447\u0430\u0441\u0442\u044c? RPATH \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0430 \u043d\u0435\u0451 \u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442, \u0438 \u043e\u043d\u0430 \u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u043b\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 OpenSSL. \u041d\u0430 Debian \u044d\u0442\u043e \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c\u044e: <code>libsasl2<\/code> \u0443\u0441\u043f\u0435\u0432\u0430\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0430\u0448 libcrypto \u0440\u0430\u043d\u044c\u0448\u0435. \u0412 Astra libsasl2 \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0431\u0435\u0437 libcrypto, \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0440\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u0440\u0430\u0437\u0443. \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u2014 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430, \u0438 \u043e\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0434\u043b\u044f Debian. \u0422\u0430\u043a \u0447\u0442\u043e Astra \u0437\u0430\u043e\u0434\u043d\u043e \u043d\u0430\u0448\u043b\u0430 \u043c\u043d\u0435 \u0431\u0430\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430 \u00ab\u0440\u043e\u0434\u043d\u043e\u0439\u00bb \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0432\u044b\u0441\u0442\u0440\u0435\u043b\u0438\u043b.<\/p>\n<p>\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u043b\u0430\u0441\u044c: \u0447\u0435\u0442\u044b\u0440\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 \u043f\u0435\u0440\u0435\u0435\u0445\u0430\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u0441 \u0434\u0432\u0443\u043c\u044f \u0442\u043e\u0447\u0435\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u043a\u0430\u043c\u0438, \u0438 \u043e\u0431\u0435 \u043a\u0430\u0441\u0430\u043b\u0438\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u0430 \u043d\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430.<\/p>\n<p>\u0427\u0435\u0441\u0442\u043d\u044b\u0435 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0438:<\/p>\n<ul>\n<li>\n<p>\u042d\u0442\u043e develop-\u043e\u0431\u0440\u0430\u0437 \u0432 Docker, \u0430 \u043d\u0435 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0445\u043e\u0441\u0442. \u041a\u0430\u043a \u043f\u043e\u0432\u0435\u0434\u0451\u0442 \u0441\u0435\u0431\u044f \u0437\u0430\u043c\u043a\u043d\u0443\u0442\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0441\u0440\u0435\u0434\u0430 (\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u043e\u0432), \u044f \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b. \u0410 \u043c\u043e\u0438 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0438 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u043e\u0439 OpenSSL \u0440\u044f\u0434\u043e\u043c \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e Astra. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0432\u0430\u0436\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u044d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u0432\u0430\u043c \u0432\u0440\u044f\u0434 \u043b\u0438 \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442.<\/p>\n<\/li>\n<li>\n<p>Astra 1.7 (glibc 2.28) \u044f \u043f\u043e\u043a\u0430 \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u043b. \u0422\u0430\u043c, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0442\u0430 \u0441\u0430\u043c\u0430\u044f \u043b\u0435\u0441\u0435\u043d\u043a\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b<\/h3>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u043e\u043d\u043e \u0442\u043e\u0433\u043e? \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u00ab\u043d\u0430 \u043e\u0442\u0432\u0430\u043b\u0438\u00bb \u2014 \u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0438 \u043d\u0435 \u043c\u0443\u0447\u0430\u0439\u0442\u0435\u0441\u044c.<\/p>\n<p>\u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u0440\u043e\u0438\u0442\u0435 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0436\u0438\u0442\u044c \u0434\u043e\u043b\u0433\u043e \u0438 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0439 (\u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c \u0441\u043e\u0444\u0442\u043e\u043c), \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u0431\u043e\u0440\u043a\u0430 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u2014 \u0432\u0430\u0448 \u043f\u0443\u0442\u044c.<\/p>\n<p>\u0427\u0442\u043e \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b:<\/p>\n<ul>\n<li>\n<p><strong>\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0431\u0430\u0437\u0430.<\/strong> \u0421\u0432\u0435\u0436\u0435\u0435 \u044f\u0434\u0440\u043e, Debian 13, glibc 2.41. \u041d\u0438\u043a\u0430\u043a\u043e\u0439 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u0441\u0442\u0430\u0440\u044b\u0445 syscall-\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><strong>\u0427\u0438\u0441\u0442\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430.<\/strong> \u0412 <code>\/usr\/lib<\/code> \u0438 <code>ld.so.conf<\/code> \u044f \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e. \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0441\u043e\u0444\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c OpenSSL 3.x, \u043c\u043e\u0439 Python 3.7 \u2014 \u0441\u043e \u0441\u0432\u043e\u0438\u043c 1.1.1w.<\/p>\n<\/li>\n<li>\n<p><strong>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c.<\/strong> \u041d\u0430\u0448\u0451\u043b \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u2014 \u043f\u0430\u0442\u0447\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u044e \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0435, \u043d\u0435 \u0434\u043e\u0436\u0438\u0434\u0430\u044f\u0441\u044c, \u043f\u043e\u043a\u0430 \u043a\u0442\u043e-\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442 \u043e\u0431\u0440\u0430\u0437 \u043d\u0430 Docker Hub (\u0441\u043f\u043e\u0439\u043b\u0435\u0440: \u0434\u043b\u044f EOL-\u0441\u043e\u0444\u0442\u0430 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442). \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0441 PHP2Shell \u044d\u0442\u043e \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430: \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440 \u0437\u0430\u043a\u0440\u044b\u043b \u0434\u044b\u0440\u0443 \u0437\u0430 \u0432\u0435\u0447\u0435\u0440, \u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 EOL-\u0432\u0435\u0442\u043e\u043a \u0438\u0437 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0431\u0435\u0437 \u043f\u0430\u0442\u0447\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c.<\/strong> \u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0441\u0442\u0430\u0442\u044c, \u0437\u0430\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b. \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u0443\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0436\u0430\u0442 \u0443 \u0432\u0430\u0441, \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0434\u0435\u043d\u0443\u0442\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u0434\u0438\u043d \u043f\u0430\u0440\u043a \u0432\u043c\u0435\u0441\u0442\u043e \u0437\u043e\u043e\u043f\u0430\u0440\u043a\u0430.<\/strong> Python \u0441 Docker Hub, PHP \u0438\u0437 sury, Node \u043e\u0442 \u0435\u0449\u0451 \u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0435\u043d\u0434\u043e\u0440\u0430 \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b (Alpine, Bullseye, Bookworm, Ubuntu), \u0440\u0430\u0437\u043d\u044b\u0435 libc \u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 OpenSSL. \u041a\u0430\u0436\u0434\u044b\u0439 \u0442\u0430\u0449\u0438\u0442 \u0441\u0432\u043e\u0438 \u0441\u043b\u043e\u0438 \u0438 \u0441\u0432\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0423 \u043c\u0435\u043d\u044f \u043e\u0434\u043d\u0430 \u0431\u0430\u0437\u0430, <code>epicmorg\/debian:trixie<\/code>, \u043f\u043e\u0434 \u0432\u0441\u0435\u043c\u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u043c\u0438. \u041e\u0431\u043d\u043e\u0432\u0438\u043b \u0431\u0430\u0437\u0443 \u2014 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u0432\u0441\u0435.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u044c.<\/strong> \u0422\u043e\u0442 \u0436\u0435 \u0440\u0435\u0446\u0435\u043f\u0442 \u043f\u043e\u0447\u0442\u0438 \u0431\u0435\u0437 \u043f\u0440\u0430\u0432\u043e\u043a \u043f\u0435\u0440\u0435\u0435\u0445\u0430\u043b \u043d\u0430 Astra Linux. \u0420\u0430\u043d\u0442\u0430\u0439\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043c\u043e\u0435\u0433\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430, \u0430 \u043d\u0435 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c.<\/strong> \u0415\u0441\u043b\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0430 \u043f\u043e\u0435\u0445\u0430\u043b\u0430, \u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0441\u043e\u0431\u0435\u0440\u0451\u0442\u0441\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c: \u044f <strong>\u043d\u0435<\/strong> \u043f\u0440\u043e\u0434\u0430\u044e \u0441\u0432\u043e\u0438 \u043e\u0431\u0440\u0430\u0437\u044b \u043a\u0430\u043a \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043a\u0430\u043a \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440. \u041e\u043d\u0438 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043a\u0430 \u043d\u0435 \u0442\u0430\u043a\u0438\u0435 \u043b\u0451\u0433\u043a\u0438\u0435, \u043a\u0430\u043a \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u0438\u0435: \u0432 \u043d\u0438\u0445 \u0441\u0442\u043e\u0438\u0442 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043e\u0444\u0442\u0430 \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u043a\u0440\u0443\u0433\u0430 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432. \u041d\u043e \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u0441\u043f\u043e\u0441\u043e\u0431. \u041f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 \u043c\u043e\u0438 \u043e\u0431\u0440\u0430\u0437\u044b \u2014 \u0431\u0435\u0440\u0438\u0442\u0435. \u041d\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 \u2014 \u0441\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u0443 \u0441\u0435\u0431\u044f \u043f\u043e \u0442\u0435\u043c \u0436\u0435 \u0440\u0435\u0446\u0435\u043f\u0442\u0430\u043c, \u0432\u0441\u0435 Dockerfile \u043e\u0442\u043a\u0440\u044b\u0442\u044b.<\/p>\n<p>\u0414\u0430, \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430 \u0433\u0440\u0430\u0431\u043b\u0438. \u042d\u0442\u043e \u043f\u0430\u0440\u0430 \u0432\u0435\u0447\u0435\u0440\u043e\u0432 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u043d\u0442\u0430\u0439\u043c. \u0417\u0430\u0442\u043e \u043f\u043e\u0442\u043e\u043c \u043a\u0430\u0436\u0434\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0440\u043e\u0447\u043d\u044b\u0439 \u043f\u0430\u0442\u0447 \u2014 \u044d\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f CI. \u041e\u0434\u0438\u043d \u0440\u0430\u0437 \u0432\u044b\u0441\u0442\u0440\u043e\u0438\u0432 \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0436\u0435\u043b\u0435\u0437\u043e\u0431\u0435\u0442\u043e\u043d\u043d\u044b\u0439 \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0439 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0438 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u0435 \u0441\u0435\u0431\u0435 \u043d\u0430 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0443 \u043d\u0435\u043e\u0431\u044a\u044f\u0442\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>\u041d\u0435 \u0431\u043e\u0439\u0442\u0435\u0441\u044c \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442 \u043b\u0438\u043d\u043a\u0435\u0440\u0430. \u0418\u043d\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u0440\u044b\u0439 \u0434\u043e\u0431\u0440\u044b\u0439 RPATH (\u0438\u043c\u0435\u043d\u043d\u043e RPATH, \u0430 \u043d\u0435 RUNPATH!) \u0441\u043f\u0430\u0441\u0430\u0435\u0442 \u043d\u0435\u0440\u0432\u044b \u043b\u0443\u0447\u0448\u0435 \u043b\u044e\u0431\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<\/p>\n<p>\u0412\u0441\u0435 Dockerfile \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u0432 <a href=\"https:\/\/github.com\/EpicMorg\/docker\" rel=\"noopener nofollow\">EpicMorg\/docker<\/a>, \u043e\u0431\u0440\u0430\u0437\u044b \u043d\u0430 Docker Hub, <a href=\"http:\/\/quay.io\" rel=\"noopener nofollow\">quay.io<\/a> \u0438 <a href=\"http:\/\/ghcr.io\" rel=\"noopener nofollow\">ghcr.io<\/a>.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1101800\/\">https:\/\/habr.com\/ru\/articles\/1101800\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0410 \u0447\u0442\u043e \u0435\u0441\u043b\u0438\u2026 \u043d\u0443\u0436\u0435\u043d \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0445\u043e\u0441\u0442 Linux \u0441\u0432\u0435\u0436\u0438\u0439?\u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c, \u0434\u0430 \u0445\u043e\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0438\u0442\u043e\u043d\u0430 \u0438\u043b\u0438 php, \u043d\u0443\u0436\u043d\u044b\u0439 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0432 \u0434\u043e\u043a\u0435\u0440\u0435. \u0414\u0430 \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f.\u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0440\u0435\u0448\u0435\u043d\u0430. \u041d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441 (\u0441). \u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0442.\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u0432\u0441\u0451\u041e\u0434\u043d\u0430\u0436\u0434\u044b \u043c\u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u0441\u044f Python 3.7. \u041f\u043e\u0442\u043e\u043c 2.7. \u041f\u043e\u0442\u043e\u043c \u2014 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u2014 3.4 \u0438 \u0434\u0430\u0436\u0435 2.6 \u043f\u043e\u0434 \u043b\u0435\u0433\u0430\u0441\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c. \u0418 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0432\u0441\u0442\u0430\u0432\u0430\u043b\u0438 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b:\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439?\u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u0441\u0442\u0430\u0440\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u0431\u0435\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438?\u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u0431\u0438\u043d\u0430\u0440\u0435\u0439 \u043d\u0435\u0442, \u0438\u043b\u0438 \u043e\u043d\u0438 \u0441\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0430\u0440\u0443\u044e glibc, \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432?\u0427\u0435\u043c \u043c\u043d\u0435 \u043d\u0435 \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438:\u0440\u0430\u0441\u043a\u0430\u0442\u0430\u043d\u044b \u043e\u043d\u0438, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043d\u0430 \u0441\u0442\u0430\u0440\u044b\u0445 Debian\/Ubuntu, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0432\u043d\u043e \u0441\u0430\u043c\u0438 \u0432 EOL;\u0441\u0442\u0430\u0440\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u2014 \u044d\u0442\u043e \u0441\u0442\u0430\u0440\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0441\u0442\u0430\u0440\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0441\u0442\u0430\u0440\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438;\u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u043f\u0440\u043e glibc?\u0430 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0435\u0432\u043d\u0438\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u0435\u0449\u0451 \u0438 \u043d\u0430 \u0441\u0432\u0435\u0436\u0435\u043c \u044f\u0434\u0440\u0435 \u0437\u0430\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 (vsyscall, \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0440\u0430\u0434\u043e\u0441\u0442\u0438).\u041e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u0442\u0443\u0442 \u043d\u0430\u0434\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441:\u041b\u0438\u0431\u043e \u0438\u0434\u0451\u043c \u043d\u0430 \u0441\u0434\u0435\u043b\u043a\u0443 \u0441 \u0434\u044c\u044f\u0432\u043e\u043b\u043e\u043c: \u0438\u0437\u043e\u043b\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c, \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c \u0432\u0440\u0435\u043c\u044f \u0438 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u043e\u0431\u0440\u0430\u0437\u0430\u043c\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0434\u0438\u0441\u0442\u0440\u0430\u043c\u0438.\u041b\u0438\u0431\u043e \u0438\u0434\u0451\u043c \u043d\u0430 \u0430\u0432\u0430\u043d\u0442\u044e\u0440\u0443 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442 \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c Linux.\u042f \u0432\u044b\u0431\u0440\u0430\u043b \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0414\u0443\u0445 \u0430\u0432\u0430\u043d\u0442\u044e\u0440\u0438\u0437\u043c\u0430 \u0432\u043e \u043c\u043d\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u043e\u043f\u0430\u043b.\u0412\u0441\u0451, \u043e \u0447\u0451\u043c \u043f\u043e\u0439\u0434\u0451\u0442 \u0440\u0435\u0447\u044c, \u0436\u0438\u0432\u0451\u0442 \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043c\u043e\u0435\u0433\u043e pet-\u043f\u0440\u043e\u0435\u043a\u0442\u0430: \u0442\u0430\u043c \u0441\u0435\u0439\u0447\u0430\u0441 GCC \u0441 4-\u0439 \u043f\u043e 16-\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0438 CPython \u043e\u0442 2.6 \u0434\u043e 3.15 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435, \u0438 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u043f\u043e\u0432\u0435\u0440\u0445 Debian 13 trixie. \u0412\u0441\u0451 \u044d\u0442\u043e \u044f \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u0441\u0430\u043c, \u0432\u0435\u0447\u0435\u0440\u0430\u043c\u0438. \u041d\u0438\u0436\u0435 \u2014 \u0432\u044b\u0436\u0438\u043c\u043a\u0430 \u0441 \u0433\u0440\u0430\u0431\u043b\u044f\u043c\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435.\u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0432\u044b \u0441\u043a\u0430\u0436\u0435\u0442\u0435: \u0435\u0441\u0442\u044c\u00a0\u0436\u0435 Makefile \u0438 INSTALL \u2014 \u0432\u043f\u0435\u0440\u0451\u0434 \u0438 \u0441 \u043f\u0435\u0441\u043d\u0435\u0439!\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432\u00a0dependency hell, \u043e\u0442\u0432\u0435\u0447\u0443 \u044f \u0432\u0430\u043c.\u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430. \u0412 Debian 13 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0438\u0434\u0451\u0442 GCC 14. \u041a\u0430\u043a \u0438 \u0441\u0430\u043c\u0438 \u044f\u0437\u044b\u043a\u0438 C\/C++, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u0436\u0435: \u0442\u043e, \u0447\u0442\u043e \u0431\u044b\u043b\u043e warning-\u043e\u043c, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f error-\u043e\u043c, \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0412\u043e\u0437\u044c\u043c\u0438\u0442\u0435 Python 3.4 \u0438 \u0441\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u0435\u0433\u043e GCC 14 \u2014 \u0441\u043b\u043e\u0432\u0438\u0442\u0435 \u043f\u0430\u0447\u043a\u0443 \u043e\u0448\u0438\u0431\u043e\u043a.\u00ab\u041d\u043e \u043c\u043e\u0436\u043d\u043e\u00a0\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043b\u0430\u043f\u0448\u0443 \u0438\u0437\u00a0\u0444\u043b\u0430\u0433\u043e\u0432!\u00bb\u00a0\u2014 \u0441\u043a\u0430\u0436\u0435\u0442\u0435 \u0432\u044b. \u041c\u043e\u0436\u043d\u043e, \u043d\u043e\u00a0\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0438\u043b\u0438\u00a0\u043d\u043e\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e.\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u0441\u0442\u0430\u0440\u044b\u0439 GCC.\u041b\u0435\u0441\u0435\u043d\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0439\u041d\u043e\u0432\u044b\u0439 GCC \u043e\u0431\u044b\u0447\u043d\u043e \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043c\u0430\u0436\u043e\u0440, \u0430 \u0442\u043e\u0442 \u2014 \u0441\u0432\u043e\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439. \u0422\u0430\u043a \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b \u0442\u0430\u043a\u043e\u0439:\u0411\u0435\u0440\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 GCC 14 \u0432 Debian 13 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u0438\u043c GCC 13. \u041f\u0443\u0431\u043b\u0438\u043a\u0443\u044e \u043e\u0431\u0440\u0430\u0437 gcc:13.\u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u044e GCC 13 \u0443\u0436\u0435 \u0438\u043c \u0441\u0430\u043c\u0438\u043c \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0435\u0433. \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043e\u0431\u0440\u0430\u0437\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0447\u043d\u043e \u0443\u043c\u0435\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0430\u043c \u0441\u0435\u0431\u044f.\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044e \u0432\u043d\u0438\u0437 \u0434\u043e GCC 4. \u0413\u043b\u0443\u0431\u0436\u0435 \u043a\u043e\u043f\u0430\u0442\u044c \u043d\u0435 \u0441\u0442\u0430\u043b.\u042d\u0442\u043e \u0440\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u041a\u043e\u0433\u0434\u0430 \u043b\u0435\u0441\u0435\u043d\u043a\u0430 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u0430, \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 gcc:N \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f: FROM gcc:10 AS builder \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043c\u0438\u043d\u043e\u0440\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 10.x. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 Dockerfile \u043d\u0438\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 &#8212;disable-bootstrap: \u0442\u0440\u0451\u0445\u0441\u0442\u0430\u0434\u0438\u0439\u043d\u0430\u044f \u0441\u0430\u043c\u043e\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 GCC \u0443\u0436\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430, \u0435\u0451 \u0440\u043e\u043b\u044c \u0441\u044b\u0433\u0440\u0430\u043b\u0430 \u043b\u0435\u0441\u0435\u043d\u043a\u0430.\u0421\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 Dockerfile \u0434\u043b\u044f GCC 10 (\u043f\u043e\u043b\u043d\u044b\u0439 \u2014 apps\/gcc\/10):FROM ghcr.io\/epicmorg\/gcc:10 AS builderARG GCC_MAJOR_VERSION=10ARG GCC_MINOR_VERSION=5.0ENV GCC_VERSION=${GCC_MAJOR_VERSION}.${GCC_MINOR_VERSION}ENV GCC_INSTALL_DIR=${EMG_LOCAL_BASE_DIR}\/gcc\/${GCC_MAJOR_VERSION}RUN set -eux; \\    aria2c -d \/tmp &#171;https:\/\/gcc.gnu.org\/pub\/gcc\/releases\/gcc-${GCC_VERSION}\/gcc-${GCC\\_VERSION}.tar.xz&#187; &amp;&amp; \\    tar -xf \/tmp\/gcc-${GCC_VERSION}.tar.xz -C \/tmp &amp;&amp; \\    cd \/tmp\/gcc-${GCC_VERSION} &amp;&amp; .\/contrib\/download_prerequisites &amp;&amp; \\    mkdir -p \/tmp\/gcc-build &amp;&amp; cd \/tmp\/gcc-build &amp;&amp; \\    \/tmp\/gcc-${GCC_VERSION}\/configure \\        &#8212;prefix=${GCC_INSTALL_DIR} \\        &#8212;enable-languages=c,c++ \\        &#8212;disable-multilib \\        &#8212;disable-bootstrap \\        &#8212;enable-checking=release \\        &#8212;enable-multiarch \\        &#8212;with-multiarch-defaults=x86_64-linux-gnu \\        &#8212;enable-default-pie \\        &#8212;enable-shared \\        &#8212;enable-threads=posix \\        &#8212;with-system-zlib &amp;&amp; \\    make -j$(nproc) &amp;&amp; make installENV PATH=&#187;${GCC_INSTALL_DIR}\/bin:${PATH}&#187;# \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u0438\u0434\u0438\u0442 multiarch-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 DebianRUN echo &#8216;#include &lt;bits\/wordsize.h&gt;&#8217; | gcc -E &#8212; &gt;\/dev\/nullFROM ghcr.io\/epicmorg\/debian:trixie-developCOPY &#8212;from=builder ${GCC_INSTALL_DIR} ${GCC_INSTALL_DIR}ENV PATH=&#187;${GCC_INSTALL_DIR}\/bin:${PATH}&#187;\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0443 \u043c\u0435\u043d\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0436\u0438\u0432\u0451\u0442 \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0435 \/usr\/local\/share\/epicmorg\/gcc\/10, \u0430 \u043d\u0435 \u0432 \/usr. \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 GCC 14 \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0434\u0435\u043b\u0441\u044f.\u0413\u0440\u0430\u0431\u043b\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430Multiarch. Debian \u043a\u043b\u0430\u0434\u0451\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0432 \/usr\/include\/x86_64-linux-gnu. GCC, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0431\u0435\u0437 &#8212;enable-multiarch &#8212;with-multiarch-defaults=x86_64-linux-gnu, \u0442\u0443\u0434\u0430 \u043d\u0435 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0435\u0442, \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 gmp.h: No such file or directory \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0447\u0443\u0434\u0435\u0441\u0430.\u0422\u0440\u0438\u043f\u043b\u0435\u0442\u044b. GCC 6 \u0438 \u0441\u0442\u0430\u0440\u0448\u0435 \u043b\u043e\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u044f\u0432\u043d\u044b\u0445 &#8212;build\/&#8212;host\/&#8212;target (This configuration is not supported\u2026). \u0414\u043b\u044f \u043d\u0438\u0445 \u044f \u0442\u0440\u0438\u043f\u043b\u0435\u0442\u044b \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e, \u043f\u0443\u0441\u0442\u044c configure \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442 \u0441\u0430\u043c.gcc \u2260 cc. \u0412 \u043e\u0431\u0440\u0430\u0437\u0435 gcc \u2014 \u044d\u0442\u043e \u043c\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u0430 cc \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 Debian. Autoconf \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438\u0449\u0435\u0442 \u0438\u0445 \u0432 \u0440\u0430\u0437\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435: Python \u043f\u0435\u0440\u0432\u044b\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442 gcc, PHP \u2014 cc. \u042d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0433\u0430\u0434\u0430\u0442\u044c, \u043a\u0442\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 sys.version. \u0418 \u043d\u0435 \u043d\u0430\u0434\u043e \u043d\u0430\u0441\u0438\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c CC=gcc11 \u00ab\u0434\u043b\u044f \u0435\u0434\u0438\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f\u00bb: \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u043b\u0438\u043d\u043a\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 trixie, \u0438 \u0443 PHP 7.3 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u0434\u0430\u0435\u0442 \u0432\u043e\u043e\u0431\u0449\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u0435\u0441\u0442 configure.libstdc++ \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439. \u0415\u0441\u043b\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0441\u043e\u0431\u0440\u0430\u043b GCC 14, \u0430 \u043b\u0438\u043d\u043a\u0443\u0435\u0442\u0435 \u0432\u044b \u0435\u0451 GCC 11 \u2014 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 undefined reference to \u2026@GLIBCXX_3.4.30. \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435: \u043a\u0442\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c, \u0442\u043e\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u0441 \u043d\u0435\u0439 \u043b\u0438\u043d\u043a\u0443\u0435\u0442\u0441\u044f.\u0421 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435.\u0427\u0430\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u0430\u044f. \u0421\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442 \u0438 \u043b\u043e\u0432\u0443\u0448\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439\u0418\u0442\u0430\u043a, \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c GCC 10, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u0430\u0440\u0438\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 Python 3.7. \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0434\u0435\u043b\u0430\u0439 .\/configure &amp;&amp; make \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0439 \u0448\u0430\u043c\u043f\u0430\u043d\u0441\u043a\u043e\u0435.\u041d\u043e \u0442\u0443\u0442 \u043c\u0435\u043d\u044f \u0436\u0434\u0430\u043b \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u043e\u0441\u0441 \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u0410 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u0432\u0430\u0440\u043d\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u2014 OpenSSL.\u0412 Debian 13 \u0438\u0434\u0451\u0442 OpenSSL 3.x. API\/ABI \u0443 \u043d\u0435\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c, \u0438 Python 3.7 \u0441 \u043d\u0438\u043c \u043d\u0435 \u0434\u0440\u0443\u0436\u0438\u0442. \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443, \u043f\u0438\u0442\u043e\u043d \u0440\u0430\u0434\u043e\u0441\u0442\u043d\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u043a\u0430\u0436\u0435\u0442, \u0447\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c ssl \u043d\u0435 \u0441\u043e\u0431\u0440\u0430\u043d. \u041f\u0438\u0442\u043e\u043d \u0431\u0435\u0437 SSL \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u044f\u0445 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d: \u043d\u0438 pip install, \u043d\u0438 HTTPS-\u0437\u0430\u043f\u0440\u043e\u0441\u0430.\u0417\u043d\u0430\u0447\u0438\u0442, OpenSSL \u0442\u043e\u0436\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u0441\u0430\u043c. \u041f\u043e\u0434 \u043a\u0430\u0436\u0434\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e Python \u0441\u0432\u043e\u044f \u0441\u0432\u044f\u0437\u043a\u0430 \u2014 \u0432\u043e\u0442 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:PythonOpenSSLGCCpip \/ setuptools\u0417\u0430\u043c\u0435\u0442\u043a\u04382.61.0.2u4.99.0.3 \/ 36.8.0\u043d\u0435\u0442 SNI2.71.1.1w1120.3.4 \/ 44.1.13.0, 3.11.0.2u4.9\u2014\u043d\u0435\u0442 pip, \u043d\u0435\u0442 SNI3.21.0.2u4.97.1.2 \/ 29.0.13.31.0.2u710.0.1 \/ 39.2.03.41.0.2u719.1.1 \/ 43.0.03.51.1.1w720.3.4 \/ 50.3.23.61.1.1w921.3.1 \/ 59.6.03.71.1.1w1024.0 \/ 68.0.03.81.1.1w1025.0.1 \/ 75.3.23.91.1.1w1026.0.1 \/ 80.9.03.10 \u2013 3.123.5.x (LTS)13\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u04353.13 \u2013 3.143.5.x (LTS)14\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u04353.153.5.x (LTS)15\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435pre-releaseOpenSSL 1.0.2 \u0432 EOL \u0441 \u043a\u043e\u043d\u0446\u0430 2019 \u0433\u043e\u0434\u0430, 1.1.1 \u2014 \u0441 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2023-\u0433\u043e. \u0414\u043b\u044f \u043d\u043e\u0432\u044b\u0445 \u043f\u0438\u0442\u043e\u043d\u043e\u0432 \u044f \u0431\u0435\u0440\u0443 3.5 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u044d\u0442\u043e LTS (\u0434\u043e 2030 \u0433\u043e\u0434\u0430). 3.6 \u0438 4.0 \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044e.\u041a\u0443\u0434\u0430 \u043a\u043b\u0430\u0441\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438?\u0412\u043e\u0442 \u0442\u0443\u0442 \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0440\u0430\u0437\u0432\u0438\u043b\u043a\u0430.\u0412\u0430\u0440\u0438\u0430\u043d\u0442 1: \/usr\/lib, \/usr\/local\/lib \u0438\u043b\u0438 \/etc\/ld.so.conf.d. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u044b\u0441\u0442\u0440\u0435\u043b\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u0432 \u043d\u043e\u0433\u0443. \u0420\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043f\u043e\u0434\u0442\u044f\u043d\u0435\u0442 \u0432\u0430\u0448\u0443 libssl \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0439 \u2014 \u0438 \u043f\u0440\u0438\u0432\u0435\u0442.\u0412\u0430\u0440\u0438\u0430\u043d\u0442 2: LD_LIBRARY_PATH. \u041a\u043e\u0441\u0442\u044b\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0432\u0441\u0435 \u0442\u0430\u043a \u043b\u044e\u0431\u0438\u043c. \u041e\u043d \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0435\u0433\u043e \u043f\u043e\u0442\u043e\u043c\u043a\u043e\u0432: \u043f\u0438\u0442\u043e\u043d \u0432\u044b\u0437\u0432\u0430\u043b curl \u0438\u043b\u0438 git \u2014 \u0438 \u043e\u043d\u0438 \u0442\u043e\u0436\u0435 \u043f\u043e\u0448\u043b\u0438 \u0437\u0430 \u0432\u0430\u0448\u0438\u043c \u0441\u0442\u0430\u0440\u044b\u043c OpenSSL.\u0412\u0430\u0440\u0438\u0430\u043d\u0442 3: \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0430. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0434\u043d\u0443 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 CVE \u2014 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0441 \u043d\u0435\u0439 \u0441\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043e. \u0414\u0430 \u0438 \u043d\u0435 \u0432\u0441\u044f\u043a\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0430 \u044d\u0442\u043e \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0441\u044f.\u042f \u043f\u043e\u0448\u0451\u043b \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u043c \u043f\u0443\u0442\u0451\u043c. \u041a\u0430\u0436\u0434\u0430\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0432 \u0441\u0432\u043e\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \/usr\/local\/share\/epicmorg\/&lt;\u0438\u043c\u044f&gt;\/&lt;\u0432\u0435\u0440\u0441\u0438\u044f&gt;, \u0430 \u043f\u0443\u0442\u0438 \u043a \u043d\u0438\u043c \u0432\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0432 ELF \u0447\u0435\u0440\u0435\u0437 RPATH:-Wl,-rpath,\/usr\/local\/share\/epicmorg\/openssl\/1.1.1\/lib\u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a (ld.so) \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0442 \u043f\u0443\u0442\u044c \u0438\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430 \u0438 \u043d\u0430\u0439\u0434\u0451\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0431\u0435\u0437 \u0432\u0441\u044f\u043a\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0447\u0438\u0441\u0442\u043e\u0439, \u0430 \u043c\u043e\u0439 \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043e\u0444\u0442 \u0445\u043e\u0434\u0438\u0442 \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u043a\u043e\u0441\u0442\u044b\u043b\u044f\u043c\u0438.\u0427\u0430\u0441\u0442\u044c \u0442\u0440\u0435\u0442\u044c\u044f. RPATH, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f RUNPATH\u0412\u043e\u0442 \u0442\u0443\u0442 \u0431\u044b\u043b\u043e \u0431\u043e\u043b\u044c\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e.\u0412 \u0441\u0435\u043a\u0446\u0438\u0438 .dynamic ELF-\u0444\u0430\u0439\u043b\u0430 \u043f\u0443\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u043b\u0435\u0436\u0430\u0442\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0434\u0432\u0443\u0445 \u0442\u0435\u0433\u043e\u0432:DT_RPATHDT_RUNPATH\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e LD_LIBRARY_PATH\u0432\u044b\u0448\u0435\u043d\u0438\u0436\u0435\u0414\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439\u0434\u0430\u043d\u0435\u0442-Wl,-rpath \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0443\u0442\u044c\u00bb. \u0410 \u0432 \u043a\u0430\u043a\u043e\u0439 \u0442\u0435\u0433 \u0435\u0433\u043e \u0437\u0430\u043f\u0438\u0448\u0435\u0442 \u043b\u0438\u043d\u043a\u0435\u0440, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0444\u043b\u0430\u0433 &#8212;enable-new-dtags \/ &#8212;disable-new-dtags. \u0418 \u043b\u0438\u043d\u043a\u0435\u0440 \u0432 Debian \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0438\u0448\u0435\u0442 RUNPATH, \u0445\u043e\u0442\u044f \u0432\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0438\u043b\u0438.\u0427\u0435\u043c \u044d\u0442\u043e \u043a\u043e\u043d\u0447\u0430\u0435\u0442\u0441\u044f? \u041a\u043b\u0430\u0441\u0441\u0438\u043a\u0430: libicuuc \u043d\u0430\u0448\u043b\u0430 \u0441\u0435\u0431\u044f \u043f\u043e RUNPATH, \u0430 libicudata, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0443\u0436\u0435 \u0441\u0430\u043c\u0430 libicuuc, \u2014 \u043d\u0435\u0442. RUNPATH \u043d\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0438 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 make \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435libicudata.so.73: cannot open shared object file: No such file or directory\u0445\u043e\u0442\u044f -rpath \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u0443\u0434\u0430 \u043d\u0430\u0434\u043e.\u041b\u0435\u0447\u0435\u043d\u0438\u0435 \u2014 \u044f\u0432\u043d\u043e \u0440\u044f\u0434\u043e\u043c \u0441 \u043a\u0430\u0436\u0434\u044b\u043c -rpath \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c -Wl,&#8212;disable-new-dtags \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:readelf -d python3.7 | grep -E &#8216;RPATH|RUNPATH|NEEDED&#8217;\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u044e\u0440\u043f\u0440\u0438\u0437 \u043e\u0442 Python. \u0412 distutils (\u0430 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u0438 \u0432\u0440\u043e\u0434\u0435 sqlite3) \u0444\u0443\u043d\u043a\u0446\u0438\u044f runtimelibrary_dir_option() \u0441\u0430\u043c\u0430 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 -Wl,&#8212;enable-new-dtags,-R&lt;dir&gt;. \u0422\u043e \u0435\u0441\u0442\u044c \u0432\u044b \u0432\u0441\u0451 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0430 \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 RUNPATH. \u041f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0430\u0442\u0447\u0438\u0442\u044c:RUN f=Lib\/distutils\/unixccompiler.py; \\    if grep -q &#8212; &#8216;&#8212;enable-new-dtags&#8217; &#171;$f&#187;; then \\      sed -i &#8216;s\/&#8212;enable-new-dtags\/&#8212;disable-new-dtags\/g&#8217; &#171;$f&#187;; \\    fi\u0427\u0430\u0441\u0442\u044c \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u0430\u044f. \u0421\u0431\u043e\u0440\u043a\u0430 Python 3.7\u041f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u2014 multi-stage Dockerfile. Zlib \u0438 OpenSSL 1.1.1w \u0443\u0436\u0435 \u043b\u0435\u0436\u0430\u0442 \u0432 \u0431\u0430\u0437\u043e\u0432\u043e\u043c build-\u043e\u0431\u0440\u0430\u0437\u0435 (debian:trixie-develop, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f gcc:10), \u043a\u0430\u0436\u0434\u044b\u0439 \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0435 \u0438 \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c RPATH. \u0421\u0430\u043c OpenSSL \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u0442 \u0442\u0430\u043a:CFLAGS=&#187;-Wno-error -fPIC&#187; .\/config \\    zlib &#8212;with-zlib-include=${ZLIB_DIR}\/include &#8212;with-zlib-lib=${ZLIB_DIR}\/lib \\    enable-ec_nistp_64_gcc_128 enable-ssl-trace threads shared \\    -Wl,-rpath,${OPENSSL_111_LIB_DIR} \\    -Wl,-rpath,${ZLIB_LIB_DIR} \\    -Wl,&#8212;disable-new-dtags \\    &#8212;release &#8212;prefix=${OPENSSL_111_DIR}\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: RPATH \u043d\u0430 zlib \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d \u0438 \u0432 \u0441\u0430\u043c\u043e\u043c libssl. \u0418\u043d\u0430\u0447\u0435 \u00ab\u043c\u043e\u0439\u00bb OpenSSL \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0438\u0442\u043e\u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 libz.\u0421\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 builder-\u0441\u043b\u043e\u0439 Python (\u043f\u043e\u043b\u043d\u044b\u0439 \u2014 apps\/python\/3.7):FROM ghcr.io\/epicmorg\/gcc:10 AS builderENV PYTHON_VERSION=3.7ENV PYTHON_FULL_VERSION=${PYTHON_VERSION}.17ENV&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-501066","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/501066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=501066"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/501066\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=501066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=501066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=501066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}