Changes between Initial Version and Version 1 of Ticket #70159, comment 4


Ignore:
Timestamp:
Jun 5, 2024, 12:52:00 PM (4 months ago)
Author:
ryandesign (Ryan Carsten Schmidt)
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #70159, comment 4

    initial v1  
    44Not necessarily. The versions of clang on 10.7 and 10.8 are "old". On 10.6, Xcode clang is so old that we don't try to use it anymore; we use a "new" MacPorts clang instead when building for Intel. Your build on 10.6 was for PowerPC for which clang doesn't work so it used gcc-4.2, another "old" compiler.
    55
    6 gource (the only other port that has a build dependency on glm) fails with the same error message on 10.8 but not on 10.7. gource requires C++11, so it needs Apple clang 500 or later. The 10.8 buildbot worker has this; the 10.7 worker doesn't so a newer MacPorts clang would be used there. logstalgia doesn't specify a C++ requirement so used Apple clang on both 10.7 and 10.8. This suggests the problem is that the glm headers require something that's only available in Apple clang 600 or later. The config.log should have more specifics.
     6gource (the only other port that has a build dependency on glm) fails with the same error message on 10.8 but not on 10.7. gource requires C++11, so it needs Apple clang 500 or later. The 10.8 buildbot worker has this; the 10.7 worker doesn't so a "new" MacPorts clang would be used there. logstalgia doesn't specify a C++ requirement so it used "old" Apple clang on both 10.7 and 10.8. This suggests the problem is that the glm headers require something that's only available in Apple clang 600 or later. The config.log should have more specifics.
    77
    88Maybe it is something that can be fixed in the glm headers, or maybe everything using the glm headers needs Apple clang 600 or later. Hopefully it's the former, because the glm port says it only requires C++98. The glm build system has flags one can use to indicate which C++ standard should be used, and we don't use any of those flags in the glm port which means it auto-detects. You could try rebuilding the glm port from source after adding the flag that forces it to use C++98.