tarantool / docker

Docker images for tarantool database
https://hub.docker.com/r/tarantool/tarantool
52 stars 25 forks source link

libpq is missing from docker images based on alpine 3.9 #189

Closed imb590 closed 3 years ago

imb590 commented 4 years ago

require('pg') causes the following error:

LuajitError: error: "/.rocks/share/tarantool/pg/init.lua:4: module 'pg.driver' not found:
    no field package.preload['pg.driver']
    no file '/opt/tarantool/pg/driver.lua'
    no file '/opt/tarantool/pg/driver/init.lua'
    no file '/opt/tarantool/pg/driver.so'
    no file '/opt/tarantool/.rocks/share/tarantool/pg/driver.lua'
    no file '/opt/tarantool/.rocks/share/tarantool/pg/driver/init.lua'
    no file '/opt/.rocks/share/tarantool/pg/driver.lua'
    no file '/opt/.rocks/share/tarantool/pg/driver/init.lua'
    no file '/.rocks/share/tarantool/pg/driver.lua'
    no file '/.rocks/share/tarantool/pg/driver/init.lua'
    Error loading shared library libpq.so.5: No such file or directory (needed by /.rocks/lib/tarantool/pg/driver.so)
    no file '/home/tarantool/.luarocks/share/lua/5.1/pg/driver.lua'
    no file '/home/tarantool/.luarocks/share/lua/5.1/pg/driver/init.lua'
    no file '/home/tarantool/.luarocks/share/lua/pg/driver.lua'
    no file '/home/tarantool/.luarocks/share/lua/pg/driver/init.lua'
    no file '/usr/local/share/tarantool/pg/driver.lua'
    no file '/usr/local/share/tarantool/pg/driver/init.lua'
    no file '/usr/share/tarantool/pg/driver.lua'
    no file '/usr/share/tarantool/pg/driver/init.lua'
    no file '/usr/local/share/lua/5.1/pg/driver.lua'
    no file '/usr/local/share/lua/5.1/pg/driver/init.lua'
    no file '/usr/share/lua/5.1/pg/driver.lua'
    no file '/usr/share/lua/5.1/pg/driver/init.lua'
    no file '/home/tarantool/.luarocks/lib/lua/5.1/pg/driver.so'
    no file '/home/tarantool/.luarocks/lib/lua/pg/driver.so'
    no file '/usr/local/lib64/tarantool/pg/driver.so'
    no file '/usr/local/lib/tarantool/pg/driver.so'
    no file '/usr/lib64/tarantool/pg/driver.so'
    no file '/usr/local/lib64/lua/5.1/pg/driver.so'
    no file '/usr/local/lib/lua/5.1/pg/driver.so'
    no file '/usr/lib64/lua/5.1/pg/driver.so'
    no file '/home/tarantool/.luarocks/lib/lua/5.1/pg.so'
    no file '/home/tarantool/.luarocks/lib/lua/pg.so'
    no file '/usr/local/lib64/tarantool/pg.so'
    no file '/usr/local/lib/tarantool/pg.so'
    no file '/usr/lib64/tarantool/pg.so'
    no file '/usr/local/lib64/lua/5.1/pg.so'
    no file '/usr/local/lib/lua/5.1/pg.so'
    no file '/usr/lib64/lua/5.1/pg.so'"

because the dependency of /.rocks/lib/tarantool/pg/driver.so is not present.

It seems that in alpine 3.9 apk add treats the second call with the same virtual package --virtual run-deps here as no-op and does not install anything.