MultiMC / Launcher

A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once
https://multimc.org/
Other
4.32k stars 883 forks source link

Compilation failure #2426

Closed TheCoder3156 closed 6 years ago

TheCoder3156 commented 6 years ago

System Information

MultiMC version: 0.6.1

Operating System: Raspbian (Linux)

Summary of the issue or suggestion:

Compilation failure on libnbtplusplus

What should happen:

MultiMC should compile

Steps to reproduce the issue (Add more if needed):

  1. Follow build instructions.

  2. Watch it give errors on libnbtplusplus.

Suspected cause:

libnbtplusplus

Logs/Screenshots:

CMakeFiles/MultiMC_nbt++.dir/src/tag_array.cpp.o:(.data.rel.ro+0x0): multiple definition of typeinfo for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x0): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_array.cpp.o:(.data.rel.ro+0xc): multiple definition oftypeinfo for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0xc): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_array.cpp.o:(.rodata+0x188): multiple definition of typeinfo name for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x114): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_array.cpp.o:(.rodata+0x19c): multiple definition oftypeinfo name for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x128): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.data.rel.ro+0x34): multiple definition of typeinfo for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x0): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.data.rel.ro+0x40): multiple definition oftypeinfo for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0xc): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.data.rel.ro+0x4c): multiple definition of typeinfo for nbt::tag_primitive<double>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x18): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.data.rel.ro+0x58): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x24): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.data.rel.ro+0x64): multiple definition of typeinfo for nbt::tag_primitive<long long>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x30): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.data.rel.ro+0x70): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x3c): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.data.rel.ro+0x7c): multiple definition of typeinfo for nbt::tag_primitive<short>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x48): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.data.rel.ro+0x88): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x54): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.rodata+0x18c): multiple definition of typeinfo name for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x114): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.rodata+0x1a0): multiple definition oftypeinfo name for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x128): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.rodata+0x1b4): multiple definition of typeinfo name for nbt::tag_primitive<double>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x13c): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.rodata+0x1d0): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x158): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.rodata+0x1ec): multiple definition of typeinfo name for nbt::tag_primitive<long long>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x174): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.rodata+0x208): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x190): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.rodata+0x224): multiple definition of typeinfo name for nbt::tag_primitive<short>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x1ac): first defined here CMakeFiles/MultiMC_nbt++.dir/src/tag_list.cpp.o:(.rodata+0x240): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x1c8): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.data.rel.ro+0x0): multiple definition of typeinfo for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x0): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.data.rel.ro+0xc): multiple definition oftypeinfo for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0xc): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.data.rel.ro+0x18): multiple definition of typeinfo for nbt::tag_primitive<double>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x18): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.data.rel.ro+0x24): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x24): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.data.rel.ro+0x30): multiple definition of typeinfo for nbt::tag_primitive<long long>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x30): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.data.rel.ro+0x3c): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x3c): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.data.rel.ro+0x48): multiple definition of typeinfo for nbt::tag_primitive<short>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x48): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.data.rel.ro+0x54): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x54): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.rodata+0x8c): multiple definition of typeinfo name for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x114): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.rodata+0xa0): multiple definition oftypeinfo name for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x128): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.rodata+0xb4): multiple definition of typeinfo name for nbt::tag_primitive<double>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x13c): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.rodata+0xd0): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x158): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.rodata+0xec): multiple definition of typeinfo name for nbt::tag_primitive<long long>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x174): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.rodata+0x108): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x190): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.rodata+0x124): multiple definition of typeinfo name for nbt::tag_primitive<short>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x1ac): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value.cpp.o:(.rodata+0x140): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x1c8): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.data.rel.ro+0x0): multiple definition of typeinfo for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x0): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.data.rel.ro+0xc): multiple definition oftypeinfo for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0xc): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.data.rel.ro+0x18): multiple definition of typeinfo for nbt::tag_primitive<double>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x18): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.data.rel.ro+0x24): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x24): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.data.rel.ro+0x30): multiple definition of typeinfo for nbt::tag_primitive<long long>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x30): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.data.rel.ro+0x3c): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x3c): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.data.rel.ro+0x48): multiple definition of typeinfo for nbt::tag_primitive<short>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x48): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.data.rel.ro+0x54): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x54): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.rodata+0x8c): multiple definition of typeinfo name for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x114): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.rodata+0xa0): multiple definition oftypeinfo name for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x128): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.rodata+0xb4): multiple definition of typeinfo name for nbt::tag_primitive<double>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x13c): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.rodata+0xd0): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x158): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.rodata+0xec): multiple definition of typeinfo name for nbt::tag_primitive<long long>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x174): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.rodata+0x108): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x190): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.rodata+0x124): multiple definition of typeinfo name for nbt::tag_primitive<short>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x1ac): first defined here CMakeFiles/MultiMC_nbt++.dir/src/value_initializer.cpp.o:(.rodata+0x140): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x1c8): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.data.rel.ro+0xc): multiple definition of typeinfo for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x0): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.data.rel.ro+0x18): multiple definition oftypeinfo for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0xc): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.data.rel.ro+0x24): multiple definition of typeinfo for nbt::tag_primitive<double>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x18): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.data.rel.ro+0x30): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x24): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.data.rel.ro+0x3c): multiple definition of typeinfo for nbt::tag_primitive<long long>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x30): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.data.rel.ro+0x48): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x3c): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.data.rel.ro+0x54): multiple definition of typeinfo for nbt::tag_primitive<short>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x48): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.data.rel.ro+0x60): multiple definition oftypeinfo for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.data.rel.ro+0x54): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.rodata+0x11c): multiple definition of typeinfo name for nbt::tag_array<int>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x114): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.rodata+0x130): multiple definition oftypeinfo name for nbt::tag_array' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x128): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.rodata+0x144): multiple definition of typeinfo name for nbt::tag_primitive<double>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x13c): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.rodata+0x160): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x158): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.rodata+0x17c): multiple definition of typeinfo name for nbt::tag_primitive<long long>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x174): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.rodata+0x198): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x190): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.rodata+0x1b4): multiple definition of typeinfo name for nbt::tag_primitive<short>' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x1ac): first defined here CMakeFiles/MultiMC_nbt++.dir/src/text/json_formatter.cpp.o:(.rodata+0x1d0): multiple definition oftypeinfo name for nbt::tag_primitive' CMakeFiles/MultiMC_nbt++.dir/src/tag.cpp.o:(.rodata+0x1c8): first defined here collect2: error: ld returned 1 exit status libraries/libnbtplusplus/CMakeFiles/MultiMC_nbt++.dir/build.make:380: recipe for target 'libMultiMC_nbt++.so' failed make[2]: [libMultiMC_nbt++.so] Error 1 CMakeFiles/Makefile2:118: recipe for target 'libraries/libnbtplusplus/CMakeFiles/MultiMC_nbt++.dir/all' failed make[1]: [libraries/libnbtplusplus/CMakeFiles/MultiMC_nbt++.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....`

Additional Info:

Raspbian is running on a armhf processor.

Janrupf commented 6 years ago

Weird... But uuhhh, even if we can fix this somehow minecraft is not going to run, just be warned.

TheCoder3156 commented 6 years ago

What do you mean it won’t run? Minecraft is written in Java and compiled at run time so it should work on armhf. I have done it before on 1.12.2 with the old official launcher.

On regards to the compilation failure I think it might be tag.cpp

TheCoder3156 commented 6 years ago

Okay, so I just compiled it on my Ubuntu 18.04 P.C. It succeeded which then leads me to believe it might be an outdated library on Raspbian (Raspbian is notorious for its outdated packages).

peterix commented 6 years ago

I would really ask what version of the compiler is it...

TheCoder3156 commented 6 years ago

Oops forgot to close this after conforming something outdated. Btw its gcc 6.3.0 if your wondering.