Topics

Unable to extract tar file #yocto #dunfell


Vijay Rakesh Munganda
 

Hi All,

I'm trying to install the Tokbox library into the build, but the tar file is not getting extracted into the folder. Here is my recipe code, kindly please help me where I went wrong.
Recipe:

DESCRIPTION = "libopentok for arm64"
HOMEPAGE = "https://tokbox.com"
 
 
SRC_URI = "https://s3.amazonaws.com/artifact.tokbox.com/rel/opentok-linux-sdk/libopentok_linux_llvm_arm64-2.18.1.tgz"
SRC_URI[sha256sum] = "7ae2b85940a4e16299a4ec5f4341b6b92c71abdb5ef6949508873bd8a2f53abc"
 
S= "${WORKDIR}/tokbox"
 
inherit cmake
Error: 
CMake Error: The source directory "/home/test/target/bsp/tmp/work/aarch64-poky-linux/tokbox/1.0-r0/tokbox" does not appear to contain CMakeLists.txt.

Thanks & Regards,
Vijay Rakesh


Vijay Rakesh Munganda
 

Anyone, please suggest.

Thanks,
Vijay Rakesh


Zoran
 

Just maybe... This web pointer can help you!

https://stackoverflow.com/questions/46448682/cmake-error-the-source-does-not-appear-to-contain-cmakelists-txt/52068568

Zoran
_______

On Fri, Jan 8, 2021 at 7:18 AM Vijay Rakesh Munganda
<vijayrakeshmunganda@gmail.com> wrote:

Anyone, please suggest.

Thanks,
Vijay Rakesh


Vijay Rakesh Munganda
 

Hi Zoran,

Thanks for the reply. The reason behind CMakeLists.txt does not appear is because tgz file is getting extracted into the source folder, it is empty when I checked. My recipe is unable to extract the tgz file which is download in the downloads directory. Do I need to write something specifically for extracting tgz file in the recipe?

Thanks,
Vijay Rakesh.


 

On Fri, 8 Jan 2021 at 08:49, Vijay Rakesh Munganda
<vijayrakeshmunganda@gmail.com> wrote:

Hi Zoran,

Thanks for the reply. The reason behind CMakeLists.txt does not appear is because tgz file is getting extracted into the source folder, it is empty when I checked. My recipe is unable to extract the tgz file which is download in the downloads directory. Do I need to write something specifically for extracting tgz file in the recipe?
Does the .tgz file get placed in ${WORKDIR} without being extracted?

Also, which Yocto Project version/branch are you using?

Thanks,

--
Paul Barker
Konsulko Group


Vijay Rakesh Munganda
 

Hi Paul Barker,

No,
${WORKDIR}/tokbox directory is empty, it is not getting placed. I can only see it in the downloads directory.

I'm Yocto Project Dunfell version.

Thanks,
Vijay Rakesh.


Quentin Schulz
 

Hi,

On Fri, Jan 08, 2021 at 01:19:51AM -0800, Vijay Rakesh Munganda wrote:
Hi Paul Barker,

No, ${WORKDIR}/tokbox directory is empty, it is not getting placed. I can only see it in the downloads directory.
S = "${WORKDIR}/libopentok_linux_llvm_arm64"

This is the root directory of your archive and should be used for `S`

Cheers,
Quentin


 

On Fri, 8 Jan 2021 at 09:20, Vijay Rakesh Munganda
<vijayrakeshmunganda@gmail.com> wrote:

Hi Paul Barker,

No, ${WORKDIR}/tokbox directory is empty, it is not getting placed. I can only see it in the downloads directory.

I'm Yocto Project Dunfell version.
What I mean is, do you see the file
"libopentok_linux_llvm_arm64-2.18.1.tgz" itself under ${WORKDIR}? i.e.
has it been copied instead of extracted?

Also, please quote the email you're replying to for the benefit of
others on the mailing list. Replying inline like this is preferred.

Thanks,

--
Paul Barker
Konsulko Group


Vijay Rakesh Munganda
 

On Fri, Jan 8, 2021 at 01:28 AM, Paul Barker wrote:
Hi Paul Barker,

No, ${WORKDIR}/tokbox directory is empty, it is not getting placed. I can only see it in the downloads directory.

I'm Yocto Project Dunfell version.
What I mean is, do you see the file
"libopentok_linux_llvm_arm64-2.18.1.tgz" itself under ${WORKDIR}? i.e.
has it been copied instead of extracted?

Also, please quote the email you're replying to for the benefit of
others on the mailing list. Replying inline like this is preferred.

Thanks,

--
Paul Barker
Konsulko Group
I figured out URL is hyperlinked with another URL. When I use a hyperlinked URL it is getting copied and extracted into the working directory. Thanks.

Thanks,
Vijay Rakesh.


Vijay Rakesh Munganda
 

On Fri, Jan 8, 2021 at 01:26 AM, Quentin Schulz wrote:
Hi,

On Fri, Jan 08, 2021 at 01:19:51AM -0800, Vijay Rakesh Munganda wrote:
Hi Paul Barker,

No, ${WORKDIR}/tokbox directory is empty, it is not getting placed. I can only see it in the downloads directory.
S = "${WORKDIR}/libopentok_linux_llvm_arm64"

This is the root directory of your archive and should be used for `S`

Cheers,
Quentin
By changing to S = "${WORKDIR}/libopentok_linux_llvm_arm64" error got eliminated, thank you.

Now, how can I install the file under opentok_linux_llvm_arm64/lib/libopentok.so into the rootfs?

I tried the below code but got an error as install: cannot stat 'lib/libopentok.so': No such file or directory.

do_install() {
         install -d ${D}${libdir}
         install -m 0755 lib/libopentok.so ${D}${libdir}
}
Thanks,
Vijay Rakesh.


Quentin Schulz
 

On Fri, Jan 08, 2021 at 03:07:43AM -0800, Vijay Rakesh Munganda wrote:
On Fri, Jan 8, 2021 at 01:26 AM, Quentin Schulz wrote:


Hi,

On Fri, Jan 08, 2021 at 01:19:51AM -0800, Vijay Rakesh Munganda wrote:

Hi Paul Barker,

No, ${WORKDIR}/tokbox directory is empty, it is not getting placed. I can
only see it in the downloads directory.
S = "${WORKDIR}/libopentok_linux_llvm_arm64"

This is the root directory of your archive and should be used for `S`

Cheers,
Quentin
By changing to S = "${WORKDIR}/libopentok_linux_llvm_arm64" error got eliminated, thank you.

Now, how can I install the file under opentok_linux_llvm_arm64/lib/libopentok.so into the rootfs?

I tried the below code but got an error as *install: cannot stat 'lib/libopentok.so': No such file or directory*.
If you go into ${WORKDIR} of your recipe (tmp/work/<arch>/<recipe name>),
what is the path to libopentok.*.so?

Quentin


Vijay Rakesh Munganda
 

On Fri, Jan 8, 2021 at 03:15 AM, Quentin Schulz wrote:
On Fri, Jan 08, 2021 at 03:07:43AM -0800, Vijay Rakesh Munganda wrote:
On Fri, Jan 8, 2021 at 01:26 AM, Quentin Schulz wrote:


Hi,

On Fri, Jan 08, 2021 at 01:19:51AM -0800, Vijay Rakesh Munganda wrote:

Hi Paul Barker,

No, ${WORKDIR}/tokbox directory is empty, it is not getting placed. I can
only see it in the downloads directory.
S = "${WORKDIR}/libopentok_linux_llvm_arm64"

This is the root directory of your archive and should be used for `S`

Cheers,
Quentin
By changing to S = "${WORKDIR}/libopentok_linux_llvm_arm64" error got eliminated, thank you.

Now, how can I install the file under opentok_linux_llvm_arm64/lib/libopentok.so into the rootfs?

I tried the below code but got an error as *install: cannot stat 'lib/libopentok.so': No such file or directory*.
If you go into ${WORKDIR} of your recipe (tmp/work/<arch>/<recipe name>),
what is the path to libopentok.*.so?

Quentin
This is the path to libopentok.so tmp/work/aarch64-poky-linux/tokbox/1.0-r0/libopentok_linux_llvm_arm64/lib/

Thanks,
Vijay Rakesh.


Quentin Schulz
 

On Fri, Jan 08, 2021 at 04:00:54AM -0800, Vijay Rakesh Munganda wrote:
On Fri, Jan 8, 2021 at 03:15 AM, Quentin Schulz wrote:


On Fri, Jan 08, 2021 at 03:07:43AM -0800, Vijay Rakesh Munganda wrote:

On Fri, Jan 8, 2021 at 01:26 AM, Quentin Schulz wrote:



Hi,

On Fri, Jan 08, 2021 at 01:19:51AM -0800, Vijay Rakesh Munganda wrote:


Hi Paul Barker,

No, ${WORKDIR}/tokbox directory is empty, it is not getting placed. I can
only see it in the downloads directory.
S = "${WORKDIR}/libopentok_linux_llvm_arm64"

This is the root directory of your archive and should be used for `S`

Cheers,
Quentin
By changing to S = "${WORKDIR}/libopentok_linux_llvm_arm64" error got
eliminated, thank you.

Now, how can I install the file under
opentok_linux_llvm_arm64/lib/libopentok.so into the rootfs?

I tried the below code but got an error as *install: cannot stat
'lib/libopentok.so': No such file or directory*.
If you go into ${WORKDIR} of your recipe (tmp/work/<arch>/<recipe name>),
what is the path to libopentok.*.so?
Do you have B set up somewhere in your recipe?
Otherwise try ${S}/lib/libopentok.so for the source path.

Quentin


Vijay Rakesh Munganda
 

On Fri, Jan 8, 2021 at 04:09 AM, Quentin Schulz wrote:
On Fri, Jan 08, 2021 at 04:00:54AM -0800, Vijay Rakesh Munganda wrote:
On Fri, Jan 8, 2021 at 03:15 AM, Quentin Schulz wrote:


On Fri, Jan 08, 2021 at 03:07:43AM -0800, Vijay Rakesh Munganda wrote:

On Fri, Jan 8, 2021 at 01:26 AM, Quentin Schulz wrote:



Hi,

On Fri, Jan 08, 2021 at 01:19:51AM -0800, Vijay Rakesh Munganda wrote:


Hi Paul Barker,

No, ${WORKDIR}/tokbox directory is empty, it is not getting placed. I can
only see it in the downloads directory.
S = "${WORKDIR}/libopentok_linux_llvm_arm64"

This is the root directory of your archive and should be used for `S`

Cheers,
Quentin
By changing to S = "${WORKDIR}/libopentok_linux_llvm_arm64" error got
eliminated, thank you.

Now, how can I install the file under
opentok_linux_llvm_arm64/lib/libopentok.so into the rootfs?

I tried the below code but got an error as *install: cannot stat
'lib/libopentok.so': No such file or directory*.
If you go into ${WORKDIR} of your recipe (tmp/work/<arch>/<recipe name>),
what is the path to libopentok.*.so?
Do you have B set up somewhere in your recipe?
Otherwise try ${S}/lib/libopentok.so for the source path.

Quentin
Thank you! it worked.

Thanks,
Vijay Rakesh.


Vijay Rakesh Munganda
 

Hi Quentin,

Thank you for the earlier help. After that, I got a QA Issue and I was trying to solve it, but I'm unable to do it. Any suggestions would be helpful. 

Package contains non-symlink .so: tokbox-dev path '/work/aarch64-poky-linux/tokbox/1.0-r0/packages-split/tokbox-dev/usr/lib/libopentok.so' [dev-elf]
ERROR: tokbox-1.0-r0 do_package_qa: QA Issue: /usr/lib/libopentok.so contained in package tokbox-dev requires libc++.so.1()(64bit), but no providers found in RDEPENDS_tokbox-dev? [file-rdeps]

Thanks & Regards,
Vijay Rakesh.