Opened 10 years ago

Closed 9 years ago

Last modified 9 years ago

#30376 closed defect (fixed)

chapel: compiler, archs

Reported by: ryandesign (Ryan Schmidt) Owned by: tenomoto (Takeshi Enomoto)
Priority: Normal Milestone:
Component: ports Version: 2.0.0
Keywords: Cc:
Port: chapel

Description (last modified by ryandesign (Ryan Schmidt))

chapel does not ensure it's UsingTheRightCompiler nor does it respect build_arch or have a universal variant.

Change History (7)

comment:1 Changed 9 years ago by tenomoto (Takeshi Enomoto)

Resolution: fixed
Status: newclosed

chapel builds out of the box since gnu is selected for darwin among the Makefiles provided by the developer. In revision 1, ${worksrcpath}/make/compiler/Makefile.gnu is edited to ensure UsingTheRightCompiler, to respect build_arch and support +universal.

Although not tried every possible combinations, I confirmed build_arch=i386, +universal and configure.compiler=macports-gcc-4.5 works on a x86_64 machine running Lion.

Committed in r81280.

comment:2 Changed 9 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: closedreopened

Now chapel does not install on Snow Leopard, or probably anything earlier either:

$ sudo port configure
--->  Fetching chapel
--->  Verifying checksum(s) for chapel
--->  Extracting chapel
--->  Configuring chapel
Error: chapel requires configure.compiler=*-gcc-*.
Error: Target org.macports.configure returned: 
Log for chapel is at: /opt/local/var/macports/logs/_Users_rschmidt_macports_dports_lang_chapel/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

comment:3 Changed 9 years ago by tenomoto (Takeshi Enomoto)

Resolution: fixed
Status: reopenedclosed

Realized that *-gcc-* could be llvm-gcc and that the default compiler is gcc-4.x (not apple-gcc-4.x) before Lion. Modified to detect llvm or clang. r81304.

comment:4 Changed 9 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: closedreopened

Now that will fail to build on Lion, won't it? I don't have Lion yet, but the default compiler there is llvm-gcc-4.2, and if I simulate the Lion experience by requesting that compiler on Snow Leopard, I get:

$ sudo port configure configure.compiler=llvm-gcc-4.2
--->  Fetching chapel
--->  Verifying checksum(s) for chapel
--->  Extracting chapel
--->  Configuring chapel
Error: chapel does not work properly with llvm-gcc or clang.
Error: Target org.macports.configure returned: 
Log for chapel is at: /opt/local/var/macports/logs/_Users_rschmidt_macports_dports_lang_chapel/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

If you're wanting to force the use of gcc instead of llvm-gcc-4.2 or clang, then just do that. This mailing list post shows the block we're currently recommending for accomplishing that. But please report the clang and llvm-gcc problems to the developers of this software so they can resolve them. clang is the future on Mac OS X and software that doesn't work with it won't work on Macs in the future.

comment:5 Changed 9 years ago by tenomoto (Takeshi Enomoto)

Description: modified (diff)
Resolution: fixed
Status: reopenedclosed

I thought the user has to specify configure.compiler=gcc-4.2 explicitly. I modified to simply force gcc-4.2. The build fails without warnings when configure.compiler=clang is specified, for example.

r81358

comment:6 Changed 9 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)

Thanks, that looks good.

comment:7 Changed 9 years ago by tenomoto (Takeshi Enomoto)

Thank you for improving this port.

Note: See TracTickets for help on using tickets.