torch / torch7

http://torch.ch
Other
9k stars 2.38k forks source link

Sdantalone installation and CMAKE_INSTALL_PREFIX #971

Open audetto opened 7 years ago

audetto commented 7 years ago

Hi I am trying to configure, build and install torch7 without the distro install.sh

Everything seems to work except the fact that CMAKE_INSTALL_PREFIX is ignored/overwritten. Basically the output of the compilation is

1) some .lua files: they go to LUADIR 2) some .so lua modules: they go to LIBDIR 3) some other libs (libTH): they go to the source folder. 4) some other things like header files, cmake rules..

I am not sure how 3 happens, but it seems that something it is overwriting CMAKE_INSTALL_PREFIX to the source folder.

Is it possible to specify the output folder of these extra libs? For a system wide install they should go to the usual /usr/lib location. For a simpler installation, they can go in the same place as 2 since they have RPATH=$ORIGIN (so I do not need LD_LIBRARY_PATH)

This is the way I invoke cmake

cmake path/to/torch -DLUA_INCDIR=/usr/include/luajit-2.0 -DLUA=/usr/bin/luajit -DCMAKE_INSTALL_PREFIX=/usr -DLUADIR=/usr/share/lua/5.1 -DLIBDIR=/usr/lib/lua/5.1

CMAKE_INSTALL_PREFIX=/usr does not seem to be used. Should I set some other variables?

Regards

audetto commented 7 years ago

I have understood better how the installation works.

CMAKE_INSTALL_PREFIX does not seem to be used

What it uses are

LUA_INCDIR LUADIR LIBDIR LUA_LIBDIR LUA_BINDIR

and CMAKE_INSTALL_PREFIX is implied from LUA_BINDIR.

This is probably not super orthodox, but it is clear now.

The only thing one might suggests is to decouple the LUA_INCDIR as it is now used both to read lua header files and as installation folder for torch header. So if I want to install to a separate (local) folder I cant as it tries to write output in the same place where it got the lua header files.

Regards