clear-code / statistics

Statistics of ClearCode Inc. activity
Other
0 stars 2 forks source link

luarocks install xml でインストールできない #187

Open okkez opened 6 years ago

okkez commented 6 years ago

https://github.com/lubyk/xml

ちょっとタイトルと手元で実行したコマンドが違うけど。

$ luarocks install lua-requests
Warning: falling back to curl - install luasec to get native HTTPS support
Installing https://luarocks.org/lua-requests-1.2-0.src.rock
Missing dependencies for lua-requests 1.2-0:
   xml (not installed)
   luasec >= 0.5.1 (not installed)

lua-requests 1.2-0 depends on xml (not installed)
Installing https://luarocks.org/xml-1.1.3-1.src.rock

Error: Failed installing dependency: https://luarocks.org/xml-1.1.3-1.src.rock - Could not find library file for STDC++
  No file libstdc++.a in /usr/local/lib
  No file libstdc++.a in /usr/local/lib/x86_64-linux-gnu
  No file libstdc++.a in /usr/local/lib64
  No file libstdc++.so in /usr/local/lib
  No file libstdc++.so in /usr/local/lib/x86_64-linux-gnu
  No file libstdc++.so in /usr/local/lib64
  No file matching libstdc++.so.* in /usr/local/lib
  No file matching libstdc++.so.* in /usr/local/lib/x86_64-linux-gnu
  No file matching libstdc++.so.* in /usr/local/lib64
  No file libstdc++.a in /usr/lib
  No file libstdc++.a in /usr/lib/x86_64-linux-gnu
  No file libstdc++.a in /usr/lib64
  No file libstdc++.so in /usr/lib
  No file libstdc++.so in /usr/lib/x86_64-linux-gnu
  No file libstdc++.so in /usr/lib64
  No file matching libstdc++.so.* in /usr/lib
  No file matching libstdc++.so.* in /usr/lib/x86_64-linux-gnu
  No file matching libstdc++.so.* in /usr/lib64
  No file libstdc++.a in /lib
  No file libstdc++.a in /lib/x86_64-linux-gnu
  No file libstdc++.a in /lib64
  No file libstdc++.so in /lib
  No file libstdc++.so in /lib/x86_64-linux-gnu
  No file libstdc++.so in /lib64
  No file matching libstdc++.so.* in /lib
  No file matching libstdc++.so.* in /lib/x86_64-linux-gnu
  No file matching libstdc++.so.* in /lib64
You may have to install STDC++ in your system and/or pass STDC++_DIR or STDC++_LIBDIR to the luarocks command.
Example: luarocks install xml STDC++_DIR=/usr/local

https://github.com/lubyk/xml/blob/master/xml-1.1.3-1.rockspec#L61 を消すとインストールできるっぽい。

okkez commented 6 years ago

Debian sid だと以下のような感じで /usr/lib/gcc 以下にファイルはある。

$ locate libstdc++.a | grep -v home | grep -v /var | grep -v arm
/usr/lib/gcc/x86_64-linux-gnu/6/libstdc++.a
/usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.a
/usr/lib/gcc/x86_64-linux-gnu/8/libstdc++.a
system | v4.8.7 | none
$ locate libstdc++.so | grep -v home | grep -v /var | grep -v arm
/usr/lib/gcc/x86_64-linux-gnu/6/libstdc++.so
/usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so
/usr/lib/gcc/x86_64-linux-gnu/8/libstdc++.so
kou commented 6 years ago

apt install libstdc++6をしていないとか?

okkez commented 6 years ago

入ってますね。

$ dpkg -l | grep libstdc++6
ii  libstdc++6:amd64                       8.2.0-4                                 amd64        GNU Standard C++ Library v3

その後、簡単なPOSTをしようとしたら、エラーが出て動かないことに気付きました。

error loading module 'xml.core' from file '/home/kenji/.luaenv/versions/luajit-2.1.0-beta3/lib/lua/5.1/xml/core.so':
        /home/kenji/.luaenv/versions/luajit-2.1.0-beta3/lib/lua/5.1/xml/core.so: undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE
luajit-2.1.0-beta3: ...v/versions/luajit-2.1.0-beta3/share/lua/5.1/xml/init.lua:31: attempt to call field 'Parser' (a nil value)
stack traceback:
        ...v/versions/luajit-2.1.0-beta3/share/lua/5.1/xml/init.lua:31: in main chunk
        [C]: in function 'require'
        ...v/versions/luajit-2.1.0-beta3/share/lua/5.1/requests.lua:8: in main chunk
        [C]: in function 'require'
        x.lua:4: in main chunk
        [C]: at 0x563cb3ce8160
kou commented 6 years ago

入っているなら/usr/lib/x86_64-linux-gnu/libstdc++.so.6があるってことですよね? であれば↓で見つかるべきだと思うので、LuaRocksを直す必要があるんじゃないかしら。

  No file matching libstdc++.so.* in /usr/lib/x86_64-linux-gnu
okkez commented 6 years ago

/usr/lib/x86_64-linux-gnu/libstdc++.so.6 はありますね。 それで↓を試したところ、別のエラーが出たところです。

https://github.com/lubyk/xml/blob/master/xml-1.1.3-1.rockspec#L61 を消すとインストールできるっぽい。

okkez commented 6 years ago

luarocks 2.4.0 を使うようにしたら動くようになりました。 さっきまで luarocks 3.0.0 を使っていました。

kou commented 6 years ago

ではフィードバック先はLuaRocksですね。