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
928 stars 100 forks source link

Can't build with experimental ARM support #44

Open yagomont opened 5 years ago

yagomont commented 5 years ago

I followed the instructions in the (deprecated) wiki: cd mcpelauncher-linux-bin git checkout armhf cd .. cd minecraft-symbols/tools python3 process_headers.py --armhf cd ..

However, upon running the python script, void minecraft_symbols_init outputs a lot of error garbage, and the package cannot be built. Most of the messages include something about unresolved symbols.

Here's a sample line: if (_web_json_value_value == nullptr) Log::error("MinecraftSymbols", "Unresolved symbol: %s", "_ZN3web4json5valueC2Ev");

MCMrARM commented 5 years ago

That's not garbage :/ The script just both prints the code to file and the log.

Though you'll have issues running the ARM client build right now and if you want to do that I'd suggest you to join the Discord. Otherwise this can be continued in this issue.

yagomont commented 5 years ago

What issues, are they severe? If that's the case, I'd rather not.

MCMrARM commented 5 years ago

The fact that this stuff is still pretty experimental and that noone has attempted to do this yet, so unexpected issues may arise and debugging this on Discord would be way faster (optionally IRC, if you prefer that).

Currently you might not be able to start the client as-is as a small source code patch might be needed.

soyflourbread commented 5 years ago

Please make ARM support happen! I tried building it on arm64, but cmake fails to find "Thread" when building libhybris.

Mhowser commented 5 years ago

I failed to build on RPI 3b+. It would be nice to see this get fixed.

On Wed, Feb 13, 2019, 5:25 AM Black Hat <notifications@github.com wrote:

Please make ARM support happen! I tried building it on arm64, but cmake fails to find "Thread" when building libhybris.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/minecraft-linux/mcpelauncher-manifest/issues/44#issuecomment-463198242, or mute the thread https://github.com/notifications/unsubscribe-auth/AXEx9M400U_1XD1elS06BPzvnPnrsPENks5vNBJjgaJpZM4ZhV1Y .

soyflourbread commented 5 years ago

Ok, now I got the dedicated server compiled on armhf. However, launching mcpelauncher-server causes exception. Seems like something related to openssl. Here's the full log:

