-
Notifications
You must be signed in to change notification settings - Fork 37
Description
I'm attempting to build this program for my own personal use on linux and I'm running into several problems. I've documented all the hurdles I've run into, including the ones I've passed, just in case that may be relevant or useful in understanding/solving the problem I'm currently having.
In case it should be relevant, my Linux Mint Version is 21.3 x86_64, and my Kernel version is 6.8.0-85-generic. Any other relevant information can and will be provided if needed.
The first JSM build attempt failure was due to Linux Mint having an outdated CMake version in its repository, so I followed a guide to build and install it from source and verified its version as 4.1.2. which is above minimum version requirements.
The second build attempt failure was with the dependencies. When running the listed command for installing the dependencies in Ubuntu based distros there ends up being a conflict between libayatana-appindicator3-1 and libappindicator3-dev. The command installs libayatana which prevents libappindicator from installing. The solution I found from another issue on this github is to manually remove libayatana and then manually install libappindicator.
The third build attempt failure left me the following error:
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:10 (project):
The CMAKE_CXX_COMPILER:
clang++
is not a full path and was not found in the PATH.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
This was solved simply by reinstalling clang.
That error was replaced by a much larger one on the fourth build attempt which left me with the following error:
-- The CXX compiler identification is Clang 14.0.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ - broken
CMake Error at /usr/local/share/cmake-4.1/Modules/CMakeTestCXXCompiler.cmake:73 (message):
The C++ compiler
"/usr/bin/clang++"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: '/home/leaderofthe00fkins/Downloads/JoyShockMapper-3.6.1/build/CMakeFiles/CMakeScratch/TryCompile-2pso8z'
Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_00921/fast
/usr/bin/gmake -f CMakeFiles/cmTC_00921.dir/build.make CMakeFiles/cmTC_00921.dir/build
gmake[1]: Entering directory '/home/leaderofthe00fkins/Downloads/JoyShockMapper-3.6.1/build/CMakeFiles/CMakeScratch/TryCompile-2pso8z'
Building CXX object CMakeFiles/cmTC_00921.dir/testCXXCompiler.cxx.o
/usr/bin/clang++ -MD -MT CMakeFiles/cmTC_00921.dir/testCXXCompiler.cxx.o -MF CMakeFiles/cmTC_00921.dir/testCXXCompiler.cxx.o.d -o CMakeFiles/cmTC_00921.dir/testCXXCompiler.cxx.o -c /home/leaderofthe00fkins/Downloads/JoyShockMapper-3.6.1/build/CMakeFiles/CMakeScratch/TryCompile-2pso8z/testCXXCompiler.cxx
Linking CXX executable cmTC_00921
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_00921.dir/link.txt --verbose=1
/usr/bin/ld: cannot find -lstdc++: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
/usr/bin/clang++ CMakeFiles/cmTC_00921.dir/testCXXCompiler.cxx.o -o cmTC_00921
gmake[1]: *** [CMakeFiles/cmTC_00921.dir/build.make:103: cmTC_00921] Error 1
gmake[1]: Leaving directory '/home/leaderofthe00fkins/Downloads/JoyShockMapper-3.6.1/build/CMakeFiles/CMakeScratch/TryCompile-2pso8z'
gmake: *** [Makefile:134: cmTC_00921/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:10 (project)
-- Configuring incomplete, errors occurred!
I have failed to find a solution to this problem, or rather I have found solutions in online forums for seemingly similar issues but they are really old, and very difficult to understand or discern for someone of my level of skills and knowledge. I was pretty clueless while reading them so I'm not confident with proceeding on my own, out of fear that I may accidentally screw something up with no way to "undo"; as is so often the case when we do linux things that we do not understand. So it is here where I humbly ask for help from those of you who posses the knowledge to understand this situation, and have the grace to bequeath to me some of your time.