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

Replace hardcoded 'lib' string with a generic value #70

Merged
merged 5 commits into from
Mar 2, 2018

Conversation

jkrishnanjanappa
Copy link
Contributor

Contains changes to build openwrt-image-minimal and openwrt-image-base, if the ${libdir} is other than
/usr/lib/.

Regards,
Jagadeesh

Jagadeesh Krishnanjanappa added 5 commits March 2, 2018 16:30
…NSTALL_LIBDIR

This solves a bunch of below errors and warnings when the libdir is /usr/lib64 for
64bit machine or in multilib environment:

The libubox warning:
-- snip --
WARNING: libubox-2.0.0+gitAUTOINC+96305a3caf-r0 do_package: QA Issue: libubox: Files/directories were installed but not shipped in any package: /usr/lib/lua/5.1/uloop.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libubox: 1 installed and not shipped files. [installed-vs-shipped]
-- snip --

The ubox recipe fails with below errors:

-- snip --
.../ubox/git-r0/recipe-sysroot-native/usr/bin/x86_64-montavista-linux/../../libexec/x86_64-montavista-linux/gcc/x86_64-montavista-linux/7.2.0/ld: cannot find -lubus collect2: error: ld returned 1 exit status
-- snip --

-- snip --
| ../ubox/git-r0/recipe-sysroot-native/usr/bin/x86_64-montavista-linux/../../libexec/x86_64-montavista-linux/gcc/x86_64-montavista-linux/7.2.0/ld: cannot find -luci
| collect2: error: ld returned 1 exit status
-- snip --

-- snip --
WARNING: ubox-git-r0 do_package: QA Issue: ubox: Files/directories were installed but not shipped in any package: /usr/lib/libvalidate.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or
delete them within do_install.
ubox: 1 installed and not shipped files. [installed-vs-shipped]
ERROR: ubox-git-r0 do_package_qa: QA Issue: /usr/sbin/validate_data contained in package ubox requires libvalidate.so()(64bit), but no providers found in RDEPENDS_ubox? [file-rdeps]
WARNING: ubox-git-r0 do_package_qa: QA Issue: ubox-dbg: found library in wrong location: /usr/lib/.debug/libvalidate.so [libdir]
ERROR: ubox-git-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: ubox-git-r0 do_package_qa: Function failed: do_package_qa
-- snip --

The ubus build fails with below error:
-- snip --
ERROR: ubus-git-r0 do_package_qa: QA Issue: /usr/bin/ubus contained in package ubus requires libubus.so()(64bit), but no providers found in RDEPENDS_ubus? [file-rdeps]
WARNING: ubus-git-r0 do_package_qa: QA Issue: ubus-dbg: found library in wrong location: /usr/lib/.debug/libubus.so [libdir]
ERROR: ubus-git-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: ubus-git-r0 do_package_qa: Function failed: do_package_qa
-- snip --

-- snip --
WARNING: ubus-git-r0 do_package: QA Issue: ubus: Files/directories were installed but not shipped in any package: /usr/lib/lua/5.1/ubus.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
ubus: 1 installed and not shipped files. [installed-vs-shipped]
-- snip --

The netifd recipe fails with below error:

-- snip --
| cp: target ‘.../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/image/lib64/netifd/’ is not a directory
| WARNING: .../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/temp/run.do_install.27647:1 exit 1 from 'cp -dR --preserve=mode,links .../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/git/scripts/* .../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/image/lib64/netifd/'
-- snip --

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Solves below warning, when libdir is other than /usr/lib/:

-- snip --
WARNING: libubox-2.0.0+gitAUTOINC+96305a3caf-r0 do_package: QA Issue: libubox: Files/directories were installed but not shipped in any package: /usr/lib/lua/5.1/uloop.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libubox: 1 installed and not shipped files. [installed-vs-shipped]
-- snip --

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
If libdir is other than /usr/lib/, then ustream-ssl fails with below
error in do_install task:

-- snip --
| mv: cannot stat ‘.../tmp_new2/work/corei7-64-montavista-linux/ustream-ssl/git-r0/image/usr/lib/libustream-ssl.so’: No such file or directory
-- snip --

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Avoid warnings being treated as errors to solve below error:

