Skip to content
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

Build failing for custom tensorflow inside docker #55

Open
DreamingRaven opened this issue Jan 14, 2020 · 6 comments
Open

Build failing for custom tensorflow inside docker #55

DreamingRaven opened this issue Jan 14, 2020 · 6 comments

Comments

@DreamingRaven
Copy link

DreamingRaven commented Jan 14, 2020

I believe there needs to be a patch applied to allow tensorflow to build with newer grpc versions, as tensorflow only supports a single commit of grpc.

I believe this is related to:

Error message

cc1plus: warning: command line option '-Wno-implicit-function-declaration' is valid for C/ObjC but not for C++
ERROR: /home/archie/.cache/bazel/_bazel_archie/ddef78ddb52319615715a709a4a5202c/external/grpc/BUILD:507:1: C++ compilation of rule '@grpc//:gpr_base' failed (Exit 1)
external/grpc/src/core/lib/gpr/log_linux.cc:43:13: error: ambiguating new declaration of 'long int gettid()'
   43 | static long gettid(void) { return syscall(__NR_gettid); }
      |             ^~~~~~
In file included from /usr/include/unistd.h:1170,
                 from external/grpc/src/core/lib/gpr/log_linux.cc:41:
/usr/include/bits/unistd_ext.h:34:16: note: old declaration '__pid_t gettid()'
   34 | extern __pid_t gettid (void) __THROW;
      |                ^~~~~~
external/grpc/src/core/lib/gpr/log_linux.cc:43:13: warning: 'long int gettid()' defined but not used [-Wunused-function]
   43 | static long gettid(void) { return syscall(__NR_gettid); }
      |             ^~~~~~
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
ERROR: /home/archie/git/tf-seal/tensorflow-c-17/tensorflow/tools/pip_package/BUILD:49:1 C++ compilation of rule '@grpc//:gpr_base' failed (Exit 1)
INFO: Elapsed time: 108.783s, Critical Path: 30.85s
INFO: 682 processes: 682 local.
FAILED: Build did NOT complete successfully
make: *** [Makefile:52: tensorflow] Error 1

Reproduce

Using this arch dockerfile in current directory:
https://github.com/DreamingRaven/nemesyst/blob/37b7c546f7e9c0c85f4916a8c57b07f4e2c26f90/examples/containers/tf_seal/Dockerfile

  • sudo docker build -t archer/tf_seal .

  • sudo docker run --gpus all -it archer/tf_seal bash or if there is no nvidia container toolkit sudo docker run -it archer/tf_seal bash to get an interactive terminal

  • cd ~/git/tf-seal/

  • make tensorflow

@justin1121
Copy link
Member

Hey @DreamingRaven thanks for the issue. We're not actively supporting arch linux right now but would happily accept a PR that fixes this issue as long as it runs on ubuntu 19.04 as well.

@DreamingRaven
Copy link
Author

DreamingRaven commented Jan 17, 2020

No probs @justin1121 I figured as much, I will be working on a fix in the background slowly as its not a top priority for me at this current point in time. But at some point in the next month or so I will look further into it as it would be preferable to be able to use up-to-date arch tools inside the container.

However do you happen to have a working ubuntu dockerfile/ docker-compose for tf-seal at the moment so that I can compare, and check compatibility of any of my own changes? Sorry I didn't see it on first check.

@justin1121
Copy link
Member

Awesome 😄. Definitely able to lend a hand if you get stuck anywhere. Feel free to reach out.

@mortendahl
Copy link
Member

Hi @DreamingRaven, just wanted to check if there are any updates here?

@DreamingRaven
Copy link
Author

DreamingRaven commented Apr 21, 2020

@mortendahl Appologies, due to constraints + CKKS scheme, I have gone pure pybind11 + seal v 3.4.5 so I can have more fine grain control of the encryption and serialisation for databases. but I will need to move to GPU soon for neural network speedup which will likely lead me back here to create an arch compatible build.

@CharlesKung
Copy link

@DreamingRaven Hi, did you find any framework that could support GPU speedup for encrypted data? I'm not quite sure this lib could be usble.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants