Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 634120 - [RAP] [portage-stage, prefix] wxwidgets.eclass calls get_libdir() in global scope for prefix
Summary: [RAP] [portage-stage, prefix] wxwidgets.eclass calls get_libdir() in global s...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-12 17:55 UTC by Sergei Trofimovich (RETIRED)
Modified: 2017-10-19 07:00 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergei Trofimovich (RETIRED) gentoo-dev 2017-10-12 17:55:11 UTC
I've noticed it when started using gentoo prefix/libc (https://wiki.gentoo.org/wiki/Prefix/libc). (I have EPREFIX=/home/slyfox/gentoo/g821).

The issues is reproducible wneh I run 'emerge --regen'. Failures look like that:

time emerge --regen --quiet
 * ERROR: app-admin/passwordsafe-1.02.1_beta::gentoo failed (depend phase):
 *   get_libdir() calls are not allowed in global scope
 * 
 * Call stack:
 *                         ebuild.sh, line 620:  Called source '/home/slyfox/gentoo/g821/usr/portage/app-admin/passwordsafe/passwordsafe-1.02.1_beta.ebuild'
 *   passwordsafe-1.02.1_beta.ebuild, line   8:  Called inherit 'eutils' 'flag-o-matic' 'wxwidgets' 'cmake-utils'
 *                         ebuild.sh, line 316:  Called __qa_source '/home/slyfox/gentoo/g821/usr/portage-stage/eclass/wxwidgets.eclass'
 *                         ebuild.sh, line 111:  Called source '/home/slyfox/gentoo/g821/usr/portage-stage/eclass/wxwidgets.eclass'
 *                  wxwidgets.eclass, line  67:  Called get_libdir
 *                   multilib.eclass, line  79:  Called die
 * The specific snippet of code:
 *      local abi=${2:-${ABI:-${DEFAULT_ABI:-default}}}
 * 
 * If you need support, post the output of `emerge --info '=app-admin/passwordsafe-1.02.1_beta::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=app-admin/passwordsafe-1.02.1_beta::gentoo'`.
 * Working directory: '/home/slyfox/gentoo/g821/usr/lib64/python3.4/site-packages'
 * S: '/home/slyfox/gentoo/g821/var/tmp/portage/app-admin/passwordsafe-1.02.1_beta/work/passwordsafe-1.02.1_beta'

It does not happen for normal systems 

# We do this in global scope so ebuilds can get sane defaults just by
# inheriting.
if [[ -z ${WX_CONFIG} ]]; then
        if [[ -n ${WX_GTK_VER} ]]; then
                for wxtoolkit in mac gtk2 base; do
                        # newer versions don't have a seperate debug profile
                        for wxdebug in xxx release- debug-; do
                                wxconf="${wxtoolkit}-unicode-${wxdebug/xxx/}${WX_GTK_VER}"

                                [[ -f ${EPREFIX}/usr/$(get_libdir)/wx/config/${wxconf} ]] || continue

                                WX_CONFIG="${EPREFIX}/usr/$(get_libdir)/wx/config/${wxconf}"
                                WX_ECLASS_CONFIG="${WX_CONFIG}"
                                break
                        done
                        [[ -n ${WX_CONFIG} ]] && break
                done
                [[ -n ${WX_CONFIG} ]] && export WX_CONFIG WX_ECLASS_CONFIG
        fi
fi

I think upstream ::gentoo ebuild already fixed it in commit
    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cadcdd6852eaba127f9586207dd077dc18cd76ec

Worth syncing this eclass in ::rap and ::gentoo?
Comment 1 Fabian Groffen gentoo-dev 2017-10-13 07:50:14 UTC
Wherever RAP gets its tree from should be synced indeed.
Comment 2 Guilherme Amadio gentoo-dev 2017-10-13 07:54:19 UTC
If I recall it correctly, the only thing that RAP needed that was not yet on the main tree was gcc-config. The rest is old stuff and can be removed. With gcc-config-1.9.0 now supporting prefix and in the main tree, I think you can probably completely remove portage-stage and work exclusively with the main tree if you are using RAP. Also, if that's the case, we should update the bootstrap script to use only the main tree too.

Cheers,
Comment 3 Larry the Git Cow gentoo-dev 2017-10-19 07:00:12 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/proj/android.git/commit/?id=7f8606330a9379e0372495cbe38390b284535b34

commit 7f8606330a9379e0372495cbe38390b284535b34
Author:     Benda Xu <heroxbd@gentoo.org>
AuthorDate: 2017-10-19 06:29:15 +0000
Commit:     Benda Xu <heroxbd@gentoo.org>
CommitDate: 2017-10-19 06:54:20 +0000

    clean up outdated ebuilds to accommodate EAPI updates.
    
    no modification:
      nbench
    
    not needed:
      qtwebkit
      jags
      posixovl
      unionfs-fuse
      linux-headers
      runit
    
    merged to gentoo or prefix overlay:
      llvm
      bootstrap-rap.sh
    
    outdated:
      wxwidgets.eclass
      inputproto
      virtualgl
    
    Closes: https://bugs.gentoo.org/634098
    Closes: https://bugs.gentoo.org/634120

 app-benchmarks/nbench/ChangeLog                    |  140 --
 app-benchmarks/nbench/Manifest                     |    5 -
 .../nbench/files/nbench-2.2.3-Makefile.patch       |   24 -
 app-benchmarks/nbench/metadata.xml                 |    9 -
 app-benchmarks/nbench/nbench-2.2.3-r1.ebuild       |   39 -
 dev-qt/qtwebkit/Manifest                           |   18 -
 dev-qt/qtwebkit/files/4.10.4-gcc5.patch            |   35 -
 .../files/4.10.4-use-correct-icu-typedef.patch     |   40 -
 .../qtwebkit/files/4.8.2-javascriptcore-x32.patch  |   11 -
 .../files/qtwebkit-5.2.1-disable-gstreamer.patch   |   15 -
 .../files/qtwebkit-5.3.2-use-gstreamer010.patch    |   18 -
 .../files/qtwebkit-5.4.2-system-leveldb.patch      |   25 -
 .../files/qtwebkit-5.5.1-disable-jit.patch         |   15 -
 dev-qt/qtwebkit/metadata.xml                       |   25 -
 dev-qt/qtwebkit/qtwebkit-4.10.4.ebuild             |  130 --
 dev-qt/qtwebkit/qtwebkit-4.8.6-r1.ebuild           |   79 -
 dev-qt/qtwebkit/qtwebkit-4.8.7.ebuild              |   76 -
 dev-qt/qtwebkit/qtwebkit-5.4.2.ebuild              |  101 -
 dev-qt/qtwebkit/qtwebkit-5.5.1-r1.ebuild           |  108 --
 eclass/wxwidgets.eclass                            |  145 --
 sci-mathematics/jags/ChangeLog                     |   15 -
 sci-mathematics/jags/Manifest                      |    4 -
 sci-mathematics/jags/jags-2.2.0.ebuild             |   35 -
 sci-mathematics/jags/metadata.xml                  |   15 -
 scripts/bootstrap-rap.sh                           | 2038 --------------------
 sys-devel/llvm/Manifest                            |   87 -
 .../0001-r600-Add-some-intrinsic-definitions.patch |   64 -
 ...t_global_size-and-get_local_size-intrinsi.patch |   27 -
 ...clang-3.1-gentoo-runtime-gcc-detection-v3.patch |   29 -
 .../llvm/files/clang-3.3-gcc-header-path.patch     |   90 -
 .../llvm/files/clang-3.3-gentoo-install.patch      |   71 -
 .../llvm/files/clang-3.4-darwin_build_fix.patch    |   47 -
 .../clang-3.4-darwin_prefix-include-paths.patch    |   18 -
 .../llvm/files/clang-3.4-gentoo-install.patch      |   80 -
 .../llvm/files/clang-3.5-gentoo-install.patch      |   57 -
 ...clang-3.5-gentoo-runtime-gcc-detection-v3.patch |   42 -
 sys-devel/llvm/files/clang-3.6-fbsd-gcc49.patch    |   25 -
 .../llvm/files/clang-3.6-gentoo-install.patch      |   48 -
 .../llvm/files/clang-3.7-strip_doc_refs.patch      |   42 -
 .../llvm/files/clang-3.8-compiler-rt-fbsd.patch    |   20 -
 .../llvm/files/clang-3.8-gcc4.9-search-path.patch  |   70 -
 ...rt-overriding-Sphinx-HTML-doc-install-dir.patch |   36 -
 ...n-ordering-dep-between-HTML-man-Sphinx-ta.patch |   32 -
 .../cmake/0004-cmake-Do-not-install-libgtest.patch |   28 -
 ...g-runtime-into-usr-lib-without-suffix-3.8.patch |   35 -
 ...clang-runtime-into-usr-lib-without-suffix.patch |   52 -
 ...make-Make-CLANG_LIBDIR_SUFFIX-overridable.patch |   28 -
 ...ll-compiler-rt-into-usr-lib-without-suffi.patch |   25 -
 .../llvm-3.7.0-compiler_rt_arm_march_flags.patch   |   16 -
 .../llvm/files/cmake/llvm-3.7.0-lldb_tinfo.patch   |   12 -
 .../files/cmake/llvm-3.7.0-ocaml-build_doc.patch   |   12 -
 .../files/cmake/llvm-3.7.0-ocaml-multilib.patch    |   43 -
 .../llvm-3.8-allow_custom_cmake_build_types.patch  |   14 -
 .../llvm-3.8.0-compiler_rt_arm_march_flags.patch   |   17 -
 .../llvm/files/compiler-rt-3.7-msan-fix.patch      |   86 -
 .../llvm/files/llvm-2.6-commandguide-nops.patch    |   30 -
 sys-devel/llvm/files/llvm-2.7-nodoctargz.patch     |   47 -
 sys-devel/llvm/files/llvm-2.8-alignof.patch        |   59 -
 sys-devel/llvm/files/llvm-2.8-darwin8.patch        |   15 -
 .../llvm/files/llvm-2.9-Operator.h-c++0x.patch     |   57 -
 sys-devel/llvm/files/llvm-2.9-gcc4.7.patch         |   14 -
 sys-devel/llvm/files/llvm-2.9-nodoctargz.patch     |   39 -
 .../llvm-3.0-PPCCompilationCallbackC_static.patch  |   27 -
 sys-devel/llvm/files/llvm-3.0-PPC_macro.patch      |   43 -
 sys-devel/llvm/files/llvm-3.0-gold_LTO_link.patch  |   10 -
 sys-devel/llvm/files/llvm-3.0-ocaml_install.patch  |   16 -
 sys-devel/llvm/files/llvm-3.0-set_soname.patch     |   12 -
 .../llvm-3.1-ExecutionEngine_tests_xfail_arm.patch |   27 -
 .../files/llvm-3.1-docs-pod-markup-fixes.patch     |   28 -
 .../llvm/files/llvm-3.1-fix_debug_line_info.patch  |   65 -
 .../llvm/files/llvm-3.1-ivybridge_support.patch    |   13 -
 sys-devel/llvm/files/llvm-3.2-nodoctargz.patch     |   45 -
 sys-devel/llvm/files/llvm-3.3-R600_debug.patch     |   22 -
 .../llvm/files/llvm-3.3-cmake-modulepath.patch     |   24 -
 sys-devel/llvm/files/llvm-3.3-gentoo-install.patch |  141 --
 sys-devel/llvm/files/llvm-3.3-insecure-rpath.patch |   30 -
 .../llvm/files/llvm-3.3-r2-gentoo-install.patch    |  117 --
 .../llvm/files/llvm-3.4-cmake-configparser.patch   |   35 -
 sys-devel/llvm/files/llvm-3.4-fix_varargs.patch    |  148 --
 sys-devel/llvm/files/llvm-3.4-gentoo-install.patch |   96 -
 sys-devel/llvm/files/llvm-3.5-gcc-4.9.patch        |   43 -
 sys-devel/llvm/files/llvm-3.5-gentoo-install.patch |   83 -
 .../files/llvm-3.5.0-fix_LLVMExports_cmake.patch   |   39 -
 sys-devel/llvm/files/llvm-3.5.2-gcc-5.1.patch      |   14 -
 sys-devel/llvm/files/llvm-3.6-gentoo-install.patch |   82 -
 .../llvm/files/llvm-3.6.0-ocaml-ctypes-0.4.0.patch |   35 -
 sys-devel/llvm/files/llvm-3.7-lldb_python.patch    |   23 -
 sys-devel/llvm/files/llvm-3.7-llvm-config.patch    |  113 --
 sys-devel/llvm/files/llvm-3.7-msan-fix.patch       |   79 -
 sys-devel/llvm/files/llvm-3.7-nodoctargz.patch     |   49 -
 .../llvm/files/llvm-3.7.1-llvm-config-0.patch      |   83 -
 .../llvm/files/llvm-3.7.1-llvm-config-1.patch      |  453 -----
 .../llvm/files/llvm-3.7.1-llvm-config-2.patch      |  113 --
 .../llvm/files/llvm-3.7.1-llvm-config-3.patch      |   29 -
 sys-devel/llvm/files/llvm-3.8-lldb_six.patch       |   13 -
 sys-devel/llvm/files/llvm-3.8-llvm-config.patch    |  114 --
 sys-devel/llvm/files/llvm-3.8-soversion.patch      |   28 -
 sys-devel/llvm/files/llvm-3.9-llvm-config.patch    |   68 -
 sys-devel/llvm/llvm-3.7.1-r1.ebuild                |  553 ------
 sys-devel/llvm/llvm-3.8.0-r3.ebuild                |  543 ------
 sys-devel/llvm/metadata.xml                        |   28 -
 sys-fs/posixovl/Manifest                           |    2 -
 sys-fs/posixovl/posixovl-1.2.ebuild                |   28 -
 sys-fs/unionfs-fuse/ChangeLog                      |   44 -
 sys-fs/unionfs-fuse/Manifest                       |   11 -
 .../files/unionfs-fuse-0.23-makefile.patch         |   15 -
 .../files/unionfs-fuse-0.26-declare-chroot.patch   |   12 -
 .../files/unionfs-fuse-0.26-link-pthread.patch     |   11 -
 sys-fs/unionfs-fuse/metadata.xml                   |    8 -
 sys-fs/unionfs-fuse/unionfs-fuse-0.24.ebuild       |   23 -
 sys-fs/unionfs-fuse/unionfs-fuse-0.25.ebuild       |   23 -
 sys-fs/unionfs-fuse/unionfs-fuse-0.26.ebuild       |   30 -
 sys-kernel/linux-headers/Manifest                  |    6 -
 .../files/linux-2.6.28.10-unifdef-getline.patch    |   56 -
 .../linux-headers/linux-headers-2.6.19.2-r2.ebuild |   30 -
 .../linux-headers/linux-headers-2.6.26.ebuild      |   15 -
 sys-process/runit/ChangeLog                        |  128 --
 sys-process/runit/Manifest                         |   16 -
 sys-process/runit/files/1                          |   10 -
 sys-process/runit/files/2                          |    6 -
 sys-process/runit/files/3                          |   15 -
 sys-process/runit/files/3-1.4                      |   14 -
 sys-process/runit/files/ctrlaltdel                 |    9 -
 sys-process/runit/files/finish.getty               |    2 -
 sys-process/runit/files/run.getty                  |    2 -
 sys-process/runit/metadata.xml                     |    5 -
 sys-process/runit/runit-1.7.0.ebuild               |   65 -
 sys-process/runit/runit-2.0.0.ebuild               |   65 -
 sys-process/runit/runit-2.1.1-r1.ebuild            |   74 -
 sys-process/runit/runit-2.1.1.ebuild               |   58 -
 x11-misc/virtualgl/Manifest                        |    4 -
 x11-misc/virtualgl/virtualgl-2.2.ebuild            |   59 -
 x11-misc/virtualgl/virtualgl-2.2.ebuild.old        |   58 -
 x11-proto/inputproto/Manifest                      |    3 -
 x11-proto/inputproto/inputproto-2.1.99.3.ebuild    |   15 -
 x11-proto/inputproto/metadata.xml                  |    5 -
 136 files changed, 9090 deletions(-)