[MacPorts] #34495: subversion-perlbindings 1.7.5 ignores +threads for Perl

MacPorts noreply at macports.org
Mon May 21 16:39:40 PDT 2012


#34495: subversion-perlbindings 1.7.5 ignores +threads for Perl
-------------------------------+--------------------------------------------
  Reporter:  cmc@…             |       Owner:  macports-tickets@…                   
      Type:  defect            |      Status:  reopened                             
  Priority:  Normal            |   Milestone:                                       
 Component:  ports             |     Version:  2.1.0                                
Resolution:                    |    Keywords:                                       
      Port:                    |  
-------------------------------+--------------------------------------------
Changes (by cmc@…):

  * status:  closed => reopened
  * resolution:  worksforme =>


Comment:

 Aha—yes, that appears to be what was happening.  It seems like many or
 most things still build from source, enough that I had no idea that
 MacPorts was pulling binary archives (and there is no clear indication
 that you're installing an archive rather than building it locally; for
 something like a Perl package that might just consist of some Perl code
 (and not need compilation), you'd be hard pressed to see a difference
 unless you were familiar with the build process for that particular
 package). (If you look closely at the output of the install command you
 can see that `port` fetches an archive rather than distfiles, and the
 install lines start with `x` rather than `a`.)


 So there are actually two different bugs here:

   1. Given that the binary archive builds don't cover every possible
 variation of the Perl package (at least), `port` should verify that the
 binary archive was built against a Perl with the same variants as the
 locally installed Perl port, and build from source if it wasn't.

   2. The `-s` flag is not passed along to any dependency builds, so if you
 build, say, `git-core +svn`, which depends on `p5.12-svn-simple`, which
 depends on `subversion-perlbindings`, only `git-core` will be built with
 the `-s` flag, and the dependents will be installed from the broken
 archives.

 and maybe even

   3. MacPorts installation behavior changes to use binary archives without
 telling the end user.

 For anyone else with this issue, I had to uninstall several packages, then
 clean, then reinstall each package in the dependency chain separately with
 the `-s` flag to force a build from source.

 Specifically,
 {{{
 sudo port -v uninstall subversion @1.7.5_0+bash_completion+tools
 sudo port -v uninstall git-core
 sudo port -v uninstall p5.12-svn-simple
 sudo port -v uninstall subversion-perlbindings
 sudo port clean subversion subversion-perlbindings git-core p5.12-svn-
 simple
 sudo port -v -s install subversion +bash_completion+tools
 sudo port -v -s install subversion-perlbindings
 sudo port -v -s uninstall p5.12-svn-simple
 sudo port -v -s install git-core
 +credential_osxkeychain+doc+pcre+python27+svn
 }}}.

 To stop this sort of problem from happening again, I compared
 `/opt/local/etc/macports/macports.conf.default` to
 `/opt/local/etc/macports/macports.conf`, and ended up copying
 `macports.conf.default` to `macports.conf`, then edited `macports.conf` to
 change
 {{{
 # When to build ports from source. Default is 'ifneeded', which downloads
 an
 # archive if available or builds from source otherwise. 'always' has the
 same
 # effect as -s on the command line, and 'never' is likewise the same as
 -b.
 #buildfromsource    ifneeded
 }}}
 to
 {{{
 buildfromsource     always
 }}}
 to force builds from source even if a binary archive is available.

-- 
Ticket URL: <https://trac.macports.org/ticket/34495#comment:2>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list