minecraft-linux / mcpelauncher-manifest

The main repository for the Linux and Mac OS Bedrock edition Minecraft launcher.
https://minecraft-linux.github.io
GNU General Public License v3.0
972 stars 99 forks source link

Could NOT find Threads (missing: Threads_FOUND) on Solus #7

Open jh97uk opened 6 years ago

jh97uk commented 6 years ago

I'm trying to build on the latest version of Solus and I'm getting this error through cmake:

cmake ..
CMake Error at /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
  /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.12/Modules/FindThreads.cmake:205 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  libhybris/CMakeLists.txt:6 (find_package)

Heres the output in my CMakeError.log:

Determining if the function XOpenDisplay exists in the /usr/lib/libX11.so;/usr/lib/libXext.so failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_6d78e/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_6d78e.dir/build.make CMakeFiles/cmTC_6d78e.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_6d78e.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=XOpenDisplay   -o CMakeFiles/cmTC_6d78e.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_6d78e
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6d78e.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=XOpenDisplay    -rdynamic CMakeFiles/cmTC_6d78e.dir/CheckFunctionExists.c.o  -o cmTC_6d78e /usr/lib/libX11.so /usr/lib/libXext.so 
/usr/bin/ld: /usr/lib/libX11.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_6d78e.dir/build.make:89: cmTC_6d78e] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_6d78e/fast] Error 2

Determining if the function dnet_ntoa exists in the dnet failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_399e4/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_399e4.dir/build.make CMakeFiles/cmTC_399e4.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_399e4.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=dnet_ntoa   -o CMakeFiles/cmTC_399e4.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_399e4
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_399e4.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=dnet_ntoa    -rdynamic CMakeFiles/cmTC_399e4.dir/CheckFunctionExists.c.o  -o cmTC_399e4 -ldnet 
/usr/bin/ld: cannot find -ldnet
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_399e4.dir/build.make:87: cmTC_399e4] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_399e4/fast] Error 2

Determining if the function dnet_ntoa exists in the dnet_stub failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_1a2f2/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_1a2f2.dir/build.make CMakeFiles/cmTC_1a2f2.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_1a2f2.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=dnet_ntoa   -o CMakeFiles/cmTC_1a2f2.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_1a2f2
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1a2f2.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=dnet_ntoa    -rdynamic CMakeFiles/cmTC_1a2f2.dir/CheckFunctionExists.c.o  -o cmTC_1a2f2 -ldnet_stub 
/usr/bin/ld: cannot find -ldnet_stub
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_1a2f2.dir/build.make:87: cmTC_1a2f2] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_1a2f2/fast] Error 2

Determining if the function gethostbyname exists failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_dbac8/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_dbac8.dir/build.make CMakeFiles/cmTC_dbac8.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_dbac8.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=gethostbyname   -o CMakeFiles/cmTC_dbac8.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_dbac8
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dbac8.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=gethostbyname    -rdynamic CMakeFiles/cmTC_dbac8.dir/CheckFunctionExists.c.o  -o cmTC_dbac8 
/usr/bin/ld: cannot find /usr/lib32/libc_nonshared.a
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_dbac8.dir/build.make:87: cmTC_dbac8] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_dbac8/fast] Error 2

Determining if the function gethostbyname exists in the nsl failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_8a337/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_8a337.dir/build.make CMakeFiles/cmTC_8a337.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_8a337.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=gethostbyname   -o CMakeFiles/cmTC_8a337.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_8a337
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8a337.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=gethostbyname    -rdynamic CMakeFiles/cmTC_8a337.dir/CheckFunctionExists.c.o  -o cmTC_8a337 -lnsl 
/usr/bin/ld: cannot find -lnsl
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_8a337.dir/build.make:87: cmTC_8a337] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_8a337/fast] Error 2

Determining if the function gethostbyname exists in the bsd failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_8638a/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_8638a.dir/build.make CMakeFiles/cmTC_8638a.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_8638a.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=gethostbyname   -o CMakeFiles/cmTC_8638a.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_8638a
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8638a.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=gethostbyname    -rdynamic CMakeFiles/cmTC_8638a.dir/CheckFunctionExists.c.o  -o cmTC_8638a -lbsd 
/usr/bin/ld: cannot find -lbsd
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_8638a.dir/build.make:87: cmTC_8638a] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_8638a/fast] Error 2

Determining if the function connect exists failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_c5fdc/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_c5fdc.dir/build.make CMakeFiles/cmTC_c5fdc.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_c5fdc.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=connect   -o CMakeFiles/cmTC_c5fdc.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_c5fdc
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c5fdc.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=connect    -rdynamic CMakeFiles/cmTC_c5fdc.dir/CheckFunctionExists.c.o  -o cmTC_c5fdc 
/usr/bin/ld: cannot find /usr/lib32/libc_nonshared.a
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_c5fdc.dir/build.make:87: cmTC_c5fdc] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_c5fdc/fast] Error 2

Determining if the function connect exists in the socket failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_cbd78/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_cbd78.dir/build.make CMakeFiles/cmTC_cbd78.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_cbd78.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=connect   -o CMakeFiles/cmTC_cbd78.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_cbd78
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cbd78.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=connect    -rdynamic CMakeFiles/cmTC_cbd78.dir/CheckFunctionExists.c.o  -o cmTC_cbd78 -lsocket 
/usr/bin/ld: cannot find -lsocket
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_cbd78.dir/build.make:87: cmTC_cbd78] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_cbd78/fast] Error 2

