Opened 13 years ago

Closed 11 years ago

#31504 closed defect (fixed)

xorg-cf-files has a bad Concat3 macro (somehow gcc doesn't trip on it)

Reported by: takanori@… Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: anddam (Andrea D'Amore), jmgoicolea (Jose Goicolea), cooljeanius (Eric Gallager), Ionic (Mihai Moldovan)
Port: xorg-cf-files

Description (last modified by jeremyhu (Jeremy Huddleston Sequoia))

gcc doesn't like the Concat3 macro either, but it looks like it doesn't actually use it, probably because it's never called in gcc's cpp-path

Attachments (2)

buildlog_canna.txt (16.8 KB) - added by takanori@… 13 years ago.
Tested on Xcode 4.2 GM/Lion
imake.diff (623 bytes) - added by takanori@… 13 years ago.
Patch to avoid this problem. I think this patch also fixes #30776, etc.

Download all attachments as: .zip

Change History (22)

Changed 13 years ago by takanori@…

Attachment: buildlog_canna.txt added

Tested on Xcode 4.2 GM/Lion

comment:1 Changed 13 years ago by takanori@…

This is because clang cannot interpret Concat3() macro properly which is declared in Imake.rules.

Changed 13 years ago by takanori@…

Attachment: imake.diff added

Patch to avoid this problem. I think this patch also fixes #30776, etc.

comment:2 Changed 13 years ago by takanori@…

Owner: changed from macports-tickets@… to mcalhoun@…
Port: imake added

comment:3 Changed 13 years ago by takanori@…

Resolution: fixed
Status: newclosed

Committed in r84946.

comment:4 Changed 13 years ago by jmroot (Joshua Root)

Have you filed a radar about this?

comment:5 Changed 13 years ago by takanori@…

No, not yet.

I cannot tell whether this is a bug that should be reported or an expected behavior since I know next to nothing about llvm clang.. ;-(

comment:6 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I'm just hearing about this now as a result of https://bugs.freedesktop.org/show_bug.cgi?id=45509

PLEASE file radars or tell me about issues like this, so I can look into them and file radars if you don't want to. Switching compilers and ignoring the problem won't fix it if it's really a compiler issue.

comment:7 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)

imake itself is fine, so reverting this in r89535

The real fix lies outside imake (probably in xorg-cf-files), and if you want to work around it, do so in the ports that are using imake and failing because if this fixe them, then they're broken already in that they're not honoring ${configure.cc} properly.

comment:8 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Port: xorg-cf-files added; imake removed
Resolution: fixed
Status: closedreopened

These will actually work around the issue in canna: r89536 r89537

xorg-cf-files needs to be fixed

comment:9 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Description: modified (diff)
Owner: changed from mcalhoun@… to jeremyhu@…
Status: reopenednew
Summary: canna @3.7p3_3: fails to install if xmkmf is built by clangxorg-cf-files has a bad Concat3 macro (somehow gcc doesn't trip on it)

comment:10 Changed 13 years ago by anddam (Andrea D'Amore)

Cc: and.damore@… added

Cc Me!

comment:11 Changed 13 years ago by jmgoicolea (Jose Goicolea)

Cc: jose.goicolea@… added

Cc Me!

comment:12 Changed 12 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

Partial fix and partial workaround committed in r93825. This at least allows imake-using stuff to build for me with Xcode 4.3.2. The patches should be OK to send upstream.

The reinplaces that put ${configure.cc} and friends into darwin.cf weren't really correct anyway, since the dependent ports may change the compiler and need to specify it individually.

I'm still not sure why clang ever hit the problem with Concat3, since it does define __STDC__ and so should have been taking the first branch.

comment:13 Changed 12 years ago by jmroot (Joshua Root)

Looks like imake really needs -traditional-cpp for those macros so the whitespace comes out right. Since clang doesn't support that option, I've fixed it to use cpp instead of $CC -E in r93865.

comment:14 Changed 12 years ago by jmroot (Joshua Root)

This will probably pop up again when llvm-gcc is removed from Xcode, since /usr/bin/cpp will presumably have to start using clang.

comment:15 Changed 12 years ago by howarth@…

Note that upstream clang appears uninterested in enhancing their -traditional-cpp support and expects this to be fixed in the imake instead.
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-February/058970.html

comment:16 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I am very much on top of this issue.

comment:17 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:18 Changed 11 years ago by Ionic (Mihai Moldovan)

Resolution: fixed
Status: closedreopened

This problem is now prevalent on Mavericks, as llvm-gcc has been removed. Hit it when rebuilding xcb.

comment:19 Changed 11 years ago by Ionic (Mihai Moldovan)

Cc: ionic@… added

Cc Me!

comment:20 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: reopenedclosed

Please open a new ticket for your new issue.

Note: See TracTickets for help on using tickets.