14:17:35 Trace [Launcher] Loading Minecraft library
Signal 11 received
Backtrace elements: 2
#0 mcpelauncher-server(_ZN12CrashHandler12handleSignalEiPv+0x9c) [0x9f9dc]
#1 /lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer+0) [0x76b886b0]
Dumping stack...
#93 HYBRIS (null)+0 in libc.so+0x59dad [0x76af0dad]
#94 HYBRIS (null)+1990635332 in libminecraftpe.so+0x4c44f44 [0x76a6af44]
#97 HYBRIS (null)+1990635600 in libminecraftpe.so+0x4c45050 [0x76a6b050]
#100 HYBRIS (null)+1988043164 in libminecraftpe.so+0x49cc19c [0x767f219c]
#102 HYBRIS (null)+1988453752 in libminecraftpe.so+0x4a30578 [0x76856578]
#104 HYBRIS (null)+232 in libminecraftpe.so+0x1363c1c [0x73189c1c]
#105 HYBRIS (null)+5 in libc.so+0x59db2 [0x76af0db2]
#152 HYBRIS (null)+1988456448 in libminecraftpe.so+0x4a31000 [0x76857000]
#207 HYBRIS (null)+8 in libminecraftpe.so+0x3ed7574 [0x75cfd574]
#220 HYBRIS (null)+1988456448 in libminecraftpe.so+0x4a31000 [0x76857000]
#223 HYBRIS boost::asio::ssl::detail::openssl_init<true>::instance_+0 in libminecraftpe.so+0x4a4c19c [0x7687219c]
#235 HYBRIS boost::asio::ssl::detail::openssl_init<true>::instance_+0 in libminecraftpe.so+0x4a4c19c [0x7687219c]
#242 HYBRIS (null)+8 in libminecraftpe.so+0x3ed7574 [0x75cfd574]
#244 HYBRIS boost::asio::ssl::detail::openssl_init_base::do_init::do_init()+56 in libminecraftpe.so+0x137b25d [0x731a125d]
#255 HYBRIS (null)+1988456448 in libminecraftpe.so+0x4a31000 [0x76857000]
#258 HYBRIS boost::asio::ssl::detail::openssl_init<true>::instance_+0 in libminecraftpe.so+0x4a4c19c [0x7687219c]
#265 HYBRIS (null)+1990635332 in libminecraftpe.so+0x4c44f44 [0x76a6af44]
#268 HYBRIS (null)+1990635600 in libminecraftpe.so+0x4c45050 [0x76a6b050]
#269 HYBRIS (null)+208 in libminecraftpe.so+0x1363c04 [0x73189c04]
#270 HYBRIS (null)+1988540252 in libminecraftpe.so+0x4a4575c [0x7686b75c]
#271 HYBRIS (null)+1988043164 in libminecraftpe.so+0x49cc19c [0x767f219c]
#278 HYBRIS boost::asio::ssl::detail::openssl_init<true>::instance_+0 in libminecraftpe.so+0x4a4c19c [0x7687219c]
#285 HYBRIS (null)+8 in libminecraftpe.so+0x3ed7574 [0x75cfd574]
#287 HYBRIS boost::asio::ssl::detail::openssl_init_base::do_init::do_init()+56 in libminecraftpe.so+0x137b25d [0x731a125d]
#298 HYBRIS (null)+1988456448 in libminecraftpe.so+0x4a31000 [0x76857000]
#301 HYBRIS boost::asio::ssl::detail::openssl_init<true>::instance_+0 in libminecraftpe.so+0x4a4c19c [0x7687219c]
#313 HYBRIS boost::asio::ssl::detail::openssl_init_base::instance()+48 in libminecraftpe.so+0x137b169 [0x731a1169]
#314 HYBRIS boost::asio::ssl::detail::openssl_init<true>::instance_+0 in libminecraftpe.so+0x4a4c19c [0x7687219c]
#317 HYBRIS (null)+1929984349 in libminecraftpe.so+0x126d95d [0x7309395d]
#327 HYBRIS (null)+1987962168 in libminecraftpe.so+0x49b8538 [0x767de538]
#329 HYBRIS (null)+1929984321 in libminecraftpe.so+0x126d941 [0x73093941]
#341 HYBRIS (null)+1987974904 in libminecraftpe.so+0x49bb6f8 [0x767e16f8]
#901 HYBRIS (null)+1920169263 in libminecraftpe.so+0x91152f [0x7273752f]
#908 HYBRIS vtable for LightningBolt+83 in libminecraftpe.so+0x4900573 [0x76726573]
Aborted
soyflourbread commented 5 years ago

Oh it actually worked! I forgot to set the environment variable export OPENSSL_armcap=0.

Minecraft Bedrock server on Raspberry Pi finally!

Mhowser commented 5 years ago

What did you compile it on? I really want to get this working

On Wed, Feb 13, 2019, 10:07 PM Black Hat <notifications@github.com wrote:

Oh it actually worked! I forgot to set the environment variable.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/minecraft-linux/mcpelauncher-manifest/issues/44#issuecomment-463502996, or mute the thread https://github.com/notifications/unsubscribe-auth/AXEx9DKEpaZSpYAfu7CrWeNc16ZOnjqDks5vNP03gaJpZM4ZhV1Y .

soyflourbread commented 5 years ago

What did you compile it on? I really want to get this working On Wed, Feb 13, 2019, 10:07 PM Black Hat @.*** wrote: Oh it actually worked! I forgot to set the environment variable. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#44 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AXEx9DKEpaZSpYAfu7CrWeNc16ZOnjqDks5vNP03gaJpZM4ZhV1Y .

