lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hello all and sorry for bumping this really old post of mine.

2015-05-06 11:25 GMT+02:00 Christophe Jorssen <jorssen.leraincy@free.fr>:
> Hello all,
>
> I'm trying to install the lua wrapper provided with coolprop
> (http://www.coolprop.org/) under debian sid i386 with lua 5.2 (long term
> goal: call coolprop from luatex).
>
> I followed the instruction found here
> (https://github.com/CoolProp/CoolProp/tree/master/wrappers/Lua) that is:
>
> *Manual Lua (PUC) Installation*
>
> 1. First you need to build shared library version of a CoolLib library and
> install it somewhere in your operating system's library search path
> (instructions are here :
> http://www.coolprop.org/coolprop/wrappers/SharedLibrary/index.html).
> 2. Next you need to compile coolprop/cpapi.c wrapper. Easiest way to do it
> is to run make on Lua wrapper's root folder.
> 3. Then place the resulting coolprop/cpapi.so in your Lua's package.cpath,
> and there under coolprop directory.
> 4. Done.
>
> But running lua example.lua from the CoolProp/wrappers/Lua directory
> complains:
>
> lua: /usr/share/lua/5.2/coolprop.lua:13: Unable to load Lua CoolProp C API
> Wrapper.
> stack traceback:
> [C]: in function 'assert'
> /usr/share/lua/5.2/coolprop.lua:13: in main chunk
> [C]: in function 'require'
> example.lua:1: in main chunk
> [C]: in ?
>
> Lines 12 and 13 of coolprop.lua are:
>
> local ok, capi = pcall(require, "coolprop.capi")
> assert(ok, "Unable to load Lua CoolProp C API Wrapper.")
>
> Indeed, there is no coolprop.capi there. Any idea of something I may have
> done wrong?
>

I tried again with a fresh install of a debian jessie.

Here is what I did.

1) Install lua5.2

2) Make my own luarocks (as debian does not support lua5.2 for luarocks AFAIU)
This is my ./configure command line

./configure --prefix=$HOME/luarocks --lua-version=5.2

3) luarocks works ok and then I set paths as said in the doc that is :
eval $(luarocks path --bin)

FYI :

export LUA_PATH='/home/christophe/.luarocks/share/lua/5.2/?.lua;/home/christophe/.luarocks/share/lua/5.2/?/init.lua;/home/christophe/luarocks/share/lua/5.2/?.lua;/home/christophe/luarocks/share/lua/5.2/?/init.lua;/usr/local/share/lua/5.2/?.lua;/usr/local/share/lua/5.2/?/init.lua;/usr/local/lib/lua/5.2/?.lua;/usr/local/lib/lua/5.2/?/init.lua;/usr/share/lua/5.2/?.lua;/usr/share/lua/5.2/?/init.lua;./?.lua'
export LUA_CPATH='/home/christophe/.luarocks/lib/lua/5.2/?.so;/home/christophe/luarocks/lib/lua/5.2/?.so;/usr/local/lib/lua/5.2/?.so;/usr/lib/x86_64-linux-gnu/lua/5.2/?.so;/usr/lib/lua/5.2/?.so;/usr/local/lib/lua/5.2/loadall.so;./?.so'
export PATH='/home/christophe/.luarocks/bin:/home/christophe/luarocks/bin:/home/christophe/bin:/opt/texbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games'

4) As Hisham recommanded :
git clone git@github.com:ipese/LuaCoolProp.git

then followed instructions there for linux after editing the Makefile
to make it work for lua5.2

luarocks --local build luacoolprop-scm-1.rockspec
luarocks --local pack luacoolprop
luarocks install luacoolprop-scm-1.linux-x86_64.rock

now here is my directory structure for luarocks (I removed the
.luarocks/ dir and I installed luasec and luasokuet rocks).

