nnstreamer / nnstreamer-example

Example applications of nnstreamer. Note that we have to enable the 'apptest" CI module in the near future.
GNU Lesser General Public License v2.1
79 stars 71 forks source link

[PPA] arm64 build failure #171

Open tony-jinwoo-ahn opened 4 years ago

tony-jinwoo-ahn commented 4 years ago

Hello, @gichan-jang I have a question. I tried ubuntu PPA for nnstreamer-example: https://launchpad.net/~nnstreamer-example/+archive/ubuntu/ppa/+packages

But there is build failure for arm64: https://launchpadlibrarian.net/480209386/buildlog_ubuntu-bionic-arm64.nnstreamer-example_0.1.1-0~202005161235~ubuntu18.04.1_BUILDING.txt.gz

Is it possible to resolve build failure? Do you have plan to support arm64 ubuntu PPA?

(FYI. I'm using headless ubuntu18.04 on raspberry pi 4b) Thank you.

taos-ci commented 4 years ago

:octocat: cibot: Thank you for posting issue #171. The person in charge will reply soon.

wooksong commented 4 years ago

@tony-jinwoo-ahn

$ sudo apt install tensorflow-dev

Is it work on your arm64 Ubuntu?

tony-jinwoo-ahn commented 4 years ago

No, not working.

$ sudo add-apt-repository ppa:nnstreamer/ppa
$ sudo apt-get update
$ sudo apt install tensorflow-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package tensorflow-dev
kparichay commented 4 years ago

I think you will have to use

sudo apt install tensorflow-c-dev
tony-jinwoo-ahn commented 4 years ago
$ sudo add-apt-repository ppa:nnstreamer/ppa
$ sudo add-apt-repository ppa:nnstreamer-example/ppa
$ sudo apt-get update

$ sudo apt install tensorflow-c-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package tensorflow-c-dev

$ sudo apt install nnstreamer-example
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package nnstreamer-example

@kparichay : PPA does not working on RaspberryPi4B (Ubuntu 18.04 ARM 64bit official version for rpi4)

kparichay commented 4 years ago

nnstreamer-ppa does not build tensorflow for arm64 architecture (only tensorflow-lite-dev). You can build tensorflow debian for arm64 yourself by allowing build for arm64 architecture in debian/control file with [tensorflow launchpad source].(https://launchpad.net/~nnstreamer/+archive/ubuntu/ppa/+sourcefiles/tensorflow/1.13.1+nns1-0~202007151448~ubuntu18.04.1/tensorflow_1.13.1+nns1-0~202007151448~ubuntu18.04.1.tar.gz).

tony-jinwoo-ahn commented 4 years ago

@kparichay Thank you, actually I've built nnstreamer and nnstreamer-example with only tflite. This issue is about support request for PPA. The "nnstreamer-example/ppa" for arm64 is broken now:

$ sudo add-apt-repository ppa:nnstreamer-example/ppa
$ sudo apt-get update
$ sudo apt install nnstreamer-example
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package nnstreamer-example

I can build manually, but PPA would be convenient to verify new device quickly.

My suggestion is... How about fix your PPA with modifying build option? e.g. don't build tensorflow for arm64, etc. I don't think the entire examples should be working on arm64. I think "PPA with only a few examples" would be better than "build failure".

kparichay commented 4 years ago

Regarding the nnstreamer-example/ppa, I think @gichan-jang can help.

gichan-jang commented 4 years ago

Ok, I will exclude tensorflow from nnstreamer-example ppa for the arm arch.

tony-jinwoo-ahn commented 4 years ago

Thank you!

gichan-jang commented 4 years ago

Now nnstreamer-example for the arm arch is available without tensorflow.

tony-jinwoo-ahn commented 4 years ago

@gichan-jang I cannot install from PPA on rpi4 ubuntu18.04 arm64, because of nnstreamer-tensorflow dependency.

ubuntu@ubuntu:~/nnstreamer$ sudo apt install nnstreamer-example 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nnstreamer-example : Depends: nnstreamer-tensorflow but it is not installable
E: Unable to correct problems, you have held broken packages.
gichan-jang commented 4 years ago

nnstreamer arm64 package is broken now. After merging this PR, It will be available. https://github.com/nnstreamer/nnstreamer/pull/2699

gichan-jang commented 4 years ago

NEW RULE for BRANCHES ( https://github.com/nnstreamer/nnstreamer/issues/2611 )

Due to NNStreamr 1.6.0 release, new features are managed in for-next branch until 9/25(maybe?) So, use staging ppa temporarily. https://launchpad.net/~nnstreamer/+archive/ubuntu/staging-ppa NNStreamer bionic arm64 is available now.

myungjoo commented 4 years ago

You need to remove dependency on nnstreamer-tensorflow for non amd64 arch in /debian/control:

https://github.com/nnstreamer/nnstreamer-example/blob/3eb357a739a639e9439b7b7e0f27aa05adfd7267/debian/control#L18

tony-jinwoo-ahn commented 4 years ago

Thank you!