Opened 2 years ago

Last modified 2 years ago

#66453 assigned defect

R: incorrect info re compiler in the portfile

Reported by: barracuda156 Owned by: i0ntempest
Priority: Normal Milestone:
Component: ports Version: 2.8.0
Keywords: Cc:
Port: R

Description

The portfile has:

# Note: gcc cannot be used for the C compiler. It will give:
#:info:build In file included from /usr/include/dispatch/dispatch.h:51:0,
#:info:build                  from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15,
#:info:build                  from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:13,
#:info:build                  from langprefs.c:30:
#:info:build /usr/include/dispatch/object.h:143:15: error: expected identifier or '(' before '^' token
#:info:build  typedef void (^dispatch_block_t)(void);
#:info:build                ^
#:info:build /usr/include/dispatch/object.h:362:3: error: unknown type name 'dispatch_block_t'
#:info:build    dispatch_block_t notification_block);
#:info:build    ^
# However, use of compiler.blacklist *gcc* would remove the GCC Fortran compilers too.

This may be true for some versions of macOS, but this is false in general. GCC certainly can be used as the C compiler with R.

  1. S. Also I wonder, why no universal for R?

Change History (3)

comment:1 Changed 2 years ago by kencu (Ken)

clang supports -fblocks by default on systems thst natively support blocks.

gcc does not

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352

So that would be why that is there.

comment:2 in reply to:  1 Changed 2 years ago by barracuda156

Replying to kencu:

clang supports -fblocks by default on systems thst natively support blocks.

gcc does not

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352

So that would be why that is there.

Well, I guess the statement should have it explicitly – since it is easy to verify that GCC works perfectly fine with R at least on <10.7. (And on PPC it is the only choice out there.)

  1. S. Why I made a ticket and not a PR is because I am not sure to which systems the statement applies. I can only say it is incorrect in general (that is, there are standard cases where GCC works).
Last edited 2 years ago by barracuda156 (previous) (diff)

comment:3 Changed 2 years ago by kencu (Ken)

true.

I’m not sure if R tests for -fblocks before using it now … previously it seemed to assume it was available on darwin.

Note: See TracTickets for help on using tickets.