[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fwd: Packaging TensorFlow for Debian



Hi Wookey,

Thanks for looking into this!

I assume you're still trying to build TensorFlow at version 2.2?
If so, all dependencies it uses can be found in: https://github.com/meteorcloudy/tensorflow/blob/r2.2-debian/tensorflow/workspace.bzl
For example, fft2d, re2, boringssl

The aws related libraries should be some "optional extras", but you may need to patch the code to remove some code dependencies.
To make sure Bazel fails when trying to download anything from internet, you can set
export http_proxy=127.0.0.1:9
export https_proxy=127.0.0.1:9

Cheers.
Yun


On Wed, Mar 31, 2021 at 4:45 PM Wookey <wookey@wookware.org> wrote:
 On 2021-01-27 13:41 +0100, Yun Peng wrote:
>    Hi Wookey,
>    This is a previous email I sent to some other Debian developer who's
>    interested in packaging TensorFlow, it's about building TF with system
>    libraries and without Internet access. Hope this helps!

It does indeed! Thanks very much for that.

>    Cheers,
>    Yun
>
>    ---------- Forwarded message ---------
>    From: Yun Peng <pcloudy@google.com>
>    Date: Fri, Jul 24, 2020 at 4:21 PM
>    Subject: Re: Packaging TensorFlow for Debian
>    To: Michael Crusoe <michael.crusoe@gmail.com>, Olek Wojnar
>    <olek@debian.org>
>
>    Hi Michael,
>    I have removed all Bazel related dependencies and integrated more system
>    libs at https://github.com/meteorcloudy/tensorflow/tree/r2.2-debian.
>    The remaining dependencies are:
>    (In NEW queue)
>    abseil-cpp

OK. This is now in debian as 'abseil', providing libabsl-dev (v0~20200923.3)
https://tracker.debian.org/pkg/abseil

>    (Packaged in Debian, but doesn't work due to version mismatch)
>    re2 (too new)

We have 20210201. What version(s) does tensorflow need?
https://tracker.debian.org/pkg/re2

>    boringssl (too old)
We have android-platform-external-boringssl at 10.0.0+r36. What versions does tensorflow need?
https://tracker.debian.org/pkg/android-platform-external-boringssl
But that's only for building android packages. Is there a native-linux version of this too?

>    (Packaged in Debian, but not yet integrated with the TF_SYSTEM_LIBS
>    approach)
>    eigen
>    highwayhash

So that's presumably https://tracker.debian.org/pkg/eigen3 (3.3.9) and https://tracker.debian.org/pkg/highwayhash (     0~git20200803.9490b14)
and fixing the build up to use the system versions shouldn't be too hard.

>    (Not available in Debian)
>    fft2d
Which bit of software is this? I found implentations in R and python and fortran and C. What exactly does tensorflow need?

>    farmhash

Presumably this: https://github.com/google/farmhash

>    aws-sdk-cpp
This: https://github.com/aws/aws-sdk-cpp
WNPP entry here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887374 (from 2018 - I'll see where they got to)

And these live in the awslabs account:
>    aws-c-event-stream https://github.com/awslabs/aws-c-event-stream
>    aws-checksums https://github.com/awslabs/aws-checksums
>    aws-c-common  https://github.com/awslabs/aws-c-common

Are all these build-deps required for a basic package or are some of
them for 'optional extras' which we can get to later after getting a
basic package uploaded? I'm a bit confused because I can already build
libtensorflow_framework.so which I thought was working without
external dependencies, but maybe it is sucking things off the
net. I've not checked rigorously yet.

Packaging all those bits looks like a significant chunk of work. I'll take a look.

Wookey
--
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/

Reply to: