Opened 11 years ago

Closed 11 years ago

#19161 closed defect (fixed)

qemu: doesn't build on Tiger

Reported by: ryandesign (Ryan Schmidt) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.7.0
Keywords: tiger Cc: arifsaha (S P Arif Sahari Wibowo), trog24 (Frank J. R. Hanstick)
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 (13)

comment:1 in reply to:  description Changed 11 years ago by arifsaha (S P Arif Sahari Wibowo)

Replying to ryandesign@…:

qemu 0.10.1 fails to build on Mac OS X 10.4.11 Intel with Xcode 2.5 and MacPorts 1.7.1:

...

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

Happens to me as well. I also tried qemu 0.10.2 and had the exact same error.

comment:2 Changed 11 years ago by arifsaha (S P Arif Sahari Wibowo)

Cc: arifsaha@… added

Cc Me!

comment:3 Changed 11 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:4 Changed 11 years ago by tobypeterson

Resolution: invalid
Status: newclosed

Ports that require CF obviously will not build on Tiger. This is never, ever going to change.

comment:5 Changed 11 years ago by ryandesign (Ryan Schmidt)

Resolution: invalid
Status: closedreopened

Then the bug is that the port does not prevent itself from installing on Tiger.

comment:6 Changed 11 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: reopenedclosed

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:7 Changed 11 years ago by jmroot (Joshua Root)

Committed a real fix in r55484.

comment:8 Changed 11 years ago by ryandesign (Ryan Schmidt)

Cc: trog24@… added
Resolution: fixed
Status: closedreopened
Summary: qemu: in /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation, missing required architecture x86_64 in fileqemu: 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 11 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 11 years ago by ryandesign (Ryan Schmidt)

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 11 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 11 years ago by ryandesign (Ryan Schmidt)

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 11 years ago by jmroot (Joshua Root)

Keywords: tiger added
Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.