On a Raspberry Pi 3 running Raspbian Lite.

CamGenius commented 5 years ago

I am trying to compile for armhf on the raspberry pi 3b+. I have almost got it and have narrowed down the issue but am unsure of how to fix it. The file main.cpp in mcpelauncher-client does not include "legacy/legacy_patches.h" and "minecraft_game_wrapper.h" when armhf build is initialized but instead includes "armhf_support.h". This causes issues on lines 120, 147, 152, 155, 161, and 169 where methods from those 2 files are called. Any help would be much appreciated.

MCMrARM commented 5 years ago

...so I broke it again. If you can PM me on discord (mrarm#2392) I will help you get it working.

filipef101 commented 5 years ago
Details ``` ubuntu@ubuntu:~$ mcpelauncher-server -dg /home/ubuntu/mc1.12 12:25:09 Trace [HybrisUtils] Loaded OS library libz.so.1 12:25:09 Trace [Launcher] Loading Minecraft library Signal 11 received Backtrace elements: 2 #0 mcpelauncher-server(_ZN12CrashHandler12handleSignalEiPv+0x85) [0x4ee04a] #1 /lib/arm-linux-gnueabihf/libc.so.6(+0x25750) [0x76cbb750] Dumping stack... #77 HYBRIS (null)+1991748552 in libminecraftpe.so+0x5250bc8 [0x76b7abc8] #80 HYBRIS (null)+1991748820 in libminecraftpe.so+0x5250cd4 [0x76b7acd4] #93 HYBRIS (null)+0 in libc.so+0x59dad [0x76c00dad] #94 HYBRIS (null)+1991748552 in libminecraftpe.so+0x5250bc8 [0x76b7abc8] #97 HYBRIS (null)+1991748820 in libminecraftpe.so+0x5250cd4 [0x76b7acd4] #100 HYBRIS (null)+1989079328 in libminecraftpe.so+0x4fc5120 [0x768ef120] #102 HYBRIS (null)+1989473652 in libminecraftpe.so+0x5025574 [0x7694f574] #104 HYBRIS (null)+232 in libminecraftpe.so+0x14b6178 [0x72de0178] #105 HYBRIS (null)+5 in libc.so+0x59db2 [0x76c00db2] #146 HYBRIS boost::asio::detail::posix_tss_ptr::context>::~posix_tss_ptr()+0 in libminecraftpe.so+0x151ab6f [0x72e44b6f] #147 HYBRIS (null)+1989476352 in libminecraftpe.so+0x5026000 [0x76950000] #152 HYBRIS boost::asio::ssl::detail::openssl_init::instance_+0 in libminecraftpe.so+0x504b6e8 [0x769756e8] #216 HYBRIS boost::asio::detail::posix_tss_ptr::context>::~posix_tss_ptr()+0 in libminecraftpe.so+0x151ab6f [0x72e44b6f] #217 HYBRIS (null)+1989476352 in libminecraftpe.so+0x5026000 [0x76950000] #222 HYBRIS boost::asio::ssl::detail::openssl_init::instance_+0 in libminecraftpe.so+0x504b6e8 [0x769756e8] #236 HYBRIS boost::asio::ssl::detail::openssl_init::instance_+0 in libminecraftpe.so+0x504b6e8 [0x769756e8] #243 HYBRIS (null)+8 in libminecraftpe.so+0x43b3f74 [0x75cddf74] #245 HYBRIS boost::asio::ssl::detail::openssl_init_base::do_init::do_init()+56 in libminecraftpe.so+0x151c2f5 [0x72e462f5] #253 HYBRIS boost::asio::detail::posix_tss_ptr::context>::~posix_tss_ptr()+0 in libminecraftpe.so+0x151ab6f [0x72e44b6f] #254 HYBRIS (null)+1989476352 in libminecraftpe.so+0x5026000 [0x76950000] #259 HYBRIS boost::asio::ssl::detail::openssl_init::instance_+0 in libminecraftpe.so+0x504b6e8 [0x769756e8] #265 HYBRIS (null)+1991748552 in libminecraftpe.so+0x5250bc8 [0x76b7abc8] #268 HYBRIS (null)+1991748820 in libminecraftpe.so+0x5250cd4 [0x76b7acd4] #271 HYBRIS (null)+208 in libminecraftpe.so+0x14b6160 [0x72de0160] #272 HYBRIS (null)+1989579224 in libminecraftpe.so+0x503f1d8 [0x769691d8] #273 HYBRIS (null)+1989079328 in libminecraftpe.so+0x4fc5120 [0x768ef120] #282 HYBRIS boost::asio::ssl::detail::openssl_init::instance_+0 in libminecraftpe.so+0x504b6e8 [0x769756e8] #289 HYBRIS (null)+8 in libminecraftpe.so+0x43b3f74 [0x75cddf74] #291 HYBRIS boost::asio::ssl::detail::openssl_init_base::do_init::do_init()+56 in libminecraftpe.so+0x151c2f5 [0x72e462f5] #299 HYBRIS boost::asio::detail::posix_tss_ptr::context>::~posix_tss_ptr()+0 in libminecraftpe.so+0x151ab6f [0x72e44b6f] #300 HYBRIS (null)+1989476352 in libminecraftpe.so+0x5026000 [0x76950000] #305 HYBRIS boost::asio::ssl::detail::openssl_init::instance_+0 in libminecraftpe.so+0x504b6e8 [0x769756e8] #315 HYBRIS boost::asio::ssl::detail::openssl_init_base::instance()+48 in libminecraftpe.so+0x151c201 [0x72e46201] #316 HYBRIS boost::asio::ssl::detail::openssl_init::instance_+0 in libminecraftpe.so+0x504b6e8 [0x769756e8] #319 HYBRIS (null)+1926077109 in libminecraftpe.so+0x13afab5 [0x72cd9ab5] #329 HYBRIS (null)+1988997684 in libminecraftpe.so+0x4fb1234 [0x768db234] #330 HYBRIS (null)+1905434624 in libminecraftpe.so+0x0000 [0x7192a000] #333 HYBRIS (null)+1926077081 in libminecraftpe.so+0x13afa99 [0x72cd9a99] #342 HYBRIS (null)+1989011748 in libminecraftpe.so+0x4fb4924 [0x768de924] #543 HYBRIS (null)+1920169263 in libminecraftpe.so+0xe0d52f [0x7273752f] #546 HYBRIS cohtml::dom::HTMLVideoElement::CloneNode(bool) const+196 in libminecraftpe.so+0x3cecc65 [0x75616c65] #549 HYBRIS (null)+1919252082 in libminecraftpe.so+0xd2d672 [0x72657672] #863 HYBRIS (null)+1919253037 in libminecraftpe.so+0xd2da2d [0x72657a2d] Aborted (core dumped)

I get that output when I try to run it after export OPENSSL_armcap=0

ArcSmurf commented 4 years ago

I have been able to build on my rpi 2b. Grabbed the latest minecraft 1.12.1.1.apk from my android tablet and extracted it. When running its gets as far as

/app/bin/mcpelauncher-server -dd /home/pi/minecraft -dg /app/minecraft/1.12.1.1

14:38:25 Trace [Launcher] Adding world resource packs

reset of error:

Signal 11 received Backtrace elements: 2

0 /app/bin/mcpelauncher-server(_ZN12CrashHandler12handleSignalEiPv+0x9c) [0xb14d8]

1 /lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer+0) [0x76b1a120]

Dumping stack...

35 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

110 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

112 HYBRIS (null)+1987502364 in libminecraftpe.so+0x4fc511c [0x7676e11c]

114 HYBRIS (null)+1987502364 in libminecraftpe.so+0x4fc511c [0x7676e11c]

119 HYBRIS (null)+1990200064 in libminecraftpe.so+0x5257b00 [0x76a00b00]

123 HYBRIS (null)+1975594745 in libminecraftpe.so+0x4469ef9 [0x75c12ef9]

125 HYBRIS SemVersion::_parseVersionToString()+478 in libminecraftpe.so+0x3364d93 [0x74b0dd93]

127 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

128 HYBRIS (null)+1987417508 in libminecraftpe.so+0x4fb05a4 [0x767595a4]

130 HYBRIS (null)+1986355760 in libminecraftpe.so+0x4ead230 [0x76656230]

131 HYBRIS (null)+1986356016 in libminecraftpe.so+0x4ead330 [0x76656330]

138 HYBRIS (null)+1990198048 in libminecraftpe.so+0x5257320 [0x76a00320]

155 HYBRIS (null)+1936026977 in libminecraftpe.so+0x1eadd61 [0x73656d61]

217 HYBRIS ResourcePackStack::_populateDependencies(std::vector<PackInstance, std::allocator >&, PackInstance&, ResourcePackRepository const&, bool)+182 in libminecraftpe.so+0x25eac7d [0x73d93c7d]

241 HYBRIS (null)+1975789817 in libminecraftpe.so+0x44998f9 [0x75c428f9]

245 HYBRIS Core::FilePathManager::HOME_DIR+18 in libminecraftpe.so+0x5239ed6 [0x769e2ed6]

247 HYBRIS Core::PathBuffer Core::PathBuffer::_join(Core::PathPart const*, unsigned int)+258 in libminecraftpe.so+0x150d973 [0x72cb6973]

252 HYBRIS (null)+1990200064 in libminecraftpe.so+0x5257b00 [0x76a00b00]

253 HYBRIS (null)+1990200064 in libminecraftpe.so+0x5257b00 [0x76a00b00]

255 HYBRIS (null)+1990200064 in libminecraftpe.so+0x5257b00 [0x76a00b00]

267 HYBRIS Core::FilePathManager::getWorldsPath() const+170 in libminecraftpe.so+0x3388e53 [0x74b31e53]

272 HYBRIS Core::FilePathManager::HOME_DIR+4 in libminecraftpe.so+0x5239ec8 [0x769e2ec8]

634 HYBRIS (null)+1969319013 in libminecraftpe.so+0x3e6dc65 [0x75616c65]

637 HYBRIS (null)+1919252082 in libminecraftpe.so+0xeae672 [0x72657672]

730 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

731 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

835 HYBRIS vtable for SkinPackKeyProvider+8 in libminecraftpe.so+0x4eb6140 [0x7665f140]

838 HYBRIS vtable for MinecraftEventing+8 in libminecraftpe.so+0x4ed2a84 [0x7667ba84]

839 HYBRIS vtable for MinecraftEventing+748 in libminecraftpe.so+0x4ed2d68 [0x7667bd68]

858 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

904 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

905 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

906 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

907 HYBRIS (null)+1990200076 in libminecraftpe.so+0x5257b0c [0x76a00b0c]

930 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

933 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

936 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

939 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

942 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

945 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

951 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

954 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

957 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

960 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

963 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

966 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

969 HYBRIS Ability::operator!=(Ability const&) const+12 in libminecraftpe.so+0x2987203 [0x74130203]

972 HYBRIS Ability::operator!=(Ability const&) const+12 in libminecraftpe.so+0x2987203 [0x74130203]

975 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

978 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

981 HYBRIS Ability::operator!=(Ability const&) const+11 in libminecraftpe.so+0x2987202 [0x74130202]

ChristopherHX commented 4 years ago

@ArcSmurf @filipef101

ArcSmurf commented 4 years ago

@ChristopherHX many thanks for the update. Am away this weekend but will have a reward when back early next week.

Update 30/09/2019: I downloaded your server and it rumns happily - now have a server running happily - thanks for the updates