#lua #rhel6
#lua #rhel6
Вопрос:
ОС: RHEL 6
Я пытаюсь обновить Lua, но, похоже, в более старой версии Lua есть несколько зависимостей, что затрудняет процесс обновления. Как мне поступить?
rpm -Uvh lua-5.3.0-2.el6.x86_64.rpm
warning: lua-5.3.0-2.el6.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 3c3ebe43: NOKEY
error: Failed dependencies:
liblua-5.1.so()(64bit) is needed by (installed) rpm-libs-4.8.0-55.el6.x86_64
liblua-5.1.so()(64bit) is needed by (installed) rpm-4.8.0-55.el6.x86_64
liblua-5.1.so()(64bit) is needed by (installed) rpm-python-4.8.0-55.el6.x86_64
liblua-5.1.so()(64bit) is needed by (installed) rpm-build-4.8.0-55.el6.x86_64
liblua-5.1.so()(64bit) is needed by (installed) rpm-devel-4.8.0-55.el6.x86_64
liblua-5.1.so()(64bit) is needed by (installed) gegl-0.1.2-6.el6.x86_64
liblua-5.1.so()(64bit) is needed by (installed) nmap-2:5.51-6.el6.x86_64
Комментарии:
1. Что означает «обновить Lua с 5.1 до 5.3»? Lua 5.1 и Lua 5.3 — разные несовместимые языки (скрипт для Lua 5.1, вероятно, не будет работать под 5.3). Разные версии Lua должны сосуществовать в одной системе без проблем.
2. @EgorSkriptunoff Я должен добавить примечание к вашему замечанию «Скрипт для Lua 5.1, вероятно, не будет запускаться под 5.3»; Когда Lua 5.3 будет скомпилирован с использованием
-DLUA_COMPAT_5_1
, вы сможете успешно запускать сценарии 5.1, однако скомпилированные модули — это другая история.3. @BasGroothedde — Это зависит. Если ваш сценарий Lua 5.1 использует
setfenv
, в Lua 5.3 ничего нельзя сделать для эмуляции поведения Lua 5.1.4. @EgorSkriptunoff Ну, вы действительно можете использовать debug.setupvalue и debug.getupvalue для этого, см. Это
5. @BasGroothedde — Да, это решает проблему с чистым кодом Lua 5.1 (если вы каким-то образом загружаете этот сценарий эмуляции перед выполнением каждой программы Lua 5.1)