chinmaygarde / flutter_from_scratch

A minimal Flutter Embedder from Scratch.
158 stars 26 forks source link

undefined reference to `fcntl64@GLIBC_2.28' #7

Open andyjjones28 opened 5 years ago

andyjjones28 commented 5 years ago

I cross compiled my flutter engine according the instructions in your article (flutter-on-raspberry-pi-mostly-from-scratch).

I placed flutter_embedder.h and libflutter_engine.so in the out/ directory and ran ninja, and I cannot get past this error (it has bothered me for a couple of weeks now). Any help would be greatly appreciated.

ninja: Entering directory `out'
[1/2] ⛓️  Link Executable: flutter
FAILED: obj/flutter/flutter/executables/flutter 
/home/andrew/flutter_from_scratch/tools/../sdk/toolchain/bin/clang -o obj/flutter/flutter/executables/flutter --target=arm-linux-gnueabihf --sysroot /home/andrew/flutter_from_scratch/tools/../sdk/sysroot  -L/home/andrew/flutter_from_scratch/tools/../sdk/sysroot//opt/vc/lib -L.  -lrt -lbrcmEGL -lbrcmGLESv2 -lflutter_engine -lpthread -ldl -lbcm_host -lvcos -lvchiq_arm -lm -lstdc++ @obj/flutter/flutter/executables/flutter.rsp
/home/andrew/flutter_from_scratch/tools/../sdk/toolchain/bin/arm-linux-gnueabihf-ld: ./libflutter_engine.so: undefined reference to `fcntl64@GLIBC_2.28'
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
limbouser commented 4 years ago

Can you be a bit elaborate about the steps you have used to build the flutter engine?

kumar-akshay324 commented 4 years ago

Did you get any success here? @andyjjones28

andyjjones28 commented 4 years ago

Did you get any success here? @andyjjones28

I didn't, sorry. And the company I was working for abandoned flutter on the Pi.

kumar-akshay324 commented 4 years ago

No worries. I found out it was eventually a problem with incompatible versions of glib for cross-compilation. I would assume you cross-compiled on <= Ubuntu 18 with GLIB 2.27 which is strictly not-forward compatible with GLIB2.28 on the Raspbian (Debian Buster). Faintly recalling, they have changed the header for fcntl64 to a macro in the latest version of GLIB.