-- snip --
| .../tmp_new2/work/corei7-64-montavista-linux/mountd/git-r0/git/mount.c:694:35: error: '%s' directive output may be
truncated writing up to 255 bytes into a region of size 53 [-Werror=format-truncation=]
|      snprintf(tmp, 64, "/sys/block/%s/", namelist[n]->d_name);
|                                    ^~
| .../tmp_new2/work/corei7-64-montavista-linux/mountd/git-r0/git/mount.c:694:5: note: 'snprintf' output between 13 and
268 bytes into a destination of size 64
|      snprintf(tmp, 64, "/sys/block/%s/", namelist[n]->d_name);
|      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| .../tmp_new2/work/corei7-64-montavista-linux/mountd/git-r0/git/mount.c:748:25: error: '%s' directive output may be
truncated writing up to 63 bytes into a region of size 48 [-Werror=format-truncation=]
|     snprintf(tmp, 64, "%s%s", "/tmp/run/mountd/", q->dev);
|                          ^~
| .../tmp_new2/work/corei7-64-montavista-linux/mountd/git-r0/git/mount.c:748:4: note: 'snprintf' output between 17 and
80 bytes into a destination of size 64
|     snprintf(tmp, 64, "%s%s", "/tmp/run/mountd/", q->dev);
|     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| .../tmp_new2/work/corei7-64-montavista-linux/mountd/git-r0/git/mount.c:374:43: error: '%s' directive writing up to
255 bytes into a region of size 42 [-Werror=format-overflow=]
|       sprintf(tmp3, "/sys/bus/scsi/devices/%s/block:%s/", namelist[n]->d_name, dev);
|                                            ^~
| .../tmp_new2/work/corei7-64-montavista-linux/mountd/git-r0/git/mount.c:374:6: note: 'sprintf' output 31 or more bytes
(assuming 286) into a destination of size 64
|       sprintf(tmp3, "/sys/bus/scsi/devices/%s/block:%s/", namelist[n]->d_name, dev);
|       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| .../tmp_new2/work/corei7-64-montavista-linux/mountd/git-r0/git/mount.c:378:44: error: '%s' directive writing up to
255 bytes into a region of size 42 [-Werror=format-overflow=]
|        sprintf(tmp3, "/sys/bus/scsi/devices/%s/block/%s/", namelist[n]->d_name, dev);
|                                             ^~
| .../tmp_new2/work/corei7-64-montavista-linux/mountd/git-r0/git/mount.c:378:7: note: 'sprintf' output 31 or more bytes
(assuming 286) into a destination of size 64
|        sprintf(tmp3, "/sys/bus/scsi/devices/%s/block/%s/", namelist[n]->d_name, dev);
|        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| cc1: all warnings being treated as errors
-- snip --

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
1. If libdir is other than /usr/lib/ , then netifd recipe fails to
build with below error:

-- snip --
| cp: target ‘.../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/image/lib64/netifd/’ is not a directory
| WARNING: .../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/temp/run.do_install.27647:1 exit 1 from 'cp -dR
--preserve=mode,links .../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/git/scripts/*
.../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/image/lib64/netifd/'
-- snip --

2. Also replace hardcoded '/lib' string with ${base_libdir} in network scripts, so that
   dependent scripts are called from correct paths.

3. Include default.script in an alternative binary naming scheme, as netifd's default.script
   conflicts with busybox-udhcpc's default.script as below during
   openwrt-image-base:do_rootfs :

-- snip --
Error: Transaction check error:
file /usr/share/udhcpc/default.script conflicts between attempted installs of busybox-udhcpc-1.24.1-r0.2.corei7_64 and netifd-git-r0.corei7_64
-- snip --

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
mv ${D}/usr/lib/libustream-ssl.so ${D}/lib/libustream-ssl.so
rmdir ${D}/usr/lib
install -dm 0755 ${D}${base_libdir}
mv ${D}${libdir}/libustream-ssl.so ${D}${base_libdir}/libustream-ssl.so
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why drop rmdir cmd ?

@@ -22,6 +22,10 @@ SRCREV_openwrt = "${OPENWRT_SRCREV}"

S = "${WORKDIR}/git"

do_configure_prepend () {
sed -i "s:-Werror --std=gnu99:-Werror -Wno-format-truncation -Wno-format-overflow --std=gnu99:g" ${S}/CMakeLists.txt
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you update this recipe to latest on git and see if that fixed it

@kraj kraj merged commit 8a21cb2 into kraj:master Mar 2, 2018
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

Successfully merging this pull request may close these issues.

2 participants