New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #23303 (closed defect: wontfix)

Opened 2 years ago

Last modified 5 months ago

procfs fails to compile under Snow Leopard

Reported by: hans.ekkehard.plesser@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: Cc: dj_mook@…, macsforever2000@…
Port: procfs

Description

procfs fails to compile under Snow Leopard (OSX 10.6) with several errors in procfs.cc. I get the following error messages:

DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_procfs/work/procfs-2.0" && /usr/bin/make -j2 all'
g++ -c -Wall -D_FILE_OFFSET_BITS=64 -D__FreeBSD__=10 -O -g -isysroot /Developer/SDKs/MacOSX10.5.sdk -I/opt/local/include -o procfs.o procfs.cc
procfs.cc: In function 'kern_return_t sms_getOrientation_hardware_apple(MotionSensorData_t*)':
procfs.cc:103: error: 'IOConnectMethodStructureIStructureO' was not declared in this scope
procfs.cc: In function 'int procfs_open_proc__windows__identify(procfs_dispatcher_entry*, const char**, const char*, fuse_file_info*)':
procfs.cc:1234: error: jump to label 'bail'
procfs.cc:1226: error:   from here
procfs.cc:1228: error:   crosses initialization of 'int npid'
procfs.cc: In function 'int procfs_read_default_file_finder_info(procfs_dispatcher_entry*, const char**, char*, size_t, off_t, fuse_file_info*)':
procfs.cc:1918: warning: comparison between signed and unsigned integer expressions
procfs.cc: In function 'int procfs_read_system__firmware__variables(procfs_dispatcher_entry*, const char**, char*, size_t, off_t, fuse_file_info*)':
procfs.cc:1950: warning: comparison between signed and unsigned integer expressions
procfs.cc:1955: error: jump to label 'done'
procfs.cc:1944: error:   from here
procfs.cc:1947: error:   crosses initialization of 'const UInt8* tmpbuf'

The complete debugging output is attached. My system is a fresh install with all current updates, i.e. OSX 10.6.2 and XCode 3.2.1.

One thing I am a bit surprised about is that procfs seems to be built using MacOSX10.5.sdk.

Attachments

procfs.log Download (29.1 KB) - added by hans.ekkehard.plesser@… 2 years ago.
Debug output of failed procfs compilation
port_installed.txt Download (3.6 KB) - added by hans.ekkehard.plesser@… 2 years ago.
List of installed MacPorts software

Change History

Changed 2 years ago by hans.ekkehard.plesser@…

Debug output of failed procfs compilation

Changed 2 years ago by hans.ekkehard.plesser@…

List of installed MacPorts software

Changed 2 years ago by jmr@…

  • owner changed from macports-tickets@… to eridius@…

Please remember to cc the maintainer.

Changed 21 months ago by dj_mook@…

  • cc dj_mook@… added

Cc Me!

Changed 19 months ago by jmr@…

  • owner changed from eridius@… to macports-tickets@…

Changed 18 months ago by hans.ekkehard.plesser@…

This error persists under OSX 10.6.4 with XCode 3.2.3, MacPorts version 1.9.1 and procfs version 2.0.

I have identified the following issues:

  • The Makefile for procfs has g++ hardcoded. Thus, procfs is compiled with the currently active compiler, not with the MacPorts default compiler as it should.
  • procfs code compiles only if I select g++ 4.0.1. With 4.2.1 (which should be used according to Macports rules) or 4.4 (which I commonly use), several issues occur:
    • g++ 4.4 barfs at -arch options and does not compile anything;
    • g++ 4.2 does not accept goto instructions crossing variable initializations (in functions OPEN_HANDLER(proc__windows__identify) and READ_HANDLER(system__firmware__variables)
    • the system calls IOConnectMethodStructureIStructureO() and IOConnectMethodScalarIScalarO() are not known when using g++ 4.2, even with the 10.5 SDK; they were deprecated for 10.5 and have been removed from 10.6, see  Apple Developer Documentation; they are replaced by IOConnectCallStructMethod() and IOConnectCallScalarMethod(), but I feel out of my depth here and have not tried to adapt the code.
  • Using g++ 4.0.1, compilation goes through, but the resulting code cannot be linked against pcre, which has been built (properly) using 4.2.1.

I hope someone who knows more about MacPorts and OSX internals can fix the Makefiles/Portfile to respect MacPorts conventions about using the default system compiler (ie 4.2.1 for 10.6) and fix those system calls.

Changed 16 months ago by macsforever2000@…

  • cc macsforever2000@… added

Cc Me!

Changed 5 months ago by jmr@…

  • status changed from new to closed
  • resolution set to wontfix

This port was deleted in r83482.

Note: See TracTickets for help on using tickets.