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

some difficulties building on ng branch with clang #306

Closed
laurentoget opened this issue May 21, 2020 · 3 comments
Closed

some difficulties building on ng branch with clang #306

laurentoget opened this issue May 21, 2020 · 3 comments

Comments

@laurentoget
Copy link

to start with i must be doing something wrong, but when i git checkout the ng branch, i had to fix some of the submodules that did not get recursively checked when i switched branch. once i got over that, the build failed with:

Scanning dependencies of target msa-daemon-client
checking whether the C compiler works... [ 59%] Building CXX object msa-daemon-client/CMakeFiles/msa-daemon-client.dir/src/service_client.cpp.o
[ 60%] Building CXX object msa-daemon-client/CMakeFiles/msa-daemon-client.dir/src/token.cpp.o
yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/clang accepts -g... yes
checking for /usr/bin/clang option to accept ISO C89... none needed
checking whether /usr/bin/clang understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of /usr/bin/clang... gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/clang++ accepts -g... yes
checking dependency style of /usr/bin/clang++... gcc3
checking dependency style of /usr/bin/clang... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by /usr/bin/clang... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from /usr/bin/clang object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... /usr/bin/clang -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /usr/bin/clang supports -fno-rtti -fno-exceptions... yes
checking for /usr/bin/clang option to produce PIC... -fPIC -DPIC
checking if /usr/bin/clang PIC flag -fPIC -DPIC works... [ 60%] Linking CXX static library libmsa-daemon-client.a
yes
checking if /usr/bin/clang static flag -static works... [ 60%] Built target msa-daemon-client
yes
checking if /usr/bin/clang supports -c -o file.o... yes
checking if /usr/bin/clang supports -c -o file.o... (cached) yes
checking whether the /usr/bin/clang linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... /usr/bin/clang++ -E
checking for ld used by /usr/bin/clang++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the /usr/bin/clang++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for /usr/bin/clang++ option to produce PIC... -fPIC -DPIC
checking if /usr/bin/clang++ PIC flag -fPIC -DPIC works... yes
checking if /usr/bin/clang++ static flag -static works... yes
checking if /usr/bin/clang++ supports -c -o file.o... yes
checking if /usr/bin/clang++ supports -c -o file.o... (cached) yes
checking whether the /usr/bin/clang++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking size of size_t... 8
checking for C compiler vendor... clang
checking CFLAGS for maximum warnings... -Wall
checking whether to enable maintainer-specific portions of Makefiles... no
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking for mkostemp... yes
checking for sys/mman.h... (cached) yes
checking for mmap... (cached) yes
checking whether read-only mmap of a plain file works... yes
checking whether mmap from /dev/zero works... yes
checking for MAP_ANON(YMOUS)... yes
checking whether mmap with MAP_ANON(YMOUS) works... yes
checking for ANSI C header files... (cached) yes
checking for memcpy... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking size of double... 8
checking size of long double... 16
checking whether byte ordering is bigendian... no
checking assembler .cfi pseudo-op support... yes
checking assembler supports pc related relocs... yes
checking assembler .ascii pseudo-op support... yes
checking assembler .string pseudo-op support... yes
checking for _ prefix in compiled symbols... no
checking toolchain supports unwind section type... yes
checking whether .eh_frame section should be read-only... yes
checking for __attribute__((visibility("hidden")))... yes
clang: error: unsupported option '-print-multi-os-directory'
clang: error: no input files
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating include/Makefile
config.status: creating include/ffi.h
config.status: creating Makefile
config.status: creating testsuite/Makefile
config.status: creating man/Makefile
config.status: creating libffi.pc
config.status: creating fficonfig.h
config.status: linking src/x86/ffitarget.h to include/ffitarget.h
config.status: executing buildir commands
config.status: skipping top_srcdir/Makefile - not created
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing include commands
config.status: executing src commands
[ 61%] Performing build step for 'ffi'
Making all in include
Making all in testsuite
Making all in man
/home/laurent/src/mcpe/mcpelauncher/fake-jni/libffi/missing: line 81: makeinfo: command not found
WARNING: 'makeinfo' is missing on your system.
         You should only need it if you modified a '.texi' file, or
         any other file indirectly affecting the aspect of the manual.
         You might want to install the Texinfo package:
         <https://www.gnu.org/software/texinfo/>
         The spurious makeinfo call might also be the consequence of
         using a buggy 'make' (AIX, DU, IRIX), in which case you might
         want to install GNU make:
         <https://www.gnu.org/software/make/>
make[5]: *** [Makefile:1473: doc/libffi.info] Error 127
make[5]: *** Waiting for unfinished jobs....

my clang is

laurent@wilson:~/src/mcpe/mcpelauncher/build$ clang --version
clang version 9.0.0-2 (tags/RELEASE_900/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
laurent@wilson:~/src/mcpe/mcpelauncher/build$ 

thanks for the great work - let me know if there is anything i can do to help troubleshoot

@ChristopherHX
Copy link
Member

ChristopherHX commented May 22, 2020

I guess install makeinfo.
If you just want to run ng, please try the appimage https://github.com/ChristopherHX/linux-packaging-scripts/releases/tag/ng.appimage
Build script still not moved back to minecraft-linux

@laurentoget
Copy link
Author

Thanks... the appimage is failing on 1.14.60.5 with

ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
08:33:00 Info  [Launcher] Version: client 7c17ac3 / manifest 05861bf
08:33:00 Info  [Launcher] CPU: GenuineIntel Intel(R) Xeon(R) CPU           W3530  @ 2.80GHz
08:33:00 Info  [Launcher] CPU supports SSSE3: YES
08:33:00 Trace [Launcher] Loading hybris libraries
08:33:00 Trace [HybrisUtils] Loaded OS library /tmp/.mount_MinecrDQN9Md/usr/share/mcpelauncher/libs/native/libfmod.so.9.16
08:33:00 Trace [HybrisUtils] Loaded OS library libm.so.6
08:33:00 Trace [HybrisUtils] Loaded OS library libz.so.1
08:33:00 Info  [Launcher] Creating window
08:33:00 Trace [Launcher] Loading gamepad mappings: /tmp/.mount_MinecrDQN9Md/usr/share/mcpelauncher/gamecontrollerdb.txt
08:33:01 Trace [Launcher] Loading Minecraft library
�linkerterminate called after throwing an instance of 'std::runtime_error'
  what():  Failed to load Minecraft: Cannot load library: link_image[1969]:     0 could not load needed library 'libgnustl_shared.so' for 'libminecraftpe.so' (load_library[1119]: Library 'libgnustl_shared.so' not found)
Signal 6 received
Backtrace elements: 13
#0 /tmp/.mount_MinecrDQN9Md/usr/bin/./mcpelauncher-client(_ZN12CrashHandler12handleSignalEiPv+0xb7) [0x8325aa5]
#1 linux-gate.so.1(__kernel_sigreturn+0) [0xf7f5bb60]
#2 linux-gate.so.1(__kernel_vsyscall+0x9) [0xf7f5bb49]
#3 /lib/i386-linux-gnu/libc.so.6(gsignal+0xc6) [0xf77ca616]
#4 /lib/i386-linux-gnu/libc.so.6(abort+0x130) [0xf77b23f7]
#5 /usr/lib/i386-linux-gnu/libstdc++.so.6(+0x7d7f6) [0xf7b487f6]
#6 /usr/lib/i386-linux-gnu/libstdc++.so.6(+0x8be48) [0xf7b56e48]
#7 /usr/lib/i386-linux-gnu/libstdc++.so.6(+0x8bec1) [0xf7b56ec1]
#8 /usr/lib/i386-linux-gnu/libstdc++.so.6(__cxa_rethrow+0) [0xf7b571f0]
#9 /tmp/.mount_MinecrDQN9Md/usr/bin/./mcpelauncher-client(_ZN14MinecraftUtils16loadMinecraftLibERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x14c) [0x8326be8]
#10 /tmp/.mount_MinecrDQN9Md/usr/bin/./mcpelauncher-client(main+0x15d0) [0x82b5dce]
#11 /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf9) [0xf77b3fb9]
#12 /tmp/.mount_MinecrDQN9Md/usr/bin/./mcpelauncher-client() [0x82b3381]
Dumping stack...
Process exited with unexpected exit code: 6

@ChristopherHX
Copy link
Member

I don't think that LD_PRELOAD=libgtk3-nocsd.so.0 is a good idea

Please follow
ChristopherHX#72 (comment)

The unsupported launcher extracts newer game versions in a wrong way, therefore please redownload it after deleting it in Settings
Note, you are not testing ng but that is fine.
Please update the launcher (The launcher should tell you to update)

@huangyucheni huangyucheni mentioned this issue Oct 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants