[oe-commits] [openembedded-core] 01/09: meson.bbclass: Fix build issues with /tmp mounted with noexec

git at git.openembedded.org git at git.openembedded.org
Thu Oct 11 22:43:36 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 10ad2ec99ed97f281c4c80a2d8ba55cbd4292780
Author: Mark Asselstine <mark.asselstine at windriver.com>
AuthorDate: Wed Oct 10 15:35:44 2018 -0400

    meson.bbclass: Fix build issues with /tmp mounted with noexec
    
    Since commit d297f7ebf3f6 [fribidi: use Meson instead of autotools]
    build failures have been observed with this package. The immediate
    issue was related to improperly named #defines per
    https://github.com/fribidi/fribidi/commit/46f52d588ab5, however, the
    root cause was FRIBIDI_SIZEOF_INT getting a value of "-1".
    
    After searching the meson logs the following was found:
    
      Could not run: /tmp/tmp2fxe6ha1/output.exe (error: [Errno 13] Permission denied)
      Checking for size of "int": -1
    
    Which pointed to the real root cause being /tmp mounted with noexec, a
    common configuration on Redhat and other distros. This issues has been
    raised in the meson community:
    https://github.com/mesonbuild/meson/issues/2972 but is yet to be
    addressed.
    
    Using the discussion from issue#2972 and the fact that the underlying
    code makes use of python 'tempfile' we can simply create a 'tmp'
    directory and make use of TMPDIR to avoid this issue.
    
    Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/meson.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
index ed08a40..7e63e12 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes/meson.bbclass
@@ -109,6 +109,9 @@ EOF
 CONFIGURE_FILES = "meson.build"
 
 meson_do_configure() {
+    # Work around "Meson fails if /tmp is mounted with noexec #2972"
+    mkdir -p "${B}/meson-private/tmp"
+    export TMPDIR="${B}/meson-private/tmp"
     bbnote Executing meson ${EXTRA_OEMESON}...
     if ! meson ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" ${MESON_CROSS_FILE} ${EXTRA_OEMESON}; then
         bbfatal_log meson failed

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list