You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
The newest Armory SDK (2023.12) comes with the Krom player linked against Glibc 2.36. This makes it impossible to run on a Ubuntu 22.04 LTS which comes with Glibc 2.35. The error:
Read prefs: "/home/sheemeh/.config/blender/3.6/config/userpref.blend"
Running Armory SDK from /home/sheemeh/armsdk/
Read blend: "/home/sheemeh/armory_examples-22.06/logic_event_fromhaxe/logic_event_fromhaxe.blend"
Project updated to SDK v2023.12($Id: a37ffcb4d907facd1fac49da73140d27381e689a $)
Project cleaned
Using CPU for environment render (might be slow). If possible, configure GPU rendering in Blender preferences (System > Cycles Render Devices).
Saved: '/home/sheemeh/armory_examples-22.06/logic_event_fromhaxe/build_logic_event_fromhaxe/compiled/Assets/envmaps/env_World.jpg'
Time: 00:00.15 (Saving: 00:00.02)
CMFT info: Converting latlong image to cubemap.
CMFT info: Saving spherical harmonics coefficients to /home/sheemeh/armory_examples-22.06/logic_event_fromhaxe/build_logic_event_fromhaxe/compiled/Assets/envmaps/env_World_irradiance.c
CMFT info: Done.
"/home/sheemeh/armsdk/lib/armory_tools/cmft/cmft-linux64" --input "/home/sheemeh/armory_examples-22.06/logic_event_fromhaxe/build_logic_event_fromhaxe/compiled/Assets/envmaps/env_World_radiance.jpg" --filter radiance --dstFaceSize 128.0 --srcFaceSize 128.0 --excludeBase false --glossScale 8 --glossBias 3 --lightingModel blinnbrdf --edgeFixup none --numCpuProcessingThreads 2 --useOpenCL true --clVendor anyGpuVendor --deviceType gpu --deviceIndex 0 --generateMipChain true --inputGammaNumerator 1.0 --inputGammaDenominator 1.0 --outputGammaNumerator 1.0 --outputGammaDenominator 1.0 --outputNum 1 --output0 "/home/sheemeh/armory_examples-22.06/logic_event_fromhaxe/build_logic_event_fromhaxe/compiled/Assets/envmaps/env_World_radiance" --output0params hdr,rgbe,latlong --silent
#512x256
#256x128
#128x64
#64x32
#32x16
#16x8
#8x4
#4x2
#2x1
#1x1
/home/sheemeh/armsdk/nodejs/node-linux64 /home/sheemeh/armsdk/Kha/make krom -g opengl --shaderversion 330 --parallelAssetConversion -1 --to build_logic_event_fromhaxe/debug --quiet
Finished in 11.502s
/home/sheemeh/armsdk/Krom/Krom /home/sheemeh/armory_examples-22.06/logic_event_fromhaxe/build_logic_event_fromhaxe/debug/krom /home/sheemeh/armory_examples-22.06/logic_event_fromhaxe/build_logic_event_fromhaxe/debug/krom-resources
/home/sheemeh/armsdk/Krom/Krom: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.36' not found (required by /home/sheemeh/armsdk/Krom/Krom)
WARNING: Player exited code 1
Running /lib/x86_64-linux-gnu/libc.so.6 outputs:
GNU C Library (Ubuntu GLIBC 2.35-0ubuntu3.5) stable release version 2.35.
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 11.4.0.
libc ABIs: UNIQUE IFUNC ABSOLUTE
For bug reporting instructions, please see:
<https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.
To Reproduce
Run Blender with the Armory Addon installed on an Ubuntu LTS system, 22.04
Test File armory_examples-22.06.zip/logic_event_fromhaxe/logic_event_fromhaxe.blend
P.S. I successfully built the Krom player from the armocore repo, although it needed a few -dev packages I was missing on my system. I have renamed the output binary in ./Deployment directory, Armory, to Krom and replaced the one in Armory SDK. The latest commit built fails with the following error:
Using OpenGL version 4.6 (forward-compatible).
Trace: TypeError: Krom.createFragmentShader is not a function
at new kha_graphics4_FragmentShader (<anonymous>:45931:23)
at kha_Shaders.init (<anonymous>:27419:36)
at kha_SystemImpl.init (<anonymous>:28006:15)
at kha_System.start (<anonymous>:27686:18)
at start (<anonymous>:2866:15)
at armory_system_Starter.main (<anonymous>:2876:3)
at Main.main (<anonymous>:79:25)
at <anonymous>:51545:6
at <anonymous>:51546:3
#
# Fatal error in v8::Function::Call
# Function to be called is a null pointer
#
Using OpenGL version 4.6 (forward-compatible).
Trace: TypeError: Krom.setAudioCallback is not a function
at kha_SystemImpl.init (<anonymous>:28038:8)
at kha_System.start (<anonymous>:27686:18)
at start (<anonymous>:2866:15)
at armory_system_Starter.main (<anonymous>:2876:3)
at Main.main (<anonymous>:79:25)
at <anonymous>:51545:6
at <anonymous>:51546:3
Using LD_PRELOAD trick on a compiled glibc somewhere in /opt/ could work, but the amount of libs needed to manually list is ridiculously large. Chrooting Armory with a custom glibc could also work, but also too much hassle. I don't feel comfortable at just installing this compiled version over the system one. Distro upgrade is also not really an option.
tl;dr: which armorcore commit should one build in order to have a Krom that links against one's system glibc?
The text was updated successfully, but these errors were encountered:
tl;dr: which armorcore commit should one build in order to have a Krom that links against one's system glibc?
Hi, I sadly can't help you with glibc, but I believe the last working version for Armory is armory3d/armorcore@93b696f (at least it still works for me). In the linked issue, I didn't used "apply" to say "check out the repository at this commit", but rather to say "apply the changes from this commit (only) on top of your current repository state". Sorry about the misunderstanding :)
@vmitro
On debian 12 you can add this to your sources.list deb https://deb.debian.org/debian experimental main
Then do apt -t experimental install libc6
It will work
Not a bug per se, but nevertheless annoying.
Description
The newest Armory SDK (2023.12) comes with the Krom player linked against Glibc 2.36. This makes it impossible to run on a Ubuntu 22.04 LTS which comes with Glibc 2.35. The error:
Running
/lib/x86_64-linux-gnu/libc.so.6
outputs:To Reproduce
.blend
fileExpected behavior
The example plays successfully.
System
Blender:
./blender --version
output:Armory:
v2023.12($Id: a37ffcb4d907facd1fac49da73140d27381e689a $)
OS:
$ uname -a
output:Graphics card:
lspci | grep VGA
output:Test File
armory_examples-22.06.zip/logic_event_fromhaxe/logic_event_fromhaxe.blend
P.S. I successfully built the Krom player from the
armocore
repo, although it needed a few-dev
packages I was missing on my system. I have renamed the output binary in./Deployment
directory,Armory
, toKrom
and replaced the one in Armory SDK. The latest commit built fails with the following error:and the one suggested by @MoritzBrueckner in armocore issue #71 (91203c36994a770de878aa234aec7f52f46aff1a):
Using
LD_PRELOAD
trick on a compiled glibc somewhere in/opt/
could work, but the amount of libs needed to manually list is ridiculously large. Chrooting Armory with a custom glibc could also work, but also too much hassle. I don't feel comfortable at just installing this compiled version over the system one. Distro upgrade is also not really an option.tl;dr: which armorcore commit should one build in order to have a Krom that links against one's system glibc?
The text was updated successfully, but these errors were encountered: