[MacPorts] #44570: p5.20-io-tty:make: No rule to make target `/opt/local/lib/perl5/5.20/darwin-thread-multi-2level/CORE/fakethr.h'

MacPorts noreply at macports.org
Thu Aug 7 20:09:55 PDT 2014


#44570: p5.20-io-tty:make: No rule to make target `/opt/local/lib/perl5/5.20
/darwin-thread-multi-2level/CORE/fakethr.h'
---------------------------+--------------------------------
  Reporter:  ryandesign@…  |      Owner:  macports-tickets@…
      Type:  defect        |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.3.99
Resolution:                |   Keywords:
      Port:  p5.20-io-tty  |
---------------------------+--------------------------------

Comment (by devans@…):

 I don't know what I was smoking the other day.  I would have sworn I had a
 copy of perl 5.20 built with fakethr.h in it but when I try now using
 either the current binary archive or rebuilding locally it certainly does
 not and it is not in the source as you say.

 To support this and perhaps give a clue at what the issue is, I ran across
 the following at http://codeverge.com/perl.perl5.porters/nwclark-tpf-
 grant-may-report-2/210460:


 {{{
 Whilst on the subject of extermination, this month I finally removed
 fakethr.h, and eliminated all references to it and FAKE_THREADS. fakethr.h
 and FAKE_THREADS were for a "green" threads implementation of 5005threads.
 5005threads itself is long gone, and it's not clear that -DFAKE_THREADS
 *ever* built correctly. Certainly it did not work for the 5.005 release,
 and
 it did not work at the time of the commits for the initial checkin. The
 closest that it seems to have been to working is around commit
 c6ee37c52f2ca9e5 (Dec 1997), where the headers no longer contained errors,
 but perl.c failed to compile.

 I had spotted this dead code a couple of years ago, but stalled on the
 problem that ExtUtils::MakeMaker contained a hard-coded list of headers
 which it uses to generate dependency rules for XS code, and fakethr.h was
 one of them. Hence simply innocently removing the file will have the less
 than desirable effect of causing all XS code to fail. (It's very easy to
 break most of CPAN. It's a lot harder to *not* break CPAN)

 Manually removing another line felt like a bodge, as it doesn't actually
 fix
 the real problem, so with plenty of other things to make progress on, I
 took
 no action. Fortunately as part of his hash work, Yves fixed the header
 list
 in ExtUtils::Makemaker properly (in a way that had eluded me), such that
 there is no longer list to maintain (and get stale). Hence, with that
 pre-requisite unblocked, I carefully purged the code once v5.18.0 shipped.
 So that's the last part of 5.005 threads removed. That is, until the next
 part is found.

 }}}

 So this claims removal of this header and related code after the 5.18.0
 release. So the issue may be XS and which version of ExtUtils::MakeMaker
 is in use?  Something further to look at.

-- 
Ticket URL: <https://trac.macports.org/ticket/44570#comment:6>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list