My browser (qutebrowser) recently stopped working after a world update. It depends on PyQt5-5-5.1 which depends on the 5.6.0 Qt stuff.
Created attachment 432160 [details]
missing .cfi_endproc directive
truncated because file size (>15mb, max is 1mb)
Created attachment 432162 [details]
This looks like you may have run out of memory, can you check dmesg output?
That seems to be correct, if I don't reply back by the next day you can close this bug. Although, I think it should have given a memory like some other packages do.
Feel free to re-open if it's still valid.
with watch 'du -sh' it, never reached over 600mb in the build folder. It's building in a tmpfs of 7gb, 1gb of which is used by the portage tree.
Created attachment 432192 [details]
dmesg memory information
Created attachment 432254 [details]
(In reply to Tomáš Mózes from comment #5)
> Feel free to re-open if it's still valid.
does it automatically re-open if i reply on it or do i have to reopen it somehow?
I don't think there is anything to do here. The *minimum* amount of memory required to build qtwebkit isn't all that high. If we checked for 4GB, which is enough in most cases, your system would pass that test. But you have done a lot of extra things which eat up more memory-- the tmpfs stuff, having a full X session playing movies, using MAKEOPTS="-j4", using emerge -j2.
emerge cannot account for all of these things, and it only checks for total system memory, not free memory at build time. Some of the responsibility for preventing OOM does fall on the user.
I replicated the emerge without any significant usage of the tmpfs to make sure this wasn't the case, reduced to -j2, and --jobs did not interfere with it because it was the only package building
Created attachment 432276 [details]
truncated due to file size
Built with -j1 , emake failed
ThreadIdentifierDataPthreads.cpp:(.text+0xce): undefined reference to `pthread_setspecific' error
dmesg shows no memory error
Compress the log so you can attach it in full, that last attachment doesn't have anything useful in it
Created attachment 432286 [details]
built with -j4 because on -j1 it runs at 25% CPU and was taking too long to finish.
Created attachment 432320 [details]
build log with -j1
built with -j1 again to verify my claims and provide you a bz2 of the build.log for -j1
Looks like its broken upstream: https://codereview.qt-project.org/#/c/150601/
/tmp/.portage/portage/dev-qt/qtwebkit-5.6.0/work/qtwebkit-opensource-src-5.6.0/Source/WebKit//.obj/qt/WebCoreSupport/EditorClientQt.o: In function `WTF::ThreadSpecific<WebCore::ThreadGlobalData>::destroy(void*)':
EditorClientQt.cpp:(.text._ZN3WTF14ThreadSpecificIN7WebCore16ThreadGlobalDataEE7destroyEPv[_ZN3WTF14ThreadSpecificIN7WebCore16ThreadGlobalDataEE7destroyEPv]+0xe): undefined reference to `pthread_setspecific'
EditorClientQt.cpp:(.text._ZN3WTF14ThreadSpecificIN7WebCore16ThreadGlobalDataEE7destroyEPv[_ZN3WTF14ThreadSpecificIN7WebCore16ThreadGlobalDataEE7destroyEPv]+0x2b): undefined reference to `pthread_setspecific'
/tmp/.portage/portage/dev-qt/qtwebkit-5.6.0/work/qtwebkit-opensource-src-5.6.0/Source/WebKit//.obj/qt/WebCoreSupport/EditorClientQt.o: In function `WebCore::editorCommandForKeyDownEvent(WebCore::KeyboardEvent const*)':
EditorClientQt.cpp:(.text._ZN7WebCore28editorCommandForKeyDownEventEPKNS_13KeyboardEventE+0x23): undefined reference to `pthread_getspecific'
EditorClientQt.cpp:(.text._ZN7WebCore28editorCommandForKeyDownEventEPKNS_13KeyboardEventE+0x447): undefined reference to `pthread_key_create'
EditorClientQt.cpp:(.text._ZN7WebCore28editorCommandForKeyDownEventEPKNS_13KeyboardEventE+0x45c): undefined reference to `pthread_getspecific'
EditorClientQt.cpp:(.text._ZN7WebCore28editorCommandForKeyDownEventEPKNS_13KeyboardEventE+0x495): undefined reference to `pthread_setspecific'
/tmp/.portage/portage/dev-qt/qtwebkit-5.6.0/work/qtwebkit-opensource-src-5.6.0/Source/WebKit//.obj/qt/WebCoreSupport/NotificationPresenterClientQt.o: In function `WebCore::NotificationPresenterClientQt::notificationClicked(WebCore::NotificationWrapper*)':
NotificationPresenterClientQt.cpp:(.text._ZN7WebCore29NotificationPresenterClientQt19notificationClickedEPNS_19NotificationWrapperE+0x4b): undefined reference to `pthread_getspecific'
NotificationPresenterClientQt.cpp:(.text._ZN7WebCore29NotificationPresenterClientQt19notificationClickedEPNS_19NotificationWrapperE+0xb0): undefined reference to `pthread_key_create'
NotificationPresenterClientQt.cpp:(.text._ZN7WebCore29NotificationPresenterClientQt19notificationClickedEPNS_19NotificationWrapperE+0xe4): undefined reference to `pthread_setspecific'
/tmp/.portage/portage/dev-qt/qtwebkit-5.6.0/work/qtwebkit-opensource-src-5.6.0/Source/WebKit//.obj/qt/WebCoreSupport/NotificationPresenterClientQt.o: In function `WebCore::NotificationPresenterClientQt::removeReplacedNotificationFromQueue(WebCore::Notification*)':
NotificationPresenterClientQt.cpp:(.text._ZN7WebCore29NotificationPresenterClientQt35removeReplacedNotificationFromQueueEPNS_12NotificationE+0x14b): undefined reference to `pthread_getspecific'
NotificationPresenterClientQt.cpp:(.text._ZN7WebCore29NotificationPresenterClientQt35removeReplacedNotificationFromQueueEPNS_12NotificationE+0x1f4): undefined reference to `pthread_setspecific'
NotificationPresenterClientQt.cpp:(.text._ZN7WebCore29NotificationPresenterClientQt35removeReplacedNotificationFromQueueEPNS_12NotificationE+0x21d): undefined reference to `pthread_key_create'
(+ many more...)
I can confirm that I can build successfully qtwebkit-5.6.0 after applying the patch shown here:
I've got the same failure. Mine started about a week or so ago. If a dev needs some info to compare, let me know what to post.
How should we patch? Or will a the be updated soon enough and we should just wait?
I just copied the patch file (I called the file "fix-libpthread.patch") in the path:
(just create the folders as needed),
then run emerge as usual. Portage automatically applied the patch and build the package.
Don't know if it's the correct way to handle it but it works on my box!
what do i put in the patch file, patchset 1, or 2? I don't know how to use this patch, thanks.
I put the contents of this patch into /etc/portage/patches/dev-qt/qtwebkit-5.6.0/pthread.patch
Is it normal that PyQt5-5.5.1 pulsl in qtwebkit-5.6.0 ? shouldn't it pull in qtwebkit-5.5.1 ? And PyQt5-5.6.1 pull in qtwebkit-5.6.x ?
Created attachment 432718 [details]
build log bz2
With that patch at that location, it didn't succeed (build.log bz2 attached)
(In reply to cryptopsy from comment #25)
> Created attachment 432718 [details]
> build log bz2
> With that patch at that location, it didn't succeed (build.log bz2 attached)
Are you sure the patch is correctly applied? When you did merge can you see in the message that the patch is applied? From your log I cannot see any User patches applied, just "qtwebkit-5.4.2-system-leveldb.patch".
You should see a message like the one below (see the lines from "Applying patches from ..." to "* User patches applied.": fix-libpthread.patch is the patch that I copied from upstream).
* qtwebkit-opensource-src-5.6.0.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking qtwebkit-opensource-src-5.6.0.tar.xz to /var/tmp/portage/dev-qt/qtwebkit-5.6.0/work
>>> Source unpacked in /var/tmp/portage/dev-qt/qtwebkit-5.6.0/work
>>> Preparing source in /var/tmp/portage/dev-qt/qtwebkit-5.6.0/work/qtwebkit-opensource-src-5.6.0 ...
* Applying qtwebkit-5.4.2-system-leveldb.patch ... [ ok ]
* Applying qtwebkit-5.2.1-disable-gstreamer.patch ... [ ok ]
* Applying qtwebkit-5.5.1-disable-jit.patch ... [ ok ]
* Applying patches from /etc/portage/patches/dev-qt/qtwebkit-5.6.0 ...
* fix-libpthread.patch ... [ ok ]
* User patches applied.
it doesn't seem like the patch is being applied, maybe i used the wrong patch?
my portage bashrc file has this, which should be sufficient, but i guess it isn't
# cat /etc/portage/bashrc
if type epatch_user &> /dev/null ; then
Created attachment 432738 [details, diff]
I had trouble at first and finally got a patch that works. It seems to lose something during copy and paste. I had to use nano -w to edit and get it to work right. File attached, I hope it is attached correctly. Hope this helps others having problems.
grepping for epatch in the ebuild, it is not there, so /etc/portage/bashrc needs to be created according to this guid.
but for me, it still does not load temp/build.log output
There's no need for bashrc. Qt >= 5.6.0 uses EAPI-6 ebuilds, which always call eapply_user, therefore support for user patching is *built-in* in all of them. In fact, that bashrc snippet does nothing in EAPI 6.
(In reply to cryptopsy from comment #20)
> How should we patch? Or will a the be updated soon enough and we should just
Just wait. The patch will be committed as soon as possible (few days max).
(In reply to cryptopsy from comment #30)
> grepping for epatch in the ebuild, it is not there, so /etc/portage/bashrc
> needs to be created according to this guid.
> but for me, it still does not load temp/build.log output
Right click the patch I included above and select save link target as. I used the file name fix-libpthread.patch. The end MUST be .patch from what I read. Then create directories until you can place it in this path:
For me, I had to create patches and on down since I have never done this before. Once you put the file there, it should work. I didn't change anything else. It does not copy and paste well so saving the file itself should work better than copy and paste. I'm on portage 2.2.28. If needed, start a forum thread and post link here or post on gentoo-user and I'll try to help there to keep from cluttering up the roach report. The only problem I had, the copy and paste problem. It didn't indent and wrap correctly. If it's not right, emerge pukes on your keyboard.
It still didn't work, i made a thread https://forums.gentoo.org/viewtopic-p-7914482.html
Fixed in git. Thanks everyone.