Closed James-E-A closed 7 years ago
There's an error
0:03.33 configure:17448: checking for qmake
0:03.33 configure: error: * * * Unsupported Qt Version: 4.8.6
0:03.33 *** Fix above errors and then restart with\
0:03.33 "/usr/bin/gmake -f client.mk build"
0:03.33 gmake: *** [client.mk:363: configure] Error 1
Ameliorated by adding --with-qtdir=/usr/lib/qt5
🤔
0:34.04 In file included from /tmp/pmbuild/widget/Unified_cpp_widget2.cpp:20:0:
0:34.04 /tmp/Pale-Moon-27.2.1_Release/widget/nsShmImage.cpp:11:19: fatal error: QWindow: No such file or directory
0:34.05 #include <QWindow>
0:34.05 ^
0:34.05 compilation terminated.
0:34.06 In the directory /tmp/pmbuild/widget
0:34.06 The following command failed to execute properly:
0:34.06 c++ -o Unified_cpp_widget2.o -c -I../dist/stl_wrappers -I../dist/system_wrappers -include /tmp/Pale-Moon-27.2.1_Release/config/gcc_hidden.h -DMOZ_CROSS_PROCESS_IME -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/tmp/Pale-Moon-27.2.1_Release/widget -I. -I/tmp/pmbuild/ipc/ipdl/_ipdlheaders -I/tmp/Pale-Moon-27.2.1_Release/ipc/chromium/src -I/tmp/Pale-Moon-27.2.1_Release/ipc/glue -I/tmp/Pale-Moon-27.2.1_Release/layout/base -I/tmp/Pale-Moon-27.2.1_Release/layout/forms -I/tmp/Pale-Moon-27.2.1_Release/layout/generic -I/tmp/Pale-Moon-27.2.1_Release/layout/xul -I/tmp/Pale-Moon-27.2.1_Release/view -I/tmp/Pale-Moon-27.2.1_Release/widget -I/tmp/Pale-Moon-27.2.1_Release/widget/qt -I../dist/include -I/usr/include/nspr -I/usr/include/nss -I/usr/include/pixman-1 -fPIC -DMOZILLA_CLIENT -include ../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_widget2.o.pp -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -O2 -pipe -march=nehalem -mmmx -msse -msse2 -msse3 -mssse3 -mcrc32 -mcx16 -msahf -mpopcnt -msse4.2 -msse4.1 -mfxsr --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=nehalem -msse2 -mfpmath=sse -fomit-frame-pointer -DQT_SHARED -I/usr/lib/qt5/include -I/usr/lib/qt5/include/QtGui -I/usr/lib/qt5/include/QtCore -I/usr/lib/qt5/include/QtNetwork -I/usr/lib/qt5/include/QtXml -I/usr/lib/qt5/include/QtDeclarative -I/usr/lib/qt5/include/QtGui/5.6.2/QtGui -I/usr/lib/qt5/include/QtPrintSupport -I/usr/include/qt5/QtPositioning -I/usr/include/qt5 -I/usr/include/qt5/QtCore -I/usr/include/qt5 /tmp/pmbuild/widget/Unified_cpp_widget2.cpp
0:34.06 gmake[5]: *** [/tmp/Pale-Moon-27.2.1_Release/config/rules.mk:938: Unified_cpp_widget2.o] Error 1
and yet:
$ file /usr/include/qt5/QtGui/QWindow
/usr/include/qt5/QtGui/QWindow: C source, ASCII text
(Neither --includedir=/usr/include/qt5
nor --includedir=/usr/include/qt5/QtGui
fix it, or even change the error message.)
…it looks like installing this symlink fixes it
/usr/lib/qt5/include -> ../../include/qt5
If this works, I'll maybe poke upstream about fixing this. But as it stands, Moonchild probably doesn't even want to think about the idea that his browser will compile with QT5 (lol).
ᐳstill no compiler errors I can't believe this is actually working 😮😂
Alas. I guess QT support in Pale Moon was (literally) never meant to be. (Singlethreaded build log to isolate the error)
19:14.26 nsQtNetworkLinkService.o
19:15.76 In file included from ../../../dist/include/nsISupportsUtils.h:14:0,
19:15.76 from ../../../dist/include/nsISupports.h:123,
19:15.76 from ../../../dist/include/nsINetworkLinkService.h:10,
19:15.76 from /tmp/Pale-Moon-27.2.1_Release/netwerk/system/qt/nsQtNetworkLinkService.h:8,
19:15.76 from /tmp/Pale-Moon-27.2.1_Release/netwerk/system/qt/nsQtNetworkLinkService.cpp:6:
19:15.76 /tmp/Pale-Moon-27.2.1_Release/netwerk/system/qt/nsQtNetworkLinkService.cpp: In member function ‘virtual MozExternalRefCountType nsQtNetworkLinkService::AddRef()’:
19:15.76 ../../../dist/include/nsISupportsImpl.h:90:3: error: static assertion failed: Reference-counted class nsQtNetworkLinkService should not have a public destructor. Try to make this class's destructor non-public. If that is really not possible, you can whitelist this class by providing a HasDangerousPublicDestructor specialization for it.
19:15.76 static_assert(!MOZ_IS_DESTRUCTIBLE(X) || \
19:15.76 ^
19:15.76 ../../../dist/include/nsISupportsImpl.h:563:3: note: in expansion of macro ‘MOZ_ASSERT_TYPE_OK_FOR_REFCOUNTING’
19:15.76 MOZ_ASSERT_TYPE_OK_FOR_REFCOUNTING(_class) \
19:15.76 ^
19:15.76 ../../../dist/include/nsISupportsImpl.h:1029:3: note: in expansion of macro ‘NS_IMPL_ADDREF’
19:15.76 NS_IMPL_ADDREF(aClass) \
19:15.76 ^
19:15.76 /tmp/Pale-Moon-27.2.1_Release/netwerk/system/qt/nsQtNetworkLinkService.cpp:14:1: note: in expansion of macro ‘NS_IMPL_ISUPPORTS’
19:15.76 NS_IMPL_ISUPPORTS(nsQtNetworkLinkService,
19:15.76 ^
19:15.93 In the directory /tmp/pmbuild/netwerk/system/qt
19:15.93 The following command failed to execute properly:
19:15.93 c++ -o nsQtNetworkLinkService.o -c -I../../../dist/stl_wrappers -I../../../dist/system_wrappers -include /tmp/Pale-Moon-27.2.1_Release/config/gcc_hidden.h -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/tmp/Pale-Moon-27.2.1_Release/netwerk/system/qt -I. -I/tmp/Pale-Moon-27.2.1_Release/netwerk/base -I../../../dist/include -I/usr/include/nspr -I/usr/include/nss -I/usr/include/pixman-1 -fPIC -DMOZILLA_CLIENT -include ../../../mozilla-config.h -MD -MP -MF .deps/nsQtNetworkLinkService.o.pp -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -O2 -pipe -march=nehalem -mmmx -msse -msse2 -msse3 -mssse3 -mcrc32 -mcx16 -msahf -mpopcnt -msse4.2 -msse4.1 -mfxsr --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=nehalem -msse2 -mfpmath=sse -fomit-frame-pointer -DQT_SHARED -I/usr/lib/qt5/include -I/usr/lib/qt5/include/QtGui -I/usr/lib/qt5/include/QtCore -I/usr/lib/qt5/include/QtNetwork -I/usr/lib/qt5/include/QtXml -I/usr/lib/qt5/include/QtDeclarative -I/usr/lib/qt5/include/QtGui/5.6.2/QtGui -I/usr/lib/qt5/include/QtPrintSupport -I/usr/include/qt5/QtPositioning -I/usr/include/qt5 -I/usr/include/qt5/QtCore -I/usr/include/qt5 /tmp/Pale-Moon-27.2.1_Release/netwerk/system/qt/nsQtNetworkLinkService.cpp
19:15.93 gmake[5]: *** [/tmp/Pale-Moon-27.2.1_Release/config/rules.mk:938: nsQtNetworkLinkService.o] Error 1
19:15.93 gmake[4]: *** [/tmp/Pale-Moon-27.2.1_Release/config/recurse.mk:74: netwerk/system/qt/target] Error 2
19:15.93 gmake[3]: *** [/tmp/Pale-Moon-27.2.1_Release/config/recurse.mk:37: compile] Error 2
19:15.93 gmake[2]: *** [/tmp/Pale-Moon-27.2.1_Release/config/rules.mk:541: default] Error 2
19:15.93 gmake[1]: *** [/tmp/Pale-Moon-27.2.1_Release/client.mk:398: realbuild] Error 2
19:15.93 gmake: *** [client.mk:171: build] Error 2
19:15.97 32 compiler warnings present.
19:15.98 Notification center failed: Install the python dbus module to get a notification when the build finishes.
もう一度!
If --disable-necko-wifi
doesn't work, I'm calling it quits. It was a long shot anyway.
Upstream says it's currently not available/working. https://forum.palemoon.org/viewtopic.php?f=5&t=15379
Can Pale Moon can be / has it ever successfully been compiled with QT support?
That would be a no.
To build with QT support, you will (obviously) have to work through a number of code-structural issues like this refcounted class having a public DTOR (which is dangerous because you could have an external call destroy the class while in use -- that's a code-security hazard (UAF etc.) This code has not been tested or used for a long time; don't expect it to work out of the box.
I guess support could be added by someone who knows C++, but it can't be done purely from the configuration options.
No success with that since then?
In
./configure --help
, the following lines exist:We probably oughta expose these via USE flags.*
*That is, once they've been tested. Is
cairo-qt
invalid cruft from generic mozilla configuration arcana that will probably break the package, or is it actually the gateway to proper integration with our KDE friends?