Ticket #19161 (closed defect: fixed)
qemu: doesn't build on Tiger
| Reported by: | ryandesign@… | Owned by: | macports-tickets@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.7.0 |
| Keywords: | tiger | Cc: | arifsaha@…, trog24@… |
| Port: | qemu |
Description
qemu 0.10.1 fails to build on Mac OS X 10.4.11 Intel with Xcode 2.5 and MacPorts 1.7.1:
$ port -d install
DEBUG: Changing to port directory: /Users/rschmidt/macports/dports/emulators/qemu
DEBUG: setting option os.universal_supported to yes
DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
DEBUG: adding the default universal variant
DEBUG: Requested variant darwin is not provided by port qemu.
DEBUG: Requested variant i386 is not provided by port qemu.
DEBUG: Executing variant macosx provides macosx
DEBUG: Changing to port directory: /Users/rschmidt/macports/dports/emulators/qemu
DEBUG: setting option os.universal_supported to yes
DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
DEBUG: adding the default universal variant
DEBUG: Requested variant darwin is not provided by port qemu.
DEBUG: Requested variant i386 is not provided by port qemu.
DEBUG: Executing variant macosx provides macosx
DEBUG: Executing org.macports.main (qemu)
---> Fetching qemu
DEBUG: Executing org.macports.fetch (qemu)
---> Verifying checksum(s) for qemu
DEBUG: Executing org.macports.checksum (qemu)
---> Checksumming qemu-0.10.1.tar.gz
DEBUG: Correct (md5) checksum for qemu-0.10.1.tar.gz
DEBUG: Correct (sha1) checksum for qemu-0.10.1.tar.gz
DEBUG: Correct (rmd160) checksum for qemu-0.10.1.tar.gz
---> Extracting qemu
DEBUG: Executing org.macports.extract (qemu)
---> Extracting qemu-0.10.1.tar.gz
DEBUG: setting option extract.args to /mp/var/macports/distfiles/qemu/qemu-0.10.1.tar.gz
DEBUG: Environment: MACOSX_DEPLOYMENT_TARGET='10.4'
DEBUG: Assembled command: 'cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_emulators_qemu/work" && gzip -dc /mp/var/macports/distfiles/qemu/qemu-0.10.1.tar.gz | /usr/bin/gnutar --no-same-owner -xf -'
DEBUG: Executing org.macports.patch (qemu)
---> Configuring qemu
DEBUG: Using compiler 'Mac OS X gcc 4.0'
DEBUG: Executing org.macports.configure (qemu)
DEBUG: Environment: CFLAGS='-O2' CPPFLAGS='-I/mp/include' CXXFLAGS='-O2' MACOSX_DEPLOYMENT_TARGET='10.4' CPP='/usr/bin/cpp-4.0' CXX='/usr/bin/g++-4.0' F90FLAGS='-O2' LDFLAGS='-L/mp/lib' FCFLAGS='-O2' OBJC='/usr/bin/gcc-4.0' INSTALL='/usr/bin/install -c' OBJCFLAGS='-O2' FFLAGS='-O2' CC='/usr/bin/gcc-4.0'
DEBUG: Assembled command: 'cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_emulators_qemu/work/qemu-0.10.1" && ./configure --prefix=/mp --cc=/usr/bin/gcc-4.0 --enable-cocoa --target-list=i386-softmmu'
Install prefix /mp
BIOS directory /mp/share/qemu
binary directory /mp/bin
Manual directory /mp/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /mp/var/macports/build/_Users_rschmidt_macports_dports_emulators_qemu/work/qemu-0.10.1
C compiler /usr/bin/gcc-4.0
Host C compiler gcc
ARCH_CFLAGS -m64
make make
install install
host CPU x86_64
host big endian no
target list i386-softmmu
gprof enabled no
sparse enabled no
profiler no
static build no
-Werror enabled no
Cocoa support yes
SDL support no
curses support yes
mingw32 support no
Audio drivers coreaudio
Extra audio cards ac97 es1370 sb16
Mixer emulation no
VNC TLS support no
kqemu support no
brlapi support no
Documentation yes
NPTL support no
vde support no
AIO support yes
Install blobs yes
KVM support no - (linux/kvm.h: No such file or directory, #error Invalid KVM version, #error Missing KVM capability KVM_CAP_USER_MEMORY, #error Missing KVM capability KVM_CAP_SET_TSS_ADDR, #error Missing KVM capability KVM_CAP_DESTROY_MEMORY_REGION_WORKS)
fdt support no
---> Building qemu
DEBUG: Executing org.macports.build (qemu)
DEBUG: Environment: MACOSX_DEPLOYMENT_TARGET='10.4'
DEBUG: Assembled command: 'cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_emulators_qemu/work/qemu-0.10.1" && nice -n 10 make all'
Makefile:361: no file name for `-include'
CC qemu-img.o
CC qemu-tool.o
CC osdep.o
CC cutils.o
CC qemu-malloc.o
CC block-cow.o
CC block-qcow.o
CC aes.o
CC block-vmdk.o
CC block-cloop.o
CC block-dmg.o
CC block-bochs.o
CC block-vpc.o
CC block-vvfat.o
CC block-qcow2.o
CC block-parallels.o
CC block-nbd.o
CC nbd.o
CC block.o
CC aio.o
CC posix-aio-compat.o
CC block-raw-posix.o
LINK qemu-img
i686-apple-darwin8-gcc-4.0.1: unrecognized option '-pthread'
ld64 warning: in /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation, missing required architecture x86_64 in file
ld64 warning: in /System/Library/Frameworks//IOKit.framework/IOKit, missing required architecture x86_64 in file
Undefined symbols:
___CFConstantStringClassReference, referenced from:
__cfstring@0 in block-raw-posix.o
__cfstring@0 in block-raw-posix.o
_CFDictionarySetValue, referenced from:
_hdev_open in block-raw-posix.o
_IOServiceMatching, referenced from:
_hdev_open in block-raw-posix.o
_IOMasterPort, referenced from:
_hdev_open in block-raw-posix.o
_CFRelease, referenced from:
_hdev_open in block-raw-posix.o
_kCFAllocatorDefault, referenced from:
_hdev_open in block-raw-posix.o
_kCFBooleanTrue, referenced from:
_hdev_open in block-raw-posix.o
_IOIteratorNext, referenced from:
_hdev_open in block-raw-posix.o
_IOObjectRelease, referenced from:
_hdev_open in block-raw-posix.o
_hdev_open in block-raw-posix.o
_CFStringGetCString, referenced from:
_hdev_open in block-raw-posix.o
_IORegistryEntryCreateCFProperty, referenced from:
_hdev_open in block-raw-posix.o
_IOServiceGetMatchingServices, referenced from:
_hdev_open in block-raw-posix.o
ld64-62.1 failed: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [qemu-img] Error 1
$
I'm not certain why it's trying to do anything 64-bit; I didn't ask it to.
Change History
comment:1 in reply to: ↑ description Changed 4 years ago by arifsaha@…
comment:4 Changed 4 years ago by toby@…
- Status changed from new to closed
- Resolution set to invalid
Ports that require CF obviously will not build on Tiger. This is never, ever going to change.
comment:5 Changed 4 years ago by ryandesign@…
- Status changed from closed to reopened
- Resolution invalid deleted
Then the bug is that the port does not prevent itself from installing on Tiger.
comment:6 Changed 4 years ago by ryandesign@…
- Status changed from reopened to closed
- Resolution set to fixed
Looking at this closer, I do not understand the statement "Ports that require CF obviously will not build on Tiger". If by CF you mean the CoreFoundation framework, then that does appear to exist on Tiger. It's not 64-bit, sure. My point was that the port is trying to build 64-bit when I didn't tell it to.
I don't feel like figuring out whether it's possible to force the software to build 32-bit right now so I'll just prevent the port from installing on Tiger for now. r55475.
comment:8 Changed 4 years ago by ryandesign@…
- Status changed from closed to reopened
- Cc trog24@… added
- Resolution fixed deleted
- Summary changed from qemu: in /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation, missing required architecture x86_64 in file to qemu: doesn't build on Tiger
Thanks. I was hoping the port would build now, after you updated to 0.10.6 in r55486, since the ChangeLog says 0.10.6 fixed build issues on Tiger, but I still get the same problem reported on macports-users in April 2009 and on qemu-devel in October 2008:
cocoa.m:444: error: 'NSFullScreenModeAllScreens' undeclared (first use in this function) cocoa.m:444: error: (Each undeclared identifier is reported only once cocoa.m:444: error: for each function it appears in.) cocoa.m:445: error: 'NSFullScreenModeSetting' undeclared (first use in this function)
comment:9 Changed 4 years ago by blb@…
If the qemu code is using NSFullScreenModeAllScreens then it's 10.5-specific without some rewriting, since that's when NSFullScreenModeAllScreens was introduced (see the NSView reference)...
comment:10 Changed 4 years ago by ryandesign@…
It appears a patch to correct this was posted to qemu-devel in October 2008; I will subscribe to qemu-devel and ask why that has not been applied.
comment:11 Changed 4 years ago by ranauei@…
Check if maybe this issue was corrected in the latest version (0.11.0-rc1) Portfile attached here: http://trac.macports.org/ticket/20639
comment:12 Changed 4 years ago by ryandesign@…
I already tested 0.11.0-rc1 and encountered a different problem, about curl.
The one response I have so far to my 0.10.6 query from someone called "G 3" is that many patches have been sent but none have been incorporated into the source, despite the developers claiming they have (!). He offered to send me the correct cocoa.m file.
comment:13 Changed 3 years ago by jmr@…
- Keywords tiger added
- Status changed from reopened to closed
- Resolution set to fixed


Replying to ryandesign@…:
...
Happens to me as well. I also tried qemu 0.10.2 and had the exact same error.