-
Notifications
You must be signed in to change notification settings - Fork 29
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
libflutter so cannot be loaded #36
Comments
I'll take a look this weekend |
Hi @jwinarske Is there any progress on the issue? |
@ranciere not yet. Just finished setting up my new build machine. Soon |
I've also bought a new machine (Ryzen 9 3900X) because of the compilation time :D |
My 3960X officially went into service yesterday :D |
Hi @jwinarske Could you deal with it? |
It should look something like this
|
What do you get from |
Hi @jwinarske ,
The output of the stracing:
|
It looks like it fails to load locale resources, then fails. Which is why I tagged this "locale".
|
i have same problem.
readelf -d ./libflutter_engine.so | grep 'NEEDED'
If i take https://github.com/ardera/flutter-pi/blob/engine-binaries/libflutter_engine.so and run readelf -d ./libflutter_engine.so | grep 'NEEDED'
and
|
cmake .. -DCHANNEL=stable -DENGINE_RUNTIME_MODE=release
|
@jwinarske i think it is not locale problem.
|
Maybe this is our problem? |
I solved problem. @jwinarske @ranciere
|
@DisDis that's called a workaround, not a solution ;) |
@jwinarske but new flutter will release after ~1 month, and beta will be stable:) |
Yes, problem in clang 8.0, but how can we solve it? |
beta has clang 11, prior has clang 8. |
I found main issue.
flutter-engine-beta-release $ strace /lib/ld-linux-armhf.so.3 --verify ./libflutter_engine.so
Investigation:
9103084 = 0x8ae6ec is section header.
WORK Shared object
difference in one section
Okk, try run readelf -A ./libbeta.so
I think ld or dlopen check ".ARM.attributes" section and it fail when section is miss. |
I like your perseverance 🥇 What's different between the two toolchains are the pre-built libs. The so link command is identical between the two. I'm considering adding building Clang built-ins, and compiler-rt before the engine is linked. This would minimize toolchain pre-built and target dependency to just crt1/crti/crtn. I believe this will resolve the problem, as well as provide an optimized rt. I'm out on vacation till mid next week, then I start a new job working with Flutter platform architecture! So the soonest I will start this is next weekend. I have the Clang build stages done in another project for Clang/MUSL, so it shouldn't be too bad. |
It is very cool. this also unlocks AOT for emb flutter, because snapshot_gen creates a "bad" libapp.so. |
Not sure what channel is not working, but I have AOT working in my Wayland flutter project. I have steps documented to generate an AOT here: |
Hmm, i used gen_snapshot from channel=dev and it generated "bad" shared object. Ok i look at Wayland project. |
@DisDis IIRC one of the host side tools does not build correctly. I pulled the "bad" host-side tool from a manual x86_64 engine build. |
Closing this out due to inactivity |
The library loading problem is still an issue. Output of running flutter_glfw:
/flutter_glfw: error while loading shared libraries: libflutter_engine.so: cannot open shared object file: No such file or directory
The libflutter_engine.so is in
usr/lib/arm-linux-gnueabihf/libflutter_engine.so
. The executable tries to load it, but it is unsuccessful.The text was updated successfully, but these errors were encountered: