[MacPorts] #23303: procfs fails to compile under Snow Leopard

MacPorts noreply at macports.org
Sat Aug 14 11:53:05 PDT 2010


#23303: procfs fails to compile under Snow Leopard
------------------------------------------+---------------------------------
 Reporter:  hans.ekkehard.plesser@…       |       Owner:  macports-tickets@…                   
     Type:  defect                        |      Status:  new                                  
 Priority:  Normal                        |   Milestone:                                       
Component:  ports                         |     Version:  1.8.2                                
 Keywords:                                |        Port:  procfs                               
------------------------------------------+---------------------------------

Comment(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
 [http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/64bitPorting/KernelExtensionsandDrivers/KernelExtensionsandDrivers.html
 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.

-- 
Ticket URL: <http://trac.macports.org/ticket/23303#comment:4>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list