[MacPorts] #43080: New port for SeqAn applications
#43080: New port for SeqAn applications ------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Keywords: | Port: seqan-apps ------------------------+-------------------------------- Hi, I would like to add a new port named seqan-apps. As I mentioned in #43072 this is a separation of the applications that were part of the former seqan port. The port now downloads pre-built binaries from our servers for i686 and x86_64 darwin platforms which saves build time and user build requirements (took >30min and >4GB RAM). Thanks in advance, David For more information about the seqan port see #43072 and our website http://www.seqan.de -- Ticket URL: <https://trac.macports.org/ticket/43080> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by tre@…): I tested the portfile on an older iMac with Lion and all apps early exited with an "Illegal instruction". So it decided to turn from pre-compilation back to live compilation. Please find my update portfile attached. The new portfile has a dependency to the Coin-OR::LEMON graph library for which there exists no port yet. So I had to create one, see ticket #43101. Thanks, David PS: I have to mention that there is a slight urgency in the seqan and seqan-apps portfiles as the current one (seqan @1.3.1) doesn't compile on Mavericks. -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by tre@…): ping -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by tre@…): ping -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by mf2k@…): Some comments: - Macports must build the binary in the Portfile otherwise your binary is not compatible with Macports. If it takes a while, then that is what happens. We can distribute the binary on our buildslaves. - It is not correct to specify a compiler directly with {{{configure.compiler}}}. See [wiki:PortfileRecipes#compiler this link] for more guidance. -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by david.weese@…):
- Macports must build the binary in the Portfile otherwise your binary is not compatible with Macports. If it takes a while, then that is what happens. We can distribute the binary on our buildslaves.
That's ok. I've observed problems on older versions of OS X myself, so I decided to go back to client-side builds, as you can see in Portfile.2
- It is not correct to specify a compiler directly with {{{configure.compiler}}}. See [wiki:PortfileRecipes#compiler this link] for more guidance.
The reason why I specified the compiler explicitly was to avoid Clang which misses OpenMP (used by a couple of our apps) and is the default for Mac OS 10.9. The apps would compile without OpenMP on clang as well but silently without multithreading. Hence I chose a g++ compiler. -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by mf2k@…): That's ok to avoid clang, but please read the [wiki:PortfileRecipes#compiler link above]. You must blacklist clang if the code is broken and does not compile with it. Then it will properly fallback to other compilers as needed depending on the OS version. -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by david.weese@…): Ok, I just blacklisted clang and removed the license references in the long description, see Portfile.3 above. -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by david.weese@…): It seems that llvm-gcc-4.2 no longer supports OpenMP on Mac OS 10.9. Is there any possible way use an OpenMP capable compiler there? -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by mf2k@…): I know next to nothing about OpenMP. Maybe look at the OpenMPI port for guidance? There it blacklists as follows: {{{ # https://trac.macports.org/ticket/39089 compiler.blacklist gcc-4.0 compiler.blacklist-append llvm-gcc-4.2 macports-llvm-gcc-4.2 }}} clang appears to work with OpenMP, can this port's source be fixed to compile with clang? That is the best solution for OS X going forward anyway. -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Changes (by mf2k@…): * cc: sean@… (added) Comment: Cc'ing the maintainer of the OpenMPI port for possible comment. Sean? -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by david.weese@…): Do you mistake OpenMP with OpenMPI? For multi-core parallelization in the SeqAn apps we need OpenMP which is a C++ language extension supported by the gcc compilers but not clang yet. SeqAn's apps very well compile with almost any compiler and on any platform but with clang they cannot benefit from multi-threading which is a performance problem when processing biological mass data. A second issue is the coinor-LEMON library I made a portfile for (#43101). LEMON does not compile with clang, only with gcc and we have one app (breakpoint- calculator) depending on LEMON. What is the problem to have port depending on gcc47 during installation? We didn't encounter any problems with gcc4x neither on Mac OS 10.8 nor 10.9 yet. -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by mf2k@…): See, I told you I didn't know anything about OpenMP! :) -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:12> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Changes (by mf2k@…): * cc: sean@… (removed) * version: 2.2.1 => -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:13> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by david.weese@…): There are other ports that depend on OpenMP, e.g healpix-cxx. They solved that problem by blacklisting all compilers that currently don't support OpenMP (clang, gcc-apple-4.2 and llvm-gcc-4.2), see http://trac.macports.org/browser/trunk/dports/science/healpix-cxx/Portfile I integrated this solution and now the seqan-apps compile without any issues and are multithreaded again. Please tell me what you think about it, David. -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:14> MacPorts <http://www.macports.org/> Ports system for OS X
#43080: New port for SeqAn applications -------------------------+-------------------------------- Reporter: tre@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: seqan-apps | -------------------------+-------------------------------- Comment (by david.weese@…): Hello? Anyone there? -- Ticket URL: <https://trac.macports.org/ticket/43080#comment:15> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts