-
Notifications
You must be signed in to change notification settings - Fork 64
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
Missing symbol after compilation #28
Comments
I did another test to check if the symbol is actually missing or not...
It seems that the symbol is present in the library... I must admit that I am a bit lost now! |
This is a symbol from Abseil library:
It's undefined in
It's weird because you've just compiled
|
@dmitriykovalev , thanks for the quick reply! Some additional details, if I compile using my CMakeLists.txt, I can follow the procedure explained in the abseil-gcc git (see [https://github.com/abseil/abseil-cpp/blob/master/CMake/README.md](this url) for the details). I had to do that as my development board doesn't have abseil in its package database. If I tried to compile and install abseil-cpp, and then I compile libedgetpu, it doesn't work. I think that this is because the CMakeLists.txt of abseil-cpp doesn't allow to compile a shared library. It has to be a static library. In the first case (makefile_build), this is the ldd -r of the created library:
In the CMakeLists.txt case, this is the corresponding output of ldd -r:
It seems that in the Makefile there are a couple of missing symbols. |
Makefile doesn't define any symbols, it only specifies which libraries to link with using I guess you should follow Traditional CMake Set-Up for Abseil in order to install all generated static/shared libraries to some common location like |
@pmdaye are you still having the issue? |
Hello everyone, Im facing the same issue with @pmdaye. But there are a few little differences:
I did the the things above, then I need to test it on the beagleboard X15. In order to do so, I used tflite repo. I tried to compile "classification" example, but it could not be compiled unless adding linker parameter "-fuse-ld=gold" Although the "classification" example was compiled successfully with gold linker, when I run the classification example on the target, I got the same "undefined symbol" error like @pmdaye's case.
My comments:
Thanks in advance, |
When you source build abseil-cpp, specify the shared library build options.
It seems that some symbols are missing in the static link library of abseil-cpp (Default compilation options). |
Hello,
I followed the process to compile libedgetpu using the makefile_build approach.
Everything went OK during the compilation.
However, we I run the test using:
I have a missing symbol:
I checked that this was not a mismatch between my tensorflow commit using this:
Which corresponds to the commit provided in https://github.com/google-coral/libedgetpu#makefile
Therefore, I think that I do have the correct version running... Maybe I did miss something?
Thank you for any help you could provide!
Pi-r
PS: I cannot use the bazel nor the docker approach as I am compiling this on an Ultrascale+ from Xilinx.
The text was updated successfully, but these errors were encountered: