Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 844226 - app-crypt/gpgme-1.17.1[qt5] - t-addexistingsubkey.cpp:(<snip>) undefined reference to QGpgME::AddExistingSubkeyJob::result(GpgME::Error
Summary: app-crypt/gpgme-1.17.1[qt5] - t-addexistingsubkey.cpp:(<snip>) undefined refe...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL: https://dev.gnupg.org/T6136
Whiteboard:
Keywords: PullRequest, TESTFAILURE
Depends on:
Blocks: slibtool
  Show dependency tree
 
Reported: 2022-05-14 20:41 UTC by Toralf Förster
Modified: 2022-09-01 02:16 UTC (History)
2 users (show)

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


Attachments
emerge-info.txt (emerge-info.txt,17.62 KB, text/plain)
2022-05-14 20:41 UTC, Toralf Förster
Details
app-crypt:gpgme-1.17.1:20220514-200114.log.bz2 (app-crypt:gpgme-1.17.1:20220514-200114.log.bz2,15.81 KB, application/x-bzip)
2022-05-14 20:41 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,14.12 KB, text/plain)
2022-05-14 20:41 UTC, Toralf Förster
Details
environment (environment,135.20 KB, text/plain)
2022-05-14 20:41 UTC, Toralf Förster
Details
etc.portage.tar.bz2 (etc.portage.tar.bz2,26.39 KB, application/x-bzip)
2022-05-14 20:41 UTC, Toralf Förster
Details
logs.tar.bz2 (logs.tar.bz2,12.41 KB, application/x-bzip)
2022-05-14 20:41 UTC, Toralf Förster
Details
temp.tar.bz2 (temp.tar.bz2,45.98 KB, application/x-bzip)
2022-05-14 20:41 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2022-05-14 20:41:16 UTC
too long lines were shrinked:

rdlibtool: lconf: openat(5,"libtool",O_RDONLY,0) = 6.
rdlibtool: lconf: found "/var/tmp/portage/app-crypt/gpgme-1.17.1/work/gpgme-1.17.1/libtool".
rdlibtool: link: x86_64-pc-linux-gnu-g++ t-keylist.o t-support.o -pipe -march=native -fno-diagnostics-color -O2 -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0 -L../../cpp/src/.libs -lgpgmepp -L../../cpp/src/../../../src/.libs -lgpgme -L/usr/lib64 -lassuan -lgpg-error -lassuan -L../s
/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: t-addexistingsubkey.o: in function `AddExistingSubkeyJobTest::testAddExistingSubkeyAsync()':
t-addexistingsubkey.cpp:(.text._ZN24AddExistingSubkeyJobTest26testAddExistingSubkeyAsyncEv[_ZN24AddExistingSubkeyJobTest26testAddExistingSubkeyAsyncEv]+0x19e): undefined reference to `QGpgME::AddExistingSubkeyJob::result(GpgME::Error const&, QString const&, GpgME::Error const&)'
/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: t-addexistingsubkey.cpp:(.text._ZN24AddExistingSubkeyJobTest26testAddExistingSubkeyAsyncEv[_ZN24AddExistingSubkeyJobTest26testAddExistingSubkeyAsyncEv]+0x1f8): undefined reference to `QGpgME::AddExistingSubkeyJob::static
collect2: error: ld returned 1 exit status

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1_desktop_plasma-j4-20220514-190005

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-12.1.0 *
clang/llvm (if any):
/usr/lib/llvm/13
13.0.1
Python 3.9.12
Available Rust versions:
  [1]   rust-bin-1.60.0 *
php cli:

  HEAD of ::gentoo
commit d6a716a715130789ebb8131e0c24b9e3cf749018
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Sat May 14 18:03:13 2022 +0000

    2022-05-14 18:03:13 UTC

emerge -qpvO app-crypt/gpgme
[ebuild     U ] app-crypt/gpgme-1.17.1 [1.16.0] USE="common-lisp* cxx qt5 -python -static-libs -verify-sig" PYTHON_TARGETS="python3_9 -python3_8 -python3_10"
Comment 1 Toralf Förster gentoo-dev 2022-05-14 20:41:17 UTC
Created attachment 778928 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2022-05-14 20:41:18 UTC
Created attachment 778931 [details]
app-crypt:gpgme-1.17.1:20220514-200114.log.bz2
Comment 3 Toralf Förster gentoo-dev 2022-05-14 20:41:19 UTC
Created attachment 778934 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2022-05-14 20:41:20 UTC
Created attachment 778937 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2022-05-14 20:41:21 UTC
Created attachment 778940 [details]
etc.portage.tar.bz2
Comment 6 Toralf Förster gentoo-dev 2022-05-14 20:41:22 UTC
Created attachment 778943 [details]
logs.tar.bz2
Comment 7 Toralf Förster gentoo-dev 2022-05-14 20:41:24 UTC
Created attachment 778946 [details]
temp.tar.bz2
Comment 8 orbea 2022-05-14 23:50:52 UTC
Still can't reproduce this.
Comment 9 orbea 2022-05-14 23:51:15 UTC
Still works on my side.
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-05-17 01:02:54 UTC
toralf, how easily can you reproduce this? We're really struggling here.
Comment 11 Larry the Git Cow gentoo-dev 2022-05-17 05:34:49 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ba2afcc77d13823ee5b9e935619b8be08b11790

commit 3ba2afcc77d13823ee5b9e935619b8be08b11790
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-05-17 04:51:06 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-05-17 05:33:58 +0000

    app-crypt/gpgme: conditionally build tests; die if tests can't be run
    
    1. Conditionally build tests which gives us a neat speedup for build time;
    
    2. If tests are explicitly requested and we can't run them b/c of WORKDIR length,
    let's bail out. It's important that we don't get a false positive that
    the package is okay (especially given its importance).
    
    (Noticed when poking at the slibtool bug, although I don't think this will
    actually fix anything there.)
    
    Bug: https://bugs.gentoo.org/844226
    Signed-off-by: Sam James <sam@gentoo.org>

 app-crypt/gpgme/gpgme-1.17.1.ebuild | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)
Comment 12 Toralf Förster gentoo-dev 2022-05-22 10:39:22 UTC
(In reply to Sam James from comment #10)
> toralf, how easily can you reproduce this? We're really struggling here.

emerges fine at current images, so an rdlibtool issue ?
Comment 13 orbea 2022-07-15 16:37:36 UTC
> emerges fine at current images, so an rdlibtool issue ?

@Toralf, Hard to be sure, it could be something that only triggers under specific circumstances, but without a test case its hard to track down.
Comment 14 orbea 2022-08-12 18:46:11 UTC
clang has a much nicer error.

rdlibtool --tag=CXX --mode=link clang++ -g -O2 -no-install -o t-revokekey t-revokekey.o t-support.o ../../cpp/src/libgpgmepp.la ../src/libqgpgme.la ../../../src/libgpgme.la -lQt5Core -lgpg-error -lQt5Test -lQt5Core -lstdc++

rdlibtool: lconf: {.name="libtool"}.
rdlibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/gpgme-1.18.0/lang/qt/tests"}.
rdlibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 45, .st_ino = 346600}.
rdlibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = -1 [ENOENT].
rdlibtool: lconf: openat(AT_FDCWD,"../",O_DIRECTORY,0) = 3.
rdlibtool: lconf: fstat(3,...) = 0 {.st_dev = 45, .st_ino = 346598}.
rdlibtool: lconf: openat(3,"libtool",O_RDONLY,0) = -1 [ENOENT].
rdlibtool: lconf: openat(3,"../",O_DIRECTORY,0) = 4.
rdlibtool: lconf: fstat(4,...) = 0 {.st_dev = 45, .st_ino = 346436}.
rdlibtool: lconf: openat(4,"libtool",O_RDONLY,0) = -1 [ENOENT].
rdlibtool: lconf: openat(4,"../",O_DIRECTORY,0) = 3.
rdlibtool: lconf: fstat(3,...) = 0 {.st_dev = 45, .st_ino = 346258}.
rdlibtool: lconf: openat(3,"libtool",O_RDONLY,0) = 4.
rdlibtool: lconf: found "/tmp/gpgme-1.18.0/libtool".
rdlibtool: link: clang++ t-revokekey.o t-support.o -g -O2 -L../../cpp/src/.libs -lgpgmepp -L../../cpp/src/../../../src/.libs -lgpgme -L/usr/lib64 -lassuan -lgpg-error -lassuan -L../src/.libs -lqgpgme -L../src/../../cpp/src/.libs -lgpgmepp -L../src/../../cpp/src/../../../src/.libs -lgpgme -lassuan -lgpg-error -L../src/../../../src/.libs -lQt5Core -L../../../src/.libs -lgpgme -lassuan -lgpg-error -lQt5Test -lQt5Core -lstdc++ -o .libs/t-revokekey
ld.lld: error: undefined symbol: QGpgME::RevokeKeyJob::result(GpgME::Error const&, QString const&, GpgME::Error const&)
>>> referenced by char_traits.h:0 (/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/include/g++-v11/bits/char_traits.h:0)
>>>               t-revokekey.o:(RevokeKeyJobTest::testAsync())

ld.lld: error: undefined symbol: QGpgME::RevokeKeyJob::staticMetaObject
>>> referenced by qobject.h:343 (/usr/include/qt5/QtCore/qobject.h:343)
>>>               t-revokekey.o:(RevokeKeyJobTest::testAsync())
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
rdlibtool: exec error upon slbt_exec_link_create_executable(), line 1745: (see child process error messages).
rdlibtool: < returned to > slbt_exec_link(), line 2155.
make[4]: *** [Makefile:774: t-revokekey] Error 2
make[4]: Leaving directory '/tmp/gpgme-1.18.0/lang/qt/tests'
make[3]: *** [Makefile:673: all] Error 2
make[3]: Leaving directory '/tmp/gpgme-1.18.0/lang/qt/tests'
make[2]: *** [Makefile:466: all-recursive] Error 1
make[2]: Leaving directory '/tmp/gpgme-1.18.0/lang/qt'
make[1]: *** [Makefile:463: all-recursive] Error 1
make[1]: Leaving directory '/tmp/gpgme-1.18.0/lang'
make: *** [Makefile:540: all-recursive] Error 1
Comment 15 Larry the Git Cow gentoo-dev 2022-09-01 02:16:27 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b140713e716f7ba9927dbfac65714f2bfec63a9a

commit b140713e716f7ba9927dbfac65714f2bfec63a9a
Author:     orbea <orbea@riseup.net>
AuthorDate: 2022-08-31 01:00:43 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-09-01 02:15:48 +0000

    app-crypt/gpgme: Remove --with-libassuan-prefix
    
    The --with-libassuan-prefix configure argument causes app-crypt/gpgme to
    use the deprecated libassuan-config script instead of the maintained
    gpgrt-config script.
    
    Bug: https://bugs.gentoo.org/811933
    Closes: https://bugs.gentoo.org/844226
    Upstream-Bug: https://dev.gnupg.org/T6136
    Signed-off-by: Sam James <sam@gentoo.org>

 app-crypt/gpgme/gpgme-1.18.0-r1.ebuild | 130 +++++++++++++++++++++++++++++++++
 1 file changed, 130 insertions(+)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2decb35d9c92550ed0688745039751b38dd5b916

commit 2decb35d9c92550ed0688745039751b38dd5b916
Author:     orbea <orbea@riseup.net>
AuthorDate: 2022-08-31 16:28:29 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-09-01 02:15:51 +0000

    app-crypt/gpa: Backport upstream autoconf fixes
    
    Bug: https://bugs.gentoo.org/844226
    Upstream-commit: https://dev.gnupg.org/rGPAb40ff3b1f20dec3b14ca72d0af50137e38cd1808
    Closes: https://github.com/gentoo/gentoo/pull/27083
    Signed-off-by: Sam James <sam@gentoo.org>

 app-crypt/gpa/files/gpa-0.10.0-autoconf.patch | 1111 +++++++++++++++++++++++++
 app-crypt/gpa/gpa-0.10.0-r1.ebuild            |   42 +
 2 files changed, 1153 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d15df13c250dc29e4a56af4d7b478e286737b753

commit d15df13c250dc29e4a56af4d7b478e286737b753
Author:     orbea <orbea@riseup.net>
AuthorDate: 2022-08-31 02:08:12 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-09-01 02:15:51 +0000

    app-crypt/scute: Remove outdated configure args
    
    Removes --with-libgpg-error-prefix and --with-libassuan-prefix which are
    for the deprecated libgpg-error-config and libassuan-config scripts. It
    should be using gpgrt-config instead.
    
    Bug: https://bugs.gentoo.org/844226
    Signed-off-by: Sam James <sam@gentoo.org>

 app-crypt/scute/scute-1.7.0-r1.ebuild | 52 +++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d920faef3dd6d61ff4163c523a1ec0413c98a790

commit d920faef3dd6d61ff4163c523a1ec0413c98a790
Author:     orbea <orbea@riseup.net>
AuthorDate: 2022-08-31 00:57:06 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-09-01 02:15:41 +0000

    dev-libs/libgpg-error: Add gpgrt-config patch
    
    Adds a patch to remove the standard system --libdir from the
    gpgrt-config output. This is required when building app-crypt/gpgme with
    slibtool to avoid linking with the old system library instead of the
    newly built library.
    
    Bug: https://bugs.gentoo.org/811933
    Bug: https://bugs.gentoo.org/844226
    Upstream-Bug: https://dev.gnupg.org/T6136
    Upstream-Commit: https://dev.gnupg.org/rE4615816f71e91f4c3bb8b0e4122dd153ec7c1927
    Signed-off-by: Sam James <sam@gentoo.org>

 .../libgpg-error-1.45-gpgrt_config_libdir.patch    | 56 ++++++++++++++++++
 dev-libs/libgpg-error/libgpg-error-1.45-r1.ebuild  | 68 ++++++++++++++++++++++
 2 files changed, 124 insertions(+)