Closed anoop54 closed 3 years ago
That seems like your OS doesn't meet the required GLIBC version for required for that so file. You can check with:
ldd --version
It needs to be 2.29 or above
Yeah, mine is 2.27, seems like I'll need to update from Ubuntu 18. Can you explain to me why the version I built does not work? I no longer get the GLIBC error, but get the following when using:
Code import tflite_runtime.interpreter as tflite posenet=tflite.load_delegate('./posenet_lib/x86_64/posenet_decoder.so') interpreter = tflite.Interpreter(model_path='posenet_mobilenet_v1_075_481_641_quant_decoder.tflite',experimental_delegates=[posenet]) interpreter.allocate_tensors()
Output: return self._interpreter.AllocateTensors() RuntimeError: Encountered unresolved custom op: edgetpu-custom-op.Node number 0 (edgetpu-custom-op) failed to prepare.
I build the posenet_decoder.so using the edgetpu repo and the commands you gave here: https://github.com/google-coral/edgetpu/issues/127#issuecomment-636036478
Also the version that gets built is 2.2mb where as the one in the repo is like 200kb.
@anoop54
well there are 2 libraries that needs to be loaded. Yo built your own lib and it actually works, but now you're having problem with libedgetpu
LOL
For libedgetpu, though, it's not as complicated, I think you just have an older version that isn't compatible with the current tflite_runtime
package. Try this:
sudo apt install libedgetpu1-std
Hi @Namburger
I tried to run the simple_pose.py
on ubuntu 18.04.
I installed pycoral_api, tf_runtime, and libedgetpu. when I execute the simple_pose.py
, I got the error message like below.
/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./posenet_lib/x86_64/posenet_decoder.so)
Exception ignored in: <function Delegate.__del__ at 0x7f427220f4d0>
Traceback (most recent call last):
File "/media/be/67F04CCE6BD713C5/Work/venv/python3.7/site-packages/tflite_runtime/interpreter.py", line 116, in __del__
if self._library is not None:
AttributeError: 'Delegate' object has no attribute '_library'
I wonder this project is available to run for only ubuntu 19 or higher version?
$ ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1.4) 2.27
Copyright (C) 2018 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.
Written by Roland McGrath and Ulrich Drepper.
@drimyus this is the same issue, you are going to have to build libedgetpu.so that matches your glibc, unfortunately
@Namburger Thank you for your response, btw can you let me know where I can check the guide to build the libedgetpu.so?
Former version of simple_pose.py could work on raspberry pi OS. But now, newest version of raspberry pi OS have GLIBC 2.28, so current simple_pose.py can't work on any raspberry pi. We need simple_pose.py which can work on raspberry pi OS. Would you give me any good idea?
@Yaskoga this is an issue with the OS, not an RPI, I think one think you can do is to upgrade glibc on the pi or recompile the armv7 binary with a lower glibc
@Yaskoga this is an issue with the OS, not an RPI, I think one think you can do is to upgrade glibc on the pi or recompile the armv7 binary with a lower glibc
Thanks for your reply. I installed UBUNTU 20.10 desktop which has GLIBC 2.32 to my raspberry pi4. And I tried install posenet. I succeeded to work simple_pose.py.
It seems issue was resolved. Feel free to reopen if still exists.
OSError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./posenet_lib/x86_64/posenet_decoder.so)
Any idea on this?
I compiled my own posenet_decoder as well, which results in a different error. Is this .so only working with ubuntu 20?