Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NixOS compatibility #469

Open
sakshamsharma opened this issue Feb 27, 2018 · 5 comments
Open

NixOS compatibility #469

sakshamsharma opened this issue Feb 27, 2018 · 5 comments

Comments

@sakshamsharma
Copy link

sakshamsharma commented Feb 27, 2018

Firstly, thanks for this great tool!
So I intend this issue to cover all NixOS related issues, which I've spent some time on now. I've managed to solve some of them, but would still write them here for the future.
There may be many things intersecting with non-NixOS issues, or may have solutions which do not require knowledge of Nix, and that's where I'd really appreciate your help (I've already spent a lot of time to get a basic setup working).

Really sorry for the super long post coming up now 😄 I've spent wayy too long on this, and think I need some expert help now.

TLDR; std::xyz do not work, even though imports work fine. C headers work after hardcoding paths in .clang_complete, why is this not automatic?

Issues:

libclang is not found when irony-install-server is run. (Done, Finicky)

This is because Nix believes libraries should not be globally available. That means that there cannot be a globally available libclang (except in a buildFHSUserEnv nix-shell, still trying to make this build inside a nix-shell). So irony-install-server is rendered useless. I instead use the irony-server-1.2.0 binary built by nixpkgs (compatible with current melpa version).
Here is the nix recipe for irony-server.

For some reason, I sometimes found the irony-server-1.1.0 installed on my system, which threw errors. I have no idea why that happened, it isn't happening now and I'm happy. Although, this may be of relevance. If someone can explain, it'll be great:

> nix-env -qaP irony-server
nixos.irony-server    irony-server-1.1.0
nixpkgs.irony-server  irony-server-1.2.0

How would irony find the include paths for standard C headers? (Done, Not ideal)

I presume irony does not use some paths determined at compile time, to find those headers. Because, well, the above recipe compiles and builds the binary, but that binary does not seem to find these headers during runtime (without a clang_complete). Ideally, this should've worked automatically. Please correct me if I am wrong somewhere.
I am not familiar with RPATH, can it have something to do with this? Can we modify the above nix-recipe to fix this? Update: I built irony-server with the RPATH flags as well, did not help.

Currently, I ran this command echo | g++ -E -Wp,-v - which showed the following (I have removed the irrelevant package-identifying hashes):

ignoring nonexistent directory "/nix/store/...-gcc-6.4.0/lib/gcc/x86_64-unknown-linux-gnu/6.4.0/../../../../x86_64-unknown-linux-gnu/include"
ignoring duplicate directory "/nix/store/...-glibc-2.25-123-dev/include"
ignoring duplicate directory "/nix/store/...-gcc-6.4.0/lib/gcc/x86_64-unknown-linux-gnu/6.4.0/include-fixed"
#include "..." search starts here:
#include <...> search starts here:
 /nix/store/...-gcc-6.4.0/lib/gcc/x86_64-unknown-linux-gnu/6.4.0/include
 /nix/store/...-gcc-6.4.0/include
 /nix/store/...-gcc-6.4.0/lib/gcc/x86_64-unknown-linux-gnu/6.4.0/include-fixed
 /nix/store/...-glibc-2.25-123-dev/include
End of search list.
...
...
...

I copied the above listed 4 paths (<...> search starts here ones), prepended them with a -I each, and placed them into a .clang_complete file in my project root. Voila! I could get completions for C functions. Definitely not ideal, I wish irony could've done this automatically. Hardcoding paths is not really Nix-y.

Can we automate C-header search? (Enhancement)

The above should've been automatic though 😞 I already get completions for C headers using the company-c-headers plugin (I think). Although once flycheck runs (irony checker), it marks those headers with errors like: 'stdio.h' not found.

C++ headers? (Not ideal)

No completions for these. Flycheck also shows errors. Could not get even std to work. Then, I got them to work for my project by adding the following to my .clang_complete (made it the last entry):

-I/nix/store/...-gcc-6.4.0/include/c++/6.4.0

No idea why this did not appear in the output of echo | g++ -E -Wp,-v -. Explanations for this are welcome.

Why do C++ headers work fine, but I cannot refer to anything inside std::? (Not working)

If I place -I/nix/store/...-gcc-6.4.0/include/c++/6.4.0 as my first include, using namespace std; does not show an error. Writing #include <iostream> also works fine. But if I try to access std::cout or cout, that errors saying it is an unidentified identifier.

Outside-project support (Not ideal)

I cannot get anything to work outside a project (which means, without a .clang_complete file). I sometimes write simple short C++ files, and would like irony to detect C/C++ headers in that case, rather than show me a dozen errors, starting from memory.h to C++ ones like iostream.
Update: I put a global .clang_complete file with those headers and this works.

Support information:

NixOS 17.09
Emacs 25.3.1
Irony config:

(use-package irony
  :ensure t
  :mode (("\\.cpp\\'" . c++-mode)
         ("\\.cc\\'"  . c++-mode)
         ("\\.hpp\\'" . c++-mode)
         ("\\.hh\\'"  . c++-mode)
         ("\\.c\\'"   . c-mode)
         ("\\.h\\'"   . c-mode))
  :config

  (defun my-irony-mode-hook ()
    (define-key irony-mode-map [remap completion-at-point]
      'irony-completion-at-point-async)
    (define-key irony-mode-map [remap complete-symbol]
      'irony-completion-at-point-async)
    (irony-cdb-autosetup-compile-options)
    (company-mode))
  (add-hook 'irony-mode-hook 'my-irony-mode-hook)

  (use-package flycheck-irony
    :ensure t
    :config
    (eval-after-load 'flycheck
      '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)))

  (use-package company-irony-c-headers
    :ensure t
    :config
    (eval-after-load 'company
      '(add-to-list
        'company-backends '(company-irony-c-headers company-irony))))

  (use-package clang-format
    :ensure t
    :config
    (global-set-key [C-M-tab] 'clang-format-region)))

(add-hook 'c++-mode-hook 'irony-mode)
(add-hook 'c-mode-hook 'irony-mode)
(add-hook 'objc-mode-hook 'irony-mode)
@Sarcasm
Copy link
Owner

Sarcasm commented Feb 28, 2018

Hi,

irony-server needs the Clang builtin headers to be available at runtime.
The builtin header directory is found at build time, you can see it in the CMake log.

...
-- Found LibClang: /usr/lib/libclang.so  
-- Detecting Clang resource directory
-- Detecting libclang builtin headers directory -- success
-- Irony package version is '1.2.0'
...

You can look up the value for the CMake cache:

$ grep CHECK_CLANG_RESOURCE_DIR:PATH CMakeCache.txt
CHECK_CLANG_RESOURCE_DIR:PATH=/usr/lib/clang/5.0.1

Irony expects to find /usr/lib/clang/5.0.1/include/stddef.h at runtime.

I'm not familiar with nix, but in the nix file, there is this:

  buildInputs = [ llvmPackages.libclang ];

I'm wondering, if you shouldn't also put a runtime dependency on libclang.

Does ${CHECK_CLANG_RESOURCE_DIR}/include/stddef.h exists for you in the irony-server environment?

@thblt
Copy link

thblt commented Mar 8, 2018

A simple solution (that would be extremely useful to me, at least :) would be to provide a way to execute the irony-server instance inside the same nix-shell used for compilation. Since nix-shells are reproducible environments, it's enough to run irony-server as nix-shell [definition] --run "irony-server". If the protocol the server uses to communicate with irony-mode is just text, this could be completely transparent.

@thblt
Copy link

thblt commented Mar 12, 2018

Regarding C (and probably C++) headers: the solution I found is to use make inside bear, which intercepts and stores calls to the C compiler into a compile_commands.json file. Unlike cmake's CMAKE_EXPORT_COMPILE_COMMANDS, bear actually stores complete commands, including system include paths.

@nico202
Copy link

nico202 commented Jun 28, 2018

@thblt hi, I'm on NixOS too. My problem is that something like #include fails (array: file not found) while other things (like function argument completition) are working.

I'm using meson+ninja to compile my projects. It creates the compile_commands.json file, do you know if there's a way to get the complete paths with it? Do you have an example json file? (Maybe I can programmatically fix mine).

Thanks, Nicolò

@thblt
Copy link

thblt commented Jul 20, 2018

@nico202 I know neither meson nor ninja, sorry.

Do you have an example json file?

Sure, here you are:

(expand)
[
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-Ddylib_EXPORTS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-fPIC", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/dylib.dir/src/eval.c.o", 
            "../src/eval.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../src/eval.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-Ddylib_EXPORTS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-fPIC", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/dylib.dir/src/stack.c.o", 
            "../src/stack.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../src/stack.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-Ddylib_EXPORTS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-fPIC", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/dylib.dir/src/print.c.o", 
            "../src/print.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../src/print.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-Ddylib_EXPORTS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-fPIC", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/dylib.dir/src/stbl.c.o", 
            "../src/stbl.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../src/stbl.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/tests.dir/tests/main.c.o", 
            "../tests/main.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../tests/main.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/tests.dir/tests/object_test.c.o", 
            "../tests/object_test.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../tests/object_test.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-Ddylib_EXPORTS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-fPIC", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/dylib.dir/src/read.c.o", 
            "../src/read.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../src/read.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-Ddylib_EXPORTS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-fPIC", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/dylib.dir/src/heap.c.o", 
            "../src/heap.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../src/heap.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-Ddylib_EXPORTS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-fPIC", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/dylib.dir/src/object.c.o", 
            "../src/object.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../src/object.c"
    }, 
    {
        "arguments": [
            "cc", 
            "-c", 
            "-O2", 
            "-D_FORTIFY_SOURCE=2", 
            "-fstack-protector-strong", 
            "--param", 
            "ssp-buffer-size=4", 
            "-fno-strict-overflow", 
            "-Wformat", 
            "-Wformat-security", 
            "-Werror=format-security", 
            "-fPIC", 
            "-DUBW_EXPOSE_INTERNALS", 
            "-I/home/thblt/Documents/Code/uberwald", 
            "-I/home/thblt/Documents/Code/uberwald/build", 
            "-I/home/thblt/Documents/Code/uberwald/src", 
            "-Wall", 
            "-std=c11", 
            "-pedantic", 
            "-B/nix/store/zikcg4s36w5k6fvlba2h4p4riw1qc7fp-gcc-7.3.0-lib/lib", 
            "-B/nix/store/83lrbvbmxrgv7iz49mgd42yvhi473xp6-glibc-2.27/lib/", 
            "-idirafter", 
            "/nix/store/lyd89mv72m8a0aw1a4idfimyi0rb2b13-glibc-2.27-dev/include", 
            "-idirafter", 
            "/nix/store/imfm3gk3qchmyv7684pjpm8irvkdrrkk-gcc-7.3.0/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/include-fixed", 
            "-B/nix/store/yz6kinf4ia19r1c14yirl6x4ciwgzk67-gcc-wrapper-7.3.0/bin/", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-isystem", 
            "/nix/store/05n22pf74svp88cd6yzip3wyglfdsxra-readline-6.3p08-dev/include", 
            "-isystem", 
            "/nix/store/8f9y0q8js3iys67j1rv4jvgj9ziwswzw-ncurses-6.1-dev/include", 
            "-isystem", 
            "/nix/store/bivzcgz9yakgzhvq7pcqjny6aw4mvwf7-clang-5.0.2/include", 
            "-isystem", 
            "/nix/store/v9f9s9wr2b86jyvchcilv9raxn4yvk6z-check-0.12.0/include", 
            "-isystem", 
            "/nix/store/pz8nl4cnppd3p1cykshcb40mqxjd5yvy-python3-3.6.5/include", 
            "-isystem", 
            "/nix/store/p2mffbw6fbx0jy1iyzxha5kqw58kirab-libffi-3.2.1-dev/include", 
            "-isystem", 
            "/nix/store/l2zz648qylzhlpm41vvb76nv25yhfzaq-lldb-5.0.2/include", 
            "-o", 
            "CMakeFiles/tests.dir/tests/stack_test.c.o", 
            "../tests/stack_test.c"
        ], 
        "directory": "/home/thblt/Documents/Code/uberwald/build", 
        "file": "../tests/stack_test.c"
    }
]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants