Ошибка: /lib/x86_64-linux-gnu/libm.so.6: версия `GLIBC_2.27 ' - PullRequest
0 голосов
/ 10 февраля 2019

Я создаю свой модуль узла (используя N-API) как для Mac (10.9+), так и для Linux (Ubuntu 18).При развертывании моего модуля на удаленной машине (на Heroku) я получаю:

Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /opt/atlassian/pipelines/agent/build/addons/Release-linux/module.node)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:717:18)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    (...)

Запуск ldd --version на обеих машинах:

~ $ ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.27

и:

~ $ ls /lib/x86_64-linux-gnu/
libm.so.6 (...)

Кроме того, я не уверен, почему необходима ссылка на libm, поскольку я не использую #include <math.h> в своем коде (компилятор неявно добавляет libm?).

Любая помощьбыл бы признателен.

1 Ответ

0 голосов
/ 10 февраля 2019

Вам необходимо развернуть операционную систему, совместимую с вашей средой сборки.Обычно это означает использование одной и той же версии распространения.В некоторых случаях также возможно развертывание в более новой версии того же дистрибутива.

Ваша версия Ubuntu использует glibc 2.27.Ваша цель развертывания использует что-то ранее, предположительно, либо Heroku-16 , либо Cedar-14 , поскольку вы сказали, что пытаетесь развернуть ее на Heroku.Вы должны либо пересобрать свое программное обеспечение в соответствующей среде сборки (например, с помощью pbuilder, либо с помощью виртуальной машины), либо выполнить развертывание во что-нибудь, совместимое с вашей версией Ubuntu (предположительно, Heroku-18 ).

...