rizsotto / Bear

Bear is a tool that generates a compilation database for clang tooling.
GNU General Public License v3.0
4.79k stars 314 forks source link

I'm unable to compile/build Bear. #373

Closed Pipirongu closed 3 years ago

Pipirongu commented 3 years ago

Describe the bug When executing make all, it will fail at grpc_dependency

[ 14%] Performing build step for 'grpc_dependency' CMake Error at /repo/evuxphi/Bear/build/subprojects/Stamp/grpc_dependency/grpc_dependency-build-Release.cmake:49 (message): Command failed: 2

'make'

See also

/repo/evuxphi/Bear/build/subprojects/Stamp/grpc_dependency/grpc_dependency-build-*.log

make[2]: [subprojects/Stamp/grpc_dependency/grpc_dependency-build] Error 1 make[1]: [third_party/grpc/CMakeFiles/grpc_dependency.dir/all] Error 2 make: *** [all] Error 2

To Reproduce Steps to reproduce the behavior:

Expected behavior Expected to successfully compile and build Bear into an executable.

Environment:

Additional context Dependencies are missing and is cloned during the cmake phase. It's a restricted Citrix environment that I'm running on. So I do not have rights to install anything. Building bear is therefore the only option.

rizsotto commented 3 years ago

Hey @Pipirongu , try to create a separate build directory and run the CMake command from there. My other recommendation would be to read those log files the error message refers to... Please try to consult make and cmake man pages first. Involving me will be a much slower way to fix the problem. (Mostly because I don't have the same setup. And you'll need to send me the error messages, etc...)

ecopete commented 3 years ago

Hi @Pipirongu

It's a restricted Citrix environment that I'm running on. So I do not have rights to install anything.

I would suggest to leverage homebrew: https://docs.brew.sh/Homebrew-on-Linux Once you have homebrew installed you can install all the pre-requisites brew install fmt spdlog nlohmann-json grpc pkg-config

Then mkdir build; cd build and cmake .. -DCMAKE_INSTALL_PREFIX:PATH=~/.local -DENABLE_UNIT_TESTS=OFF -DENABLE_FUNC_TESTS=OFF then you can just build with make all and install with make install

I tend to install the latest bear in my local install ~/.local anyway even though I have full access to my system. Just make sure the ~/.local/bin is in your $PATH and you should be good.

Hopefully this helps.

Pipirongu commented 3 years ago

Hi @ecopete Is it possible to have a custom path to git and curl for brew? I get the following errors when attempting to install brew:

Error: Please update your system curl. Minimum required version: 7.41.0 Your curl version: 7.29.0 Your curl executable: /usr/bin/curl Error: Please update your system Git. Minimum required version: 2.7.0 Your Git version: 1.8.3.1 Your Git executable: /usr/bin/git

The environment is using something called AFS(Andrew File System) to let users add a curated list of programs/versions. I've added the the latest git and curl available and using which git/curl with show the path to the right version. However, brew is looking into the usr/bin path where there seem to be an outdated version. Root access is required to modify these files.

rizsotto commented 3 years ago

It looks like that you just need to put the location into the PATH variable. (To the front before the older version.)

Pipirongu commented 3 years ago

It looks like that you just need to put the location into the PATH variable. (To the front before the older version.)

Yeah, It's already like that in PATH variable. Resolved when setting export HOMEBREW_NO_ENV_FILTERING=1 https://github.com/Homebrew/brew/issues/6274

rizsotto commented 3 years ago

Closing this now. It does not look something I can act on.