На AWS Lambda, как я могу заменить стандартную libstdc ++. So.6 - PullRequest
0 голосов
/ 07 марта 2019

В стандартном дистрибутиве AWS Lambda

/usr/lib64/libstdc++.so.6

символические ссылки на

libstdc++.so.6.0.19

Я использую программное обеспечение, которому требуется более новая версия, libstdc++.so.6.0.24

Сначала я попытался изменить символическую ссылку, но у пользователя по умолчанию нет достаточных привилегий.

Затем я попытался запустить как sudo, но, очевидно, это не разрешено с лямбда-функцией.

Как заменить символическую ссылку по умолчанию для использования более новой библиотеки?

1 Ответ

1 голос
/ 07 марта 2019

Я бы попытался добавить нужную версию библиотеки в лямбда-слой (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)

Они распаковываются в /opt во время выполнения и добавляются в PATH и LD_LIBRARY_PATH, так что они будут загружены загрузчиком до собственного.

Обязательно включите двоичный файл, скомпилированный для Amazon Linux, поскольку это базовый дистрибутив, используемый AWS Lambda.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...