Problem with atom-clang


#1

Hello everyone,

I am currently setting up a new machine and trying to get everything installed like it is on my main machine.
I was able to make an image and install libaries and packages from it. Every program (netbeans, mysql, …) is working and has the same configuration as my main.
Only atom with the clang package is making problems.

I installed clang manually using

sudo apt-get install clang

and

sudo apt-get install libclang-3.8-dev
sudo apt-get install llvm

as suggested in some posts I found.

But when I try to install atom-clang from the Atom settings I get an error message

 > atom-clang@1.0.21 install /tmp/apm-install-dir-1181013-7080-9ufqld.3zgxpqfr/node_modules/atom-clang
> node-gyp rebuild


usage: llvm-config <OPTION>... [<COMPONENT>...]

Get various configuration information needed to compile programs which use
LLVM.  Typically called from 'configure' scripts.  Examples:
  llvm-config --cxxflags
  llvm-config --ldflags
  llvm-config --libs engine bcreader scalaropts

Options:
  --version         Print LLVM version.
  --prefix          Print the installation prefix.
  --src-root        Print the source root LLVM was built from.
  --obj-root        Print the object root used to build LLVM.
  --bindir          Directory containing LLVM executables.
  --includedir      Directory containing LLVM headers.
  --libdir          Directory containing LLVM libraries.
  --cppflags        C preprocessor flags for files that include LLVM headers.
  --cflags          C compiler flags for files that include LLVM headers.
  --cxxflags        C++ compiler flags for files that include LLVM headers.
  --ldflags         Print Linker flags.
  --libs            Libraries needed to link against LLVM components.
  --libnames        Bare library names for in-tree builds.
  --libfiles        Fully qualified library filenames for makefile depends.
  --components      List of all possible components.
  --targets-built   List of all targets currently built.
  --host-target     Target triple used to configure LLVM.
  --build-mode      Print build mode of LLVM tree (e.g. Debug or Release).
Typical components:
  all               All LLVM libraries (default).
  engine            Either a native JIT or a bitcode interpreter.
gyp: Call to '/usr/bin/llvm-config --system-libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/opt/atom/resources/app/apm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.0-130-generic
gyp ERR! command "/opt/atom/resources/app/apm/bin/node" "/opt/atom/resources/app/apm/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-1181013-7080-9ufqld.3zgxpqfr/node_modules/atom-clang
gyp ERR! node -v v6.9.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
npm WARN enoent ENOENT: no such file or directory, open '/tmp/apm-install-dir-1181013-7080-9ufqld.3zgxpqfr/package.json'
npm WARN apm-install-dir-1181013-7080-9ufqld.3zgxpqfr No description
npm WARN apm-install-dir-1181013-7080-9ufqld.3zgxpqfr No repository field.
npm WARN apm-install-dir-1181013-7080-9ufqld.3zgxpqfr No README data
npm WARN apm-install-dir-1181013-7080-9ufqld.3zgxpqfr No license field.
npm ERR! Linux 4.4.0-130-generic
npm ERR! argv "/opt/atom/resources/app/apm/bin/node" "/opt/atom/resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/home/stefan/.atom/.apm/.apmrc" "--userconfig" "/home/stefan/.atom/.apmrc" "install" "/tmp/d-1181013-7080-103ldq1.hurly833di/package.tgz" "--runtime=electron" "--target=1.7.11" "--arch=ia32" "--global-style"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! atom-clang@1.0.21 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the atom-clang@1.0.21 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the atom-clang package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs atom-clang
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls atom-clang
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/apm-install-dir-1181013-7080-9ufqld.3zgxpqfr/npm-debug.log

I cant find any indication what the problem is. What am I missing?

Thanks for the help


#2

This is the problem:

gyp: Call to '/usr/bin/llvm-config --system-libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp

If you look at the output from the llvm-config command, you’ll see that there’s no --system-libs switch listed. I would guess that atom-clang was designed for a different version of LLVM. Does atom-clang work on your old computer? Are the two computers running the same OS?


#4

My main machine uses: Ubuntu 16.04
All other use either 16.04 or 14.04

Using

llvm-config

there is no --system-libs, but

llvm-config-3.8

has --system-libs!

How can I change the path in Atom so that I can use llvm-3.8?


#5

I solved it somehow.
I did not install atom-clang and deactived

clangd

for some reason automcomplete is working fine (at least for my needs -> Arduino programming).
I tested the “new configuration” image on a new 14.04 machine and so far everything is working fine.