Determining if the function remove exists failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_b9533/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_b9533.dir/build.make CMakeFiles/cmTC_b9533.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_b9533.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=remove   -o CMakeFiles/cmTC_b9533.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_b9533
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b9533.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=remove    -rdynamic CMakeFiles/cmTC_b9533.dir/CheckFunctionExists.c.o  -o cmTC_b9533 
/usr/bin/ld: cannot find /usr/lib32/libc_nonshared.a
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_b9533.dir/build.make:87: cmTC_b9533] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_b9533/fast] Error 2

Determining if the function remove exists in the posix failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_15272/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_15272.dir/build.make CMakeFiles/cmTC_15272.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_15272.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=remove   -o CMakeFiles/cmTC_15272.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_15272
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_15272.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=remove    -rdynamic CMakeFiles/cmTC_15272.dir/CheckFunctionExists.c.o  -o cmTC_15272 -lposix 
/usr/bin/ld: cannot find -lposix
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_15272.dir/build.make:87: cmTC_15272] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_15272/fast] Error 2

Determining if the function shmat exists failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_01d3b/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_01d3b.dir/build.make CMakeFiles/cmTC_01d3b.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_01d3b.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=shmat   -o CMakeFiles/cmTC_01d3b.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_01d3b
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_01d3b.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=shmat    -rdynamic CMakeFiles/cmTC_01d3b.dir/CheckFunctionExists.c.o  -o cmTC_01d3b 
/usr/bin/ld: cannot find /usr/lib32/libc_nonshared.a
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_01d3b.dir/build.make:87: cmTC_01d3b] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_01d3b/fast] Error 2

Determining if the function shmat exists in the ipc failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_92f90/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_92f90.dir/build.make CMakeFiles/cmTC_92f90.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_92f90.dir/CheckFunctionExists.c.o
/usr/bin/cc   -m32 -DCHECK_FUNCTION_EXISTS=shmat   -o CMakeFiles/cmTC_92f90.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.12/Modules/CheckFunctionExists.c
Linking C executable cmTC_92f90
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_92f90.dir/link.txt --verbose=1
/usr/bin/cc  -m32 -DCHECK_FUNCTION_EXISTS=shmat    -rdynamic CMakeFiles/cmTC_92f90.dir/CheckFunctionExists.c.o  -o cmTC_92f90 -lipc 
/usr/bin/ld: cannot find -lipc
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_92f90.dir/build.make:87: cmTC_92f90] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_92f90/fast] Error 2

Determining if the include file pthread.h exists failed with the following output:
Change Dir: /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_f5464/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_f5464.dir/build.make CMakeFiles/cmTC_f5464.dir/build
gmake[1]: Entering directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_f5464.dir/CheckIncludeFile.c.o
/usr/bin/cc   -m32    -o CMakeFiles/cmTC_f5464.dir/CheckIncludeFile.c.o   -c /home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c
Linking C executable cmTC_f5464
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f5464.dir/link.txt --verbose=1
/usr/bin/cc  -m32     -rdynamic CMakeFiles/cmTC_f5464.dir/CheckIncludeFile.c.o  -o cmTC_f5464 
/usr/bin/ld: cannot find /usr/lib32/libc_nonshared.a
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_f5464.dir/build.make:87: cmTC_f5464] Error 1
gmake[1]: Leaving directory '/home/james/Documents/mcpelauncher/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_f5464/fast] Error 2
magicus commented 5 years ago

You seem to be missing a whole lot of build requirements. I've never heard about the Solus distribution before, but you will probably get better help in resolving this by asking in some Solus forum. Start by picking one of the missing dependencies, e.g. /usr/bin/ld: cannot find -lposix, figure out how to resolve this, and then proceed step by step.

I just google Solus, and it seems to be not based on any other more well-known distro, so you'll probably have to reinvent all instructions.

yagomont commented 5 years ago

mcpelauncher does not build in OpenSUSE either due to this problem, even after installing all threads packages.

MCMrARM commented 5 years ago

I mean, all this error means, is that you have a broken GCC multilib installation.

SleebyRhea commented 5 years ago

To add onto what @MCMrARM was saying, Solus does have most of the packages required for this project to compile, though the package names differ occasionally. In your specific case, you are likely missing the glibc-32bit-devel package (amongst others most likely) which is what provides the file /usr/lib32/libc_nonshared.a that ld cannot locate.

andrew@longitude-e5430 ~
>$ eopkg search-file /usr/lib32/libc_nonshared.a
Searching for /usr/lib32/libc_nonshared.a
Package glibc-32bit-devel has file /usr/lib32/libc_nonshared.a

That said, out of the box you won't be able to compile this project in full on Solus as it is missing the required libevdev-32bit-devel package. In order to finish compilation, you will need to locate and build the evdev sources as 32-bit and link linux-gamepad to the compiled library.

ChristopherHX commented 4 years ago

After trying it myself with Solus chroot here the building instruction for the core launcher, repeat step 3 and 4 to update