在 Beyond Linux From Scratch 7.8 中编译 QT4 时出现问题

在 Beyond Linux From Scratch 7.8 中编译 QT4 时出现问题

我正在使用 VirtualBox 机器(32 位)构建 BLFS 以符合 Linux 标准库(书中提到的所有软件包(http://www.linuxfromscratch.org/blfs/view/7.8/), 和必需的受到推崇的,但试图避免选修的包)。正如标题所说,我无法让 BLFS 7.8 完全构建 Qt 4.8.7。

根据 BLFS 7.8 书,它应该构建以下内容:

安装的程序:assistant、designer、lconvert、linguist、lrelease、lupdate、moc、pixeltool、qcollectiongenerator、qdbuscpp2xml、qdbus、qdbusviewer、qdbusxml2cpp、qdoc3、qhelpconverter、qhelpgenerator、qmake、qmlplugindump、qmlviewer、qt3to4、qtconfig、qttracereplay、rcc、uic3 、uic、xmlpatterns 和 xmlpatternsvalidator

安装的库:libQtUiTools.a、libQt3Support.so、libQtCLucene.so、libQtCore.so、libQtDBus.so、libQtDeclarative.so、libQtDesignerComponents.so、libQtDesigner.so、libQtGui.so、libQtHelp.so、libQtMultimedia.so、libQtNetwork.so 、 libQtOpenGL.so、libQtScript.so、libQtScriptTools.so、libQtSql.so、libQtSvg.so、libQtTest.so、libQtWebKit.so、libQtXmlPatterns.so 和 libQtXml.so 以及 /opt/qt4/imports 和 / 下的几个插件选择/qt4/插件

它构建所有库,但不是所有程序:不构建 qdbuscpp2xml、qdbus、qdbusviewer、qdbusxml2cpp、qmake、xmlpatterns 和 xmlpatternsvalidator。

由于大多数未列出的程序名称中都带有 dbus,因此我检查了 systemctl,结果如下:

UNIT    LOAD    ACTIVE  SUB
proc-sys-fs-binfmt_misc.automount   loaded  active  waiting
org.freedesktop.hostname1.busname   loaded  inactive    dead
org.freedesktop.locale1.busname loaded  inactive    dead
org.freedesktop.login1.busname  loaded  inactive    dead
org.freedesktop.machine1.busname    loaded  inactive    dead
org.freedesktop.network1.busname    loaded  inactive    dead
org.freedesktop.resolve1.busname    loaded  inactive    dead
org.freedesktop.systemd1.busname    loaded  inactive    dead
org.freedesktop.timedate1.busname   loaded  inactive    dead
dev-cdrom.device    loaded  active  plugged
dev-disk-by\x2did-ata\x2dVBOX_CD\x2dROM_VB2\x2d01700376.device  loaded  active  plugged
dev-disk-by\x2did-ata\x2dVBOX_HARDDISK_VB1b03ea62\x2ddbc63e3e.device    loaded  active  plugged
dev-disk-by\x2did-ata\x2dVBOX_HARDDISK_VB1b03ea62\x2ddbc63e3e\x2dpart1.device   loaded  active  plugged
dev-disk-by\x2did-ata\x2dVBOX_HARDDISK_VB661dfc8e\x2d76a9fb53.device    loaded  active  plugged
dev-disk-by\x2did-ata\x2dVBOX_HARDDISK_VB661dfc8e\x2d76a9fb53\x2dpart1.device   loaded  active  plugged
dev-disk-by\x2duuid-adf6eeae\x2d5ab2\x2d42a3\x2d9e1d\x2d0fed7f32a451.device loaded  active  plugged
dev-disk-by\x2duuid-eb028a99\x2d93f4\x2d4b71\x2d98b4\x2daaf40d3d6c84.device loaded  active  plugged
dev-sda.device  loaded  active  plugged
dev-sda1.device loaded  active  plugged
dev-sdb.device  loaded  active  plugged
dev-sdb1.device loaded  active  plugged
dev-sr0.device  loaded  active  plugged
dev-ttyS0.device    loaded  active  plugged
dev-ttyS1.device    loaded  active  plugged
dev-ttyS2.device    loaded  active  plugged
dev-ttyS3.device    loaded  active  plugged
sys-devices-pci0000:00-0000:00:01.1-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda1.device loaded active  plugged VBOX_HARDDISK 1
sys-devices-pci0000:00-0000:00:01.1-ata1-host0-target0:0:0-0:0:0:0-block-sda.device loaded  active  plugged
sys-devices-pci0000:00-0000:00:01.1-ata1-host0-target0:0:1-0:0:1:0-block-sdb-sdb1.device loaded active  plugged VBOX_HARDDISK 1
sys-devices-pci0000:00-0000:00:01.1-ata1-host0-target0:0:1-0:0:1:0-block-sdb.device loaded  active  plugged
sys-devices-pci0000:00-0000:00:01.1-ata2-host1-target1:0:0-1:0:0:0-block-sr0.device loaded  active  plugged
sys-devices-platform-serial8250-tty-ttyS0.device    loaded  active  plugged
sys-devices-platform-serial8250-tty-ttyS1.device    loaded  active  plugged
sys-devices-platform-serial8250-tty-ttyS2.device    loaded  active  plugged
sys-devices-platform-serial8250-tty-ttyS3.device    loaded  active  plugged
sys-devices-virtual-net-sit0.device loaded  active  plugged
sys-subsystem-net-devices-sit0.device   loaded  active  plugged
-.mount loaded  active  mounted
dev-hugepages.mount loaded  active  mounted
dev-mqueue.mount    loaded  active  mounted
proc-sys-fs-binfmt_misc.mount   loaded  inactive    dead
sys-fs-fuse-connections.mount   loaded  inactive    dead
sys-kernel-config.mount loaded  inactive    dead
sys-kernel-debug.mount  loaded  active  mounted
tmp.mount   loaded  active  mounted
var-lib-machines.mount  loaded  inactive    dead
systemd-ask-password-console.path   loaded  active  waiting
systemd-ask-password-wall.path  loaded  active  waiting
alsa-restore.service    loaded  inactive    dead
alsa-state.service  loaded  inactive    dead
alsa-store.service  loaded  inactive    dead
auditd.service  not-found inactive  dead    auditd.service
dbus.service    loaded  failed  failed
display-manager.service not-found inactive  dead    display-manager.service
emergency.service   loaded  inactive    dead
[email protected]  loaded  active  running
kmod-static-nodes.service   loaded  active  exited
plymouth-quit-wait.service  not-found inactive  dead    plymouth-quit-wait.service
plymouth-start.service  not-found inactive  dead    plymouth-start.service
rc-local.service    loaded  inactive    dead
rescue.service  loaded  inactive    dead
syslog.service  not-found inactive  dead    syslog.service
systemd-ask-password-console.service    loaded  inactive    dead
systemd-ask-password-wall.service   loaded  inactive    dead
systemd-binfmt.service  loaded  inactive    dead
systemd-fsck-root.service   loaded  active  exited
systemd-hostnamed.service   loaded  inactive    dead
systemd-hwdb-update.service loaded  inactive    dead
systemd-initctl.service loaded  inactive    dead
systemd-journal-catalog-update.service  loaded  inactive    dead
systemd-journal-flush.service   loaded  active  exited
systemd-journald.service    loaded  active  running
systemd-localed.service loaded  inactive    dead
systemd-logind.service  loaded  activating auto-restart restart Login Service   
systemd-machine-id-commit.service   loaded  inactive    dead
systemd-machined.service    loaded  inactive    dead
systemd-modules-load.service    loaded  inactive    dead
systemd-networkd.service    loaded  activating auto-restart restart Network Service 
systemd-random-seed.service loaded  active  exited
systemd-remount-fs.service  loaded  active  exited
systemd-resolved.service    loaded  inactive    dead
systemd-sysctl.service  loaded  active  exited
systemd-sysusers.service    not-found inactive  dead    systemd-sysusers.service
systemd-timedated.service   loaded  inactive    dead
systemd-timesyncd.service   loaded  active  running
systemd-tmpfiles-clean.service  loaded  inactive    dead
systemd-tmpfiles-setup-dev.service  loaded  active  exited
systemd-tmpfiles-setup.service  loaded  active  exited
systemd-udev-trigger.service    loaded  active  exited
systemd-udevd.service   loaded  active  running
systemd-update-done.service loaded  inactive    dead
systemd-update-utmp-runlevel.service    loaded  inactive    dead
systemd-update-utmp.service loaded  active  exited
systemd-user-sessions.service   not-found inactive  dead    systemd-user-sessions.service
systemd-vconsole-setup.service  loaded  active  exited
-.slice loaded  active  active
machine.slice   loaded  inactive    dead
system-getty.slice  loaded  active  active
system.slice    loaded  active  active
user.slice  loaded  active  active
dbus.socket loaded  active  running
syslog.socket   loaded  inactive    dead
systemd-initctl.socket  loaded  active  listening
systemd-journald-audit.socket   loaded  inactive    dead
systemd-journald-dev-log.socket loaded  active  running
systemd-journald.socket loaded  active  running
systemd-networkd.socket loaded  active  listening
systemd-udevd-control.socket    loaded  active  running
systemd-udevd-kernel.socket loaded  active  running
dev-disk-by\x2did-ata\x2dVBOX_HARDDISK_VB661dfc8e\x2d76a9fb53\x2dpart1.swap loaded  active  active
dev-disk-by\x2duuid-adf6eeae\x2d5ab2\x2d42a3\x2d9e1d\x2d0fed7f32a451.swap   loaded  active  active
dev-sdb1.swap   loaded  active  active
basic.target    loaded  active  active
busnames.target loaded  inactive    dead
emergency.target    loaded  inactive    dead
getty.target    loaded  active  active
graphical.target    loaded  inactive    dead
local-fs-pre.target loaded  active  active
local-fs.target loaded  active  active
multi-user.target   loaded  inactive    dead
network-pre.target  loaded  inactive    dead
network.target  loaded  inactive    dead
nss-user-lookup.target  loaded  inactive    dead
paths.target    loaded  active  active
remote-fs-pre.target    loaded  inactive    dead
remote-fs.target    loaded  active  active
rescue.target   loaded  inactive    dead
shutdown.target loaded  inactive    dead
slices.target   loaded  active  active
sockets.target  loaded  active  active
swap.target loaded  active  active
sysinit.target  loaded  active  active
time-sync.target    loaded  active  active
timers.target   loaded  active  active
umount.target   loaded  inactive    dead
systemd-tmpfiles-clean.timer    loaded  active  waiting

有谁知道可能出了什么问题吗?

答案1

据我所知,当 Qt 库中启用 DBus 支持时,应该构建和安装 DBus 工具;或许这同样适用于 XML 工具。

当您执行该configure命令时,它会提供所应用配置的摘要,但在进程退出之前会很快滚动出来。要查看它,您必须向上滚动控制台输出,或将其通过管道传输到文件中;我建议make在您确定配置正确之前不要拨打电话。在那里,您应该能够看到哪些功能已启用/禁用,也许还可以了解为什么不启用。

configure有关强制功能的其他选项,请参阅

./configure --help

这应该会给您第一个提示,从哪里开始,以及您可以尝试如何解决问题。

答案2

按照@Murphy的建议,我运行了 ./config 并得到了以下结果:

Build type:    linux-g++
Architecture:  i386
Platform notes:

            - Also available for Linux: linux-kcc linux-icc linux-cxx

Build .................. libs tools docs translations
Configuration ..........  system-sqlite release largefile stl precompile_header mmx 3dnow sse sse2 sse3 ssse3 sse4_1 sse4_2 avx  minimal-config small-config medium-config large-config full-config qt3support accessibility opengl shared reduce_exports ipv6 clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify system-jpeg system-mng system-png png system-tiff system-freetype system-zlib nis cups iconv glib dbus dbus-linked openssl-linked x11sm xshape xvideo xsync xrender mitshm fontconfig xkb alsa icu concurrent xmlpatterns multimedia audio-backend svg script scripttools declarative release
Debug .................. no
Qt 3 compatibility ..... yes
QtDBus module .......... yes (linked)
QtConcurrent code ...... yes
QtGui module ........... yes
QtScript module ........ yes
QtScriptTools module ... yes
QtXmlPatterns module ... yes
Phonon module .......... no
Multimedia module ...... auto
SVG module ............. yes
WebKit module .......... no
JavaScriptCore JIT ..... To be decided by JavaScriptCore
Declarative module ..... yes
Declarative debugging ...yes
Support for S60 ........ no
Symbian DEF files ...... no
STL support ............ yes
PCH support ............ yes
MMX/3DNOW/SSE/SSE2/SSE3. yes/yes/yes/yes/yes
SSSE3/SSE4.1/SSE4.2..... yes/yes/yes
AVX..................... yes
Graphics System ........ default
IPv6 support ........... yes
IPv6 ifname support .... yes
getaddrinfo support .... yes
getifaddrs support ..... yes
Accessibility .......... yes
NIS support ............ yes
CUPS support ........... yes
Iconv support .......... yes
Glib support ........... yes
GStreamer support ...... no
PulseAudio support ..... no
Large File support ..... yes
GIF support ............ plugin
TIFF support ........... plugin (system)
JPEG support ........... plugin (system)
PNG support ............ yes (system)
MNG support ............ plugin (system)
zlib support ........... system
Session management ..... yes
OpenGL support ......... yes (Desktop OpenGL)
OpenVG support ......... no
NAS sound support ...... no
XShape support ......... yes
XVideo support ......... yes
XSync support .......... yes
Xinerama support ....... runtime
Xcursor support ........ runtime
Xfixes support ......... runtime
Xrandr support ......... runtime
Xrender support ........ yes
Xi support ............. runtime
MIT-SHM support ........ yes
FontConfig support ..... yes
XKB Support ............ yes
immodule support ....... yes
GTK theme support ...... no
SQLite support ......... plugin (system)
OpenSSL support ........ linked (linked)
Alsa support ........... yes
ICD support ............ no
libICU support ......... yes
Use system proxies ..... no

我不知道为什么某些模块(如 QtDBus)正在注释构建,而它们显然应该构建,而其他模块(如 GStreamer)甚至没有配置为构建,尽管已将其安装在系统中。

任何建议都将受到欢迎。谢谢。

相关内容