luarocks/
├── bin
│   ├── luarocks -> luarocks-5.2
│   ├── luarocks-5.2
│   ├── luarocks-admin -> luarocks-admin-5.2
│   └── luarocks-admin-5.2
├── etc
│   └── luarocks
│       └── config-5.2.lua
├── lib
│   ├── lua
│   │   └── 5.2
│   │       ├── coolprop
│   │       │   └── capi.so
│   │       ├── mime
│   │       │   └── core.so
│   │       ├── socket
│   │       │   ├── core.so
│   │       │   ├── serial.so
│   │       │   └── unix.so
│   │       └── ssl.so
│   └── luarocks
│       └── rocks
│           ├── luacoolprop
│           │   └── scm-1
│           │       ├── doc
│           │       │   ├── LICENSE
│           │       │   └── README.md
│           │       ├── luacoolprop-scm-1.rockspec
│           │       └── rock_manifest
│           ├── luasec
│           │   └── 0.6-1
│           │       ├── luasec-0.6-1.rockspec
│           │       ├── rock_manifest
│           │       └── samples
│           │           ├── certs
│           │           │   ├── all.bat
│           │           │   ├── clientA.bat
│           │           │   ├── clientA.cnf
│           │           │   ├── clientA.sh
│           │           │   ├── clientB.bat
│           │           │   ├── clientB.cnf
│           │           │   ├── clientB.sh
│           │           │   ├── rootA.bat
│           │           │   ├── rootA.cnf
│           │           │   ├── rootA.sh
│           │           │   ├── rootB.bat
│           │           │   ├── rootB.cnf
│           │           │   ├── rootB.sh
│           │           │   ├── serverA.bat
│           │           │   ├── serverA.cnf
│           │           │   ├── serverA.sh
│           │           │   ├── serverB.bat
│           │           │   ├── serverB.cnf
│           │           │   └── serverB.sh
│           │           ├── chain
│           │           │   ├── client.lua
│           │           │   ├── server.lua
│           │           │   └── util.lua
│           │           ├── dhparam
│           │           │   ├── client.lua
│           │           │   ├── params.sh
│           │           │   └── server.lua
│           │           ├── digest
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── ecdh
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── info
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── key
│           │           │   ├── genkey.sh
│           │           │   └── loadkey.lua
│           │           ├── loop
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── loop-gc
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── oneshot
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── README
│           │           ├── sni
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── verification
│           │           │   ├── fail-string
│           │           │   │   ├── client.lua
│           │           │   │   └── server.lua
│           │           │   ├── fail-table
│           │           │   │   ├── client.lua
│           │           │   │   └── server.lua
│           │           │   └── success
│           │           │       ├── client.lua
│           │           │       └── server.lua
│           │           ├── verify
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── want
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           ├── wantread
│           │           │   ├── client.lua
│           │           │   └── server.lua
│           │           └── wantwrite
│           │               ├── client.lua
│           │               └── server.lua
│           ├── luasocket
│           │   └── 3.0rc1-2
│           │       ├── doc
│           │       │   ├── dns.html
│           │       │   ├── ftp.html
│           │       │   ├── http.html
│           │       │   ├── index.html
│           │       │   ├── installation.html
│           │       │   ├── introduction.html
│           │       │   ├── ltn12.html
│           │       │   ├── lua05.ppt
│           │       │   ├── luasocket.png
│           │       │   ├── mime.html
│           │       │   ├── reference.css
│           │       │   ├── reference.html
│           │       │   ├── smtp.html
│           │       │   ├── socket.html
│           │       │   ├── tcp.html
│           │       │   ├── udp.html
│           │       │   └── url.html
│           │       ├── etc
│           │       │   ├── b64.lua
│           │       │   ├── check-links.lua
│           │       │   ├── check-memory.lua
│           │       │   ├── cookie.lua
│           │       │   ├── dict.lua
│           │       │   ├── dispatch.lua
│           │       │   ├── eol.lua
│           │       │   ├── forward.lua
│           │       │   ├── get.lua
│           │       │   ├── links
│           │       │   ├── lp.lua
│           │       │   ├── qp.lua
│           │       │   ├── README
│           │       │   └── tftp.lua
│           │       ├── luasocket-3.0rc1-2.rockspec
│           │       ├── rock_manifest
│           │       ├── samples
│           │       │   ├── cddb.lua
│           │       │   ├── daytimeclnt.lua
│           │       │   ├── echoclnt.lua
│           │       │   ├── echosrvr.lua
│           │       │   ├── listener.lua
│           │       │   ├── lpr.lua
│           │       │   ├── mclisten.lua
│           │       │   ├── mcsend.lua
│           │       │   ├── README
│           │       │   ├── talker.lua
│           │       │   └── tinyirc.lua
│           │       └── test
│           │           ├── auth
│           │           │   └── index.html
│           │           ├── cgi
│           │           │   ├── cat
│           │           │   ├── cat-index-html
│           │           │   ├── env
│           │           │   ├── query-string
│           │           │   ├── redirect-loop
│           │           │   └── request-uri
│           │           ├── dicttest.lua
│           │           ├── excepttest.lua
│           │           ├── find-connect-limit
│           │           ├── ftptest.lua
│           │           ├── hello.lua
│           │           ├── httptest.lua
│           │           ├── index.html
│           │           ├── ltn12test.lua
│           │           ├── luasocket.png
│           │           ├── mimetest.lua
│           │           ├── README
│           │           ├── smtptest.lua
│           │           ├── stufftest.lua
│           │           ├── tcp-getoptions
│           │           ├── test_bind.lua
│           │           ├── testclnt.lua
│           │           ├── test_getaddrinfo.lua
│           │           ├── testmesg.lua
│           │           ├── test_socket_error.lua
│           │           ├── testsrvr.lua
│           │           ├── testsupport.lua
│           │           ├── tftptest.lua
│           │           ├── udpconnectclnt.lua
│           │           ├── udpconnectsrvr.lua
│           │           ├── udp-zero-length-send
│           │           ├── udp-zero-length-send-recv
│           │           ├── unixclnt.lua
│           │           ├── unixsrvr.lua
│           │           ├── upload.html
│           │           ├── urltest.lua
│           │           ├── utestclnt.lua
│           │           └── utestsrvr.lua
│           └── manifest
└── share
    └── lua
        └── 5.2
            ├── coolprop
            │   └── ffi.lua
            ├── coolprop.lua
            ├── ltn12.lua
            ├── luarocks
            │   ├── add.lua
            │   ├── admin_remove.lua
            │   ├── build
            │   │   ├── builtin.lua
            │   │   ├── cmake.lua
            │   │   ├── command.lua
            │   │   └── make.lua
            │   ├── build.lua
            │   ├── cache.lua
            │   ├── cfg.lua
            │   ├── command_line.lua
            │   ├── config_cmd.lua
            │   ├── deps.lua
            │   ├── dir.lua
            │   ├── doc.lua
            │   ├── download.lua
            │   ├── fetch
            │   │   ├── cvs.lua
            │   │   ├── git_file.lua
            │   │   ├── git_http.lua
            │   │   ├── git_https.lua
            │   │   ├── git.lua
            │   │   ├── git_ssh.lua
            │   │   ├── hg_http.lua
            │   │   ├── hg_https.lua
            │   │   ├── hg.lua
            │   │   ├── hg_ssh.lua
            │   │   ├── sscm.lua
            │   │   └── svn.lua
            │   ├── fetch.lua
            │   ├── fs
            │   │   ├── lua.lua
            │   │   ├── tools.lua
            │   │   ├── unix
            │   │   │   └── tools.lua
            │   │   ├── unix.lua
            │   │   ├── win32
            │   │   │   └── tools.lua
            │   │   └── win32.lua
            │   ├── fs.lua
            │   ├── help.lua
            │   ├── index.lua
            │   ├── install.lua
            │   ├── lint.lua
            │   ├── list.lua
            │   ├── loader.lua
            │   ├── make.lua
            │   ├── make_manifest.lua
            │   ├── manif_core.lua
            │   ├── manif.lua
            │   ├── new_version.lua
            │   ├── pack.lua
            │   ├── path_cmd.lua
            │   ├── path.lua
            │   ├── persist.lua
            │   ├── purge.lua
            │   ├── refresh_cache.lua
            │   ├── remove.lua
            │   ├── repos.lua
            │   ├── require.lua
            │   ├── search.lua
            │   ├── show.lua
            │   ├── site_config.lua
            │   ├── tools
            │   │   ├── patch.lua
            │   │   ├── tar.lua
            │   │   └── zip.lua
            │   ├── type_check.lua
            │   ├── unpack.lua
            │   ├── upload
            │   │   ├── api.lua
            │   │   └── multipart.lua
            │   ├── upload.lua
            │   ├── util.lua
            │   ├── validate.lua
            │   └── write_rockspec.lua
            ├── mime.lua
            ├── socket
            │   ├── ftp.lua
            │   ├── headers.lua
            │   ├── http.lua
            │   ├── smtp.lua
            │   ├── tp.lua
            │   └── url.lua
            ├── socket.lua
            ├── ssl
            │   └── https.lua
            └── ssl.lua

Finally :

christophe@uranium:~$ lua
Lua 5.2.3  Copyright (C) 1994-2013 Lua.org, PUC-Rio
> require'coolprop'
/home/christophe/luarocks/share/lua/5.2/coolprop.lua:13: Unable to
load Lua CoolProp C API Wrapper.
stack traceback:
[C]: in function 'assert'
/home/christophe/luarocks/share/lua/5.2/coolprop.lua:13: in main chunk
[C]: in function 'require'
stdin:1: in main chunk
[C]: in ?
>

Same error as last year...

Do you have an idea why it still does not work?

Thanks

-- 
Christophe