Skip to content
This repository has been archived by the owner on Mar 30, 2022. It is now read-only.

Prebuilt tensorflow library doesn't contain all symbols from C++ tensorflow API #436

Open
ematejska opened this issue Apr 29, 2020 · 0 comments

Comments

@ematejska
Copy link
Contributor

Imported from JIRA: https://bugs.swift.org/browse/TF-1177

Type: Bug Priority: Minor
Reporter: Andrey Volodin Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None

I'm trying to implement a custom op with a S4TF. I'm successfully compile an .so file with custom kernel representation, but when I try to load it via TF_LoadLibrary, I get this message:

TF_Code(rawValue: 5)

dlopen(custom-op-master/tensorflow_zero_out/cc/zero_out.so, 6): Symbol not found: __ZN10tensorflow10DEVICE_CPUE

  Referenced from: custom-op-master/tensorflow_zero_out/cc/zero_out.so

  Expected in: flat namespace

 in custom-op-master/tensorflow_zero_out/cc/zero_out.so

After an investigation I think that prebuilt artifact that comes with toolchain simply doesn't contain that symbol which I think comes from Eigen. Is it possible to ship a broader binary with toolchain?

In order to compile a 3rd party I did the following:

Installed tensorflow with the version from Swift repo configuration json
Obtain headers from there
Compiled custom op example with both regular g++ and clang that comes with toolchain
linked zero_out.so to libtensorflow that comes with toolchain

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant