oakes / SolidOak

An IDE for Rust
https://sekao.net/solidoak/
The Unlicense
893 stars 60 forks source link

could not find native static library `termkey` #6

Closed ivanceras closed 9 years ago

ivanceras commented 9 years ago

I followed the installation instruction for linux (apt-get), im using ubuntu 14.04.

uname -a
Linux  3.13.0-46-generic #77-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux

cargo -V
cargo 0.0.1-pre-nightly (a58ffd7 2015-02-27) (built 2015-02-27)

rustc -V
rustc 1.0.0-nightly (b4c965ee8 2015-03-02) (built 2015-03-03)
Downloading rustc-serialize v0.3.1
   Compiling solidoak v0.1.0 (file:///media/disk3/playground/SolidOak)
   Compiling neovim-rs v0.0.9 (https://github.com/oakes/neovim-rs#dbaabf31)
   Compiling racer v0.0.1 (https://github.com/oakes/racer#fd596824)
   Compiling gcc v0.3.1
   Compiling c_vec v1.0.8 (https://github.com/oakes/c_vec-rs.git#6cb6f620)
   Compiling bitflags v0.1.1
   Compiling rustc-serialize v0.3.1
   Compiling libc v0.1.2
   Compiling pkg-config v0.3.0
   Compiling cairo-sys v0.1.0 (https://github.com/oakes/rgtk#01b611cf)
   Compiling gtk3-sys v0.1.0 (https://github.com/oakes/rgtk#01b611cf)
   Compiling glib-sys v0.1.0 (https://github.com/oakes/rgtk#01b611cf)
   Compiling gdk3-sys v0.1.0 (https://github.com/oakes/rgtk#01b611cf)
error: could not find native static library `termkey`, perhaps an -L flag is missing?
Build failed, waiting for other jobs to finish...
Could not compile `neovim-rs`.
oakes commented 9 years ago

I'm guessing you are still missing a dependency that neovim needs to build. Are you sure you ran both apt-get commands? As a test, try cloning my neovim repo and running make libnvim. If you have all the dependencies, it should finish without errors.

ivanceras commented 9 years ago

I tried checking out neovim repo then tried to compiled it. There were some errors that I manage to solve, but failed in the last one.

cmake -f CMakeLists.txt 
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find LibUV (missing: LIBUV_LIBRARY LIBUV_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindLibUV.cmake:92 (find_package_handle_standard_args)
  CMakeLists.txt:181 (find_package)

-- Configuring incomplete, errors occurred!
See also "~/playground/neovim/CMakeFiles/CMakeOutput.log".
See also "~/playground/neovim/CMakeFiles/CMakeError.log".

Solve by doing:

aptitude search libuv
sudo apt-get install libuv0.10 libuv-dev
cmake -f CMakeLists.txt 
-- Found LibUV: /usr/lib/x86_64-linux-gnu/libuv.so  
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find Msgpack (missing: MSGPACK_LIBRARY MSGPACK_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindMsgpack.cmake:47 (find_package_handle_standard_args)
  CMakeLists.txt:184 (find_package)

-- Configuring incomplete, errors occurred!
See also "~/playground/neovim/CMakeFiles/CMakeOutput.log".
See also "~/playground/neovim/CMakeFiles/CMakeError.log".

Solved by doing

aptitude search msgpack
sudo apt-get install libmsgpack-dev libmsgpack3
cmake -f CMakeLists.txt 
-- Found Msgpack: /usr/lib/libmsgpack.so  
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find LuaJit (missing: LUAJIT_LIBRARY LUAJIT_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindLuaJit.cmake:47 (find_package_handle_standard_args)
  CMakeLists.txt:187 (find_package)

Solved by doing:

aptitude search luajit  
sudo apt-get install luajit libluajit-5.1-2 libluajit-5.1-dev

However, this last one I can't find which library package it uses

cmake -f CMakeLists.txt 
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find LibUnibilium (missing: LIBUNIBILIUM_LIBRARY
  LIBUNIBILIUM_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindLibUnibilium.cmake:45 (find_package_handle_standard_args)
  CMakeLists.txt:191 (find_package)

I do see the libraries found in this directory of your project.

https://github.com/neovim/deps/tree/master/linux-x86/usr/lib So with the libtermkey.so library which SolidOak is looking for. Maybe there are some library paths I need to set?

oakes commented 9 years ago

You shouldn't need to install those libraries, because that project actually downloads and builds them itself. They should be in the .deps/usr/lib directory of the neovim repo. Do you see anything there?

oakes commented 9 years ago

Wait, you shouldn't be running cmake directly. You need to run make libnvim. The makefile takes care of downloading those dependencies and building them.

oakes commented 9 years ago

I'll close for now. Please let me know if you still have issues; hopefully your problem is related to what I mentioned.

ivanceras commented 9 years ago

Wait, I got confused. I checkout neovim, then issued make libnvim, I did a git reset --hard just to make sure.

I got these error

make libnvim
mkdir -p .deps
cd .deps && \
        cmake -G 'Ninja'  \
         ../third-party
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- broken
CMake Error at /usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "/usr/bin/cc" is not able to compile a simple test program.

  It fails with the following output:

   Change Dir: ~/playground/neovim/.deps/CMakeFiles/CMakeTmp

  Run Build Command:/usr/sbin/ninja cmTryCompileExec3803394580

  log: reading configuration file: cmTryCompileExec3803394580

  die: error: unable to read configuration file

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:3 (project)

-- Configuring incomplete, errors occurred!
See also "~/playground/neovim/.deps/CMakeFiles/CMakeOutput.log".
See also "~/playground/neovim/.deps/CMakeFiles/CMakeError.log".
make: *** [build/.ran-third-party-cmake] Error 1

cat ~/playground/neovim/.deps/CMakeFiles/CMakeError.log

Determining if the C compiler works failed with the following output:
Change Dir: /media/disk3/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec223509807
log: reading configuration file: cmTryCompileExec223509807

die: error: unable to read configuration file

Determining if the C compiler works failed with the following output:
Change Dir: /media/disk3/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec3226823625
log: reading configuration file: cmTryCompileExec3226823625

die: error: unable to read configuration file

Determining if the C compiler works failed with the following output:
Change Dir: /home/lee/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec1835366518
log: reading configuration file: cmTryCompileExec1835366518

die: error: unable to read configuration file

Determining if the C compiler works failed with the following output:
Change Dir: /home/lee/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec1507788981
log: reading configuration file: cmTryCompileExec1507788981

die: error: unable to read configuration file

Determining if the C compiler works failed with the following output:
Change Dir: /home/lee/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec1777579492
die: error: unable to read configuration filelog: reading configuration file: cmTryCompileExec1777579492

Determining if the C compiler works failed with the following output:
Change Dir: /home/lee/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec1651889284
log: reading configuration file: cmTryCompileExec1651889284

die: error: unable to read configuration file

Determining if the C compiler works failed with the following output:
Change Dir: /home/lee/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec3353462976
log: reading configuration file: cmTryCompileExec3353462976

die: error: unable to read configuration file

Determining if the C compiler works failed with the following output:
Change Dir: /home/lee/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec4245839523
die: error: unable to read configuration filelog: reading configuration file: cmTryCompileExec4245839523

Determining if the C compiler works failed with the following output:
Change Dir: /home/lee/playground/neovim/.deps/CMakeFiles/CMakeTmp

Run Build Command:/usr/sbin/ninja cmTryCompileExec3803394580
log: reading configuration file: cmTryCompileExec3803394580

die: error: unable to read configuration file
oakes commented 9 years ago

I'll reopen since it still doesn't work, but I'm not sure what is going on. The "unable to read configuration file" error seems like a permissions problem, but that's just a guess.

ivanceras commented 9 years ago

I did an installation in my home computer and it was working just fine. I'm pretty sure, I must have configured my office computer strange enough already.