Open Jaisiero opened 3 years ago
I found a few problems with this issue:
Hi @Jaisiero,
I'm not sure off the top of my head what the issue would be based on the error I'm seeing. The error message gives you to other files to look into that have additional diagnostic information:
-- Configuring incomplete, errors occurred!
See also "/home/jaisiero/Documentos/Repos/FBLinux/firebase-cpp-sdk/out/build/destktop_linux64_build/CMakeFiles/CMakeOutput.log".
See also "/home/jaisiero/Documentos/Repos/FBLinux/firebase-cpp-sdk/out/build/destktop_linux64_build/CMakeFiles/CMakeError.log".
Take a look at those and see if they clarify what exactly is causing the failure.
Hey @alexames ,
Sure! Here you are:
CMakeError.log CMakeOutput.log
It's full of errors :S
It seems Cmake is not finding:
-lc++abi not found
but I installed clang in my distribution (Ubuntu 18.04) just like that:
sudo apt install clang
Thank you for helping, Jaime.
Taking a look at the log, it seems to have not only link error but also compiler error like
/home/jaisiero/Documentos/Repos/FBLinux/firebase-cpp-sdk/out/build/destktop_linux64_build/CMakeFiles/CMakeTmp/CheckIncludeFiles.c:2:10: fatal error: 'winsock2.h' file not found
#include <winsock2.h>
^~~~~~~~~~~~
/home/jaisiero/Documentos/Repos/FBLinux/firebase-cpp-sdk/out/build/destktop_linux64_build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:27:19: error: use of undeclared identifier 'strnicmp'; did you mean 'strncmp'?
return ((int*)(&strnicmp))[argc];
^~~~~~~~
strncmp
I suspect that the source might not be compatible to Clang 6.0.
Let me ping the team and see if we have more insight about it.
Does it work if you disable LevelDB build test using -DLEVELDB_BUILD_TESTS=OFF
?
Naaah, It doesn't work either.
CMakeError.log CMakeOutput.log
Firebase c++ sdk says:
Linux libraries For Linux, library versions are provided for 32-bit (i386) and 64-bit (x86_64) platforms.
Note that the Linux libraries were tested using GCC 4.8.0, GCC 7.2.0, and Clang 5.0 on Ubuntu.
When building C++ desktop apps on Linux, link the pthread system library to your project. Consult your compiler documentation for more information. If you're building with GCC 5 or later, define -D_GLIBCXX_USE_CXX11_ABI=0.
However, you might be right and the source is not compatible with this compilator anymore or maybe I'm doing something wrong.
Thanks for your time, Jaime.
I'll put this as a feature request to support Clang 6.0+.
[REQUIRED] Please fill in the following fields:
[REQUIRED] Please describe the question here:
Hi there,
I'm trying to compile Firebase for Desktop Linux target and I did it at first running this CMake configuration on my Ubuntu 18.04 distro like:
cmake ../../.. -DPROTOBUF_SRC_ROOT_FOLDER:PATH="/home/jaisiero/Documentos/Repos/FBLinux/protobuf-3.12.0" -DPROTOBUF_PROTOC_EXECUTABLE:FILEPATH="/home/jaisiero/Documentos/Repos/FBLinux/protoc-3.12.0-linux-x86_64/bin/protoc" -DNANOPB_SOURCE_DIR:PATH="/home/jaisiero/Documentos/Repos/FBLinux/nanopb-0.4.4-linux-x86" -DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -D_GLIBCXX_USE_CXX11_ABI=0 -DPYTHON_LIBRARY:PATH=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6.so -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.6
and it worked! I was able to compile Firebase libraries with my default GCC distro buuut I'm trying to link them with another libraries compiled with libc++ and as a result I'm having some link issues. Consequently, I try to compile with Clang running this CMake configuration getting this include error:
I see in the official webpage that Firebase can be compile with Clang 5.0 on Ubuntu:
Firebase CPP SDK Setup
I'm currently using Clang 6.0.
I'm pretty sure it's a silly mistake and i hope someone could help me.
Cheers, Jaime.