[MacPorts] #42073: p5-wx does not build

MacPorts noreply at macports.org
Thu Jan 9 15:52:11 PST 2014


#42073: p5-wx does not build
--------------------------------+--------------------------------
  Reporter:  macsforever2000@…  |      Owner:  macports-tickets@…
      Type:  defect             |     Status:  new
  Priority:  Normal             |  Milestone:
 Component:  ports              |    Version:
Resolution:                     |   Keywords:
      Port:  p5-wx              |
--------------------------------+--------------------------------

Comment (by macsforever2000@…):

 I'll try to answer the best I can. I am very ignorant of both perl and wx.

 Replying to [comment:4 mojca@…]:
 > There are a few things that I don't understand:
 >   * What exactly is the difference and connection between `p5-alien-
 wxwidgets` and `p5-wx`?

 I believe p5-alien-wxwidgets alters wxWidgets in some way so as to make it
 compatible with perl-wx. Beyond that, I don't know how or why.

 >   * Which one works with wxWidgets 2.9 and which one doesn't? (Which
 combinations did you test when you created the port?)

 Honestly, I don't remember. These ports may never have worked. I need
 p5-wx, however, because it is a dependency for
 [http://bruceravel.github.io/demeter/ Demeter], which I'm trying to port
 to MacPorts.

 >   * How is it possible that the server contains a binary package for
 `p5.16-wx` if the package fails to build now? Did the build happen to work
 with wxWidgets 2.9.5 and now only fails with 3.0.0?

 It did use to build in the past and so you are right, it probably built
 with 2.9.5 and it keeps the binary because the version has not been
 updated.

 >   * Where do all the compiled files end up? The only binary file I
 notice seems to be the following (but I may be missing some files) and it
 doesn't link to wxWidgets:
 > {{{
 > > otool -L  /opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-
 2level/auto/Wx/wxPerl.app/Contents/MacOS/wxPerl
 > /opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-
 2level/auto/Wx/wxPerl.app/Contents/MacOS/wxPerl:
 >       /opt/local/lib/perl5/5.16.1/darwin-thread-multi-
 2level/CORE/libperl.dylib (compatibility version 5.16.0, current version
 5.16.1)
 >       /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 159.1.0)
 >       /usr/lib/libutil.dylib (compatibility version 1.0.0, current
 version 1.0.0)
 > }}}

 I don't remember and I cannot build it anymore now.

 > Just for explanation: when B depends on A and C depends on B, direct
 dependency between C and A is "polite to have" in cases when upgrading A
 requires a revbump of C or something similar to that. The main question
 is: does this package need a revbump when wxWidgets is upgraded or not?
 Seeing that it uses wxWidgets sources I would guess so, but I'm unable to
 figure out the details and how this works. Most dependencies of `py-
 wxpython-x.y` don't need a revbump when `wxWidgets` gets upgraded because
 they are pure python scripts. Some dependencies however compile C(++) code
 and the resulting binary or library is linked against `wxWidgets`
 libraries (not that this is properly indicated, but well ...)

 I don't really know anything about p5-wx. But I think that is safe to
 assume. So we should probably depend on wxWidgets-3.0 directly.

 > As far as compatibility with wxWidgets 3.0 is concerned: how is it
 possible that nobody noticed the incompatibility since April? It is true
 that I probably didn't test the GUI when compiling the ports in August
 2013 (I had enough problems convincing `p5-alien-wxwidgets` to compile at
 all), but I would expect the port to fail already when you first created
 it if there is some major incompatibility.
 >

 I don't know. I have asked on the mailing list for perl-wx twice and
 gotten no response.

 > In case of a minor incompatibility you would probably be better off if
 you try to fix the remaining glitches and/or request from the upstream to
 fix those.
 >
 > If you are thinking about switching to version 2.8 (which is something
 that I would really like to discourage you from doing), you'll have to
 deal with the following facts:
 >   * You either need to offer an option to switch between 2.8 and 3.0 (in
 case that any ports do work with 3.0) or provide just support for 2.8.
 >   * If you offer support for both, you'll end up with a bit of a mess:
 you will need two separate ports which will most probably conflict with
 each other (in Python one can only use, say Python 2.6 + wxWidgets 2.8 and
 Python 2.7 + wxWidgets 3.0; one cannot use Python 2.7 with both at the
 same time).
 >   * Version 2.8 works for 64-bit, but only via the ugly `gtk` (`x11`).
 >   * (I would like to declare wxWidgets 2.8 obsolete one day and remove
 it. I'm not sure if this is feasible, but if p5-wx won't stand in the way,
 that will be a bonus.)

 I don't want to - or have any plans to - use wxWidgets 2.8. I want to move
 forward with 3.0. I filed this ticket because I am stuck and don't know
 how to proceed.

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


More information about the macports-tickets mailing list