Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#17174 closed defect (duplicate)

Python _scproxy build fails on Yosemite

Reported by: vbraun Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: packages: standard Keywords: yosemite
Cc: Merged in:
Authors: Reviewers: John Palmieri
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

This Python module is required by Cython, so its not an option to let it fail

In file included from /usr/include/dispatch/dispatch.h:51:0,
                 from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15,
                 from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:13,
                 from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:55,
                 from /System/Library/Frameworks/SystemConfiguration.framework/Headers/SystemConfiguration.h:29,
                 from ./Mac/Modules/_scproxy.c:6:
/usr/include/dispatch/object.h:143:15: error: expected identifier or '(' before '^' token
 typedef void (^dispatch_block_t)(void);
               ^
/usr/include/dispatch/object.h:362:3: error: unknown type name 'dispatch_block_t'
   dispatch_block_t notification_block);
   ^
./Mac/Modules/_scproxy.c: In function 'get_proxy_settings':
./Mac/Modules/_scproxy.c:67:50: warning: the comparison will always evaluate as 'true' for the address of 'kSCPropNetProxiesExcludeSimpleHostnames' will never be NULL [-Waddress]
     if (&kSCPropNetProxiesExcludeSimpleHostnames != NULL) {
                                                  ^

Python build finished, but the necessary bits to build these modules were not found:
_bsddb             dl                 gdbm            
imageop            linuxaudiodev      ossaudiodev     
spwd               sunaudiodev                        
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Failed to build these modules:
_scproxy                                              

Change History (7)

comment:1 Changed 6 years ago by vbraun

Offending line:

typedef void (^dispatch_block_t)(void);

Other objc bits are in #if blocks, but this (and some following stuff) is not.

comment:2 Changed 6 years ago by vbraun

Simply replacing it with typedef dispatch_block_t void; works for Python, but then R blows up when it tries to build its OSX interface.

comment:3 Changed 6 years ago by vbraun

Using void* works, I have added that as a hack at #17169. This at least fixes compilation.

comment:4 Changed 6 years ago by vbraun

  • Milestone changed from sage-6.4 to sage-duplicate/invalid/wontfix
  • Status changed from new to needs_review

Fixed by the C header hack in #17169, propose to close as duplicate

comment:5 Changed 6 years ago by jhpalmieri

  • Reviewers set to John Palmieri
  • Status changed from needs_review to positive_review

comment:6 Changed 6 years ago by vbraun

  • Resolution set to duplicate
  • Status changed from positive_review to closed

comment:7 Changed 6 years ago by kcrisman

Just for reference, apparently at least one person has been hit with this in Sage 6.7, though I assume they were not using the Sage gcc (?).

Note: See TracTickets for help on using tickets.