我正在使用 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)甚至没有配置为构建,尽管已将其安装在系统中。
任何建议都将受到欢迎。谢谢。