saleyn / eixx

Erlang C++ Interface
Apache License 2.0
137 stars 26 forks source link

INSTALL cannot find libeixx_d.so.1.4 #26

Closed matwey closed 8 years ago

matwey commented 8 years ago

Hello,

I do the following commands:

make -j8 distclean
make -j8 bootstrap prefix=/usr build=Release
make -j8 verbose=true
make install DESTDIR=/home/abuild/rpmbuild/BUILDROOT/eixx-1.4+git20160510.cd24f3d-1.1.x86_64
[  162s] CMake Error at src/cmake_install.cmake:58 (file):
[  162s]   file INSTALL cannot find
[  162s]   "/home/abuild/rpmbuild/BUILD/eixx-1.4+git20160510.cd24f3d/build/src/libeixx_d.so.1.4".
[  162s] Call Stack (most recent call first):
[  162s]   cmake_install.cmake:92 (include)
[  162s]   
[  162s] 
[  162s] 
[  162s] Makefile:71: recipe for target 'install' failed
[  162s] make[1]: *** [install] Error 1
[  162s] Makefile:47: recipe for target 'install' failed
[  162s] make: *** [install] Error 2
saleyn commented 8 years ago

I haven't figured out how to force cmake build targets for both "debug" and "release" in one pass.

The "release" installer also tries to install a "debug version" of the library (i.e. libeixx_d.so), which needs to be explicitly built.

Try this:

make bootstrap prefix=/usr build=debug
make src/libeixx_d.so
make rebootstrap build=release
make
make install
matwey commented 8 years ago

Why do you want to build both targets in one pass? As far as I know, nobody does this with cmake.

saleyn commented 8 years ago

Ideally I want to make sure that when release install is done, both release and debug versions of the library get installed. I haven't found an easier way to do that with cmake other than what I described above that reconfigures cmake in each of the two passes.