Opened 10 years ago

Closed 10 years ago

#45112 closed defect (fixed)

openscad @2014.03 Install failure

Reported by: sam.kuper@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.1
Keywords: snowleopard Cc: larryv (Lawrence Velázquez), ryandesign (Ryan Carsten Schmidt)
Port: openscad

Description

Attempting to install OpenSCAD on OS X 10.6.8 Snow Leopard fails as follows:

$ sudo port install openscad
--->  Computing dependencies for openscad
--->  Building openscad
Error: org.macports.build for port openscad returned: command execution failed
Please see the log file for port openscad for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_openscad/openscad/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port openscad failed

Attachments (1)

main.log (58.8 KB) - added by sam.kuper@… 10 years ago.

Download all attachments as: .zip

Change History (16)

Changed 10 years ago by sam.kuper@…

Attachment: main.log added

comment:1 Changed 10 years ago by sam.kuper@…

Cc: sam.kuper@… added

Cc Me!

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

Cc: sam.kuper@… removed
Owner: changed from macports-tickets@… to mf2k@…

The log says clang++ is not found. This is true of the version of clang included in Xcode 3 on Snow Leopard; it only provided the C compiler clang and relied on llvm-g++ to be the C++ compiler.

This tells us this project is not UsingTheRightCompiler. And if clang++ is truly required, then the port needs to blacklist some old compilers as well.

comment:3 Changed 10 years ago by sam.kuper@…

Thanks. I'll leave this ticket open, then.

In the meantime, here's a workaround for anyone else who runs into this.

$ sudo port install clang-3.6
$ sudo port select --set clang mp-clang-3.6
$ sudo port install openscad
Last edited 10 years ago by sam.kuper@… (previous) (diff)

comment:4 Changed 10 years ago by mf2k (Frank Schima)

I made an attempt at UsingTheRightCompiler in r125602. But I have no access to such an old version of OS X to work on this. Test this and let me know.

comment:5 Changed 10 years ago by mf2k (Frank Schima)

Keywords: snowleopard added
Resolution: wontfix
Status: newclosed

It looks like it failed to build on the Snow Leopard buildbot. I'm sorry but I don't have the time, interest or ability to support versions of OS X that are not supported by Macports. Someone will have to step up and supply a tested patch to this ticket. Re-open this ticket if so and I will commit it.

comment:6 Changed 10 years ago by larryv (Lawrence Velázquez)

Cc: larryv@… added

Cc Me!

comment:7 in reply to:  5 Changed 10 years ago by sam.kuper@…

Resolution: wontfix
Status: closedreopened

Replying to mf2k@…:

It looks like it failed to build on the Snow Leopard buildbot.

Based on the workaround I posted above, I expect that adding a MacPorts-packaged version of Clang* as a dependency might help in this regard. For reasons unknown to me, Xcode 3.2.6 on OS X 10.6.8 does not provide the clang++ command, whereas the MacPorts clang-3.6 package does.

* Clang-3.6 worked for me, but perhaps other MacPorts-packaged versions would also have worked.

I'm sorry but I don't have the time, interest or ability to support versions of OS X that are not supported by Macports. Someone will have to step up and supply a tested patch to this ticket. Re-open this ticket if so and I will commit it.

Unless I'm mistaken, "legacy" ≠ "unsupported". MacPorts certainly provides an up-to-date installer for Snow Leopard, which suggests support; and the machine for which I'm reporting the issue meets the MacPorts system requirements.

That's not to say that by reopening this ticket I'm asking you personally to do work you're not interested in or equipped for. On the contrary, I'm very grateful for your having tried to help! But please don't close a valid ticket as wontfix. Thanks again :)

Last edited 10 years ago by sam.kuper@… (previous) (diff)

comment:8 Changed 10 years ago by mf2k (Frank Schima)

Owner: changed from mf2k@… to macports-tickets@…
Status: reopenednew

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

Officially, we support the current version of OS X and the previous one. We still provide MacPorts installers for versions back to 10.4, and some of us try to provide best-effort support for older systems, but inevitably more and more ports fail to build anymore the farther back you go in OS X releases.

However, in this case, you discovered that selecting a particular version of clang affected the port and allowed it to build. It's a bug for a port to be affected by what you do with "port select", on any OS X version, and it should be fixed. That will also be the first step to resolving the build failure on older OS X versions.

comment:10 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

Cc Me!

comment:11 Changed 10 years ago by mf2k (Frank Schima)

@ryan: Was my commit r125602 not sufficient for UsingTheRightCompiler?

comment:12 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

This software uses the qmake build system, which behaves differently. In fact we have the qmake portgroup to help with such matters. I've already modified the portfile; I'm just testing it on Snow Leopard now.

comment:13 Changed 10 years ago by mf2k (Frank Schima)

Sounds good. Please do whatever you see fit. Thanks!

comment:14 Changed 10 years ago by sam.kuper@…

Thank you both :)

comment:15 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

I had to let it run overnight as the build used more memory than my secondary machine has so it took a long time, but it built fine with gcc on Snow Leopard. Committed in r125699. I removed the blacklisting of gcc (which never worked, since the port had not been UsingTheRightCompiler) and the enforcement of clang, both of which were added without explanation in r120656.

Note: See TracTickets for help on using tickets.