[MacPorts] #42073: p5-wx does not build
MacPorts
noreply at macports.org
Thu Jan 9 15:25:08 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 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`?
* Which one works with wxWidgets 2.9 and which one doesn't? (Which
combinations did you test when you created the port?)
* 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?
* 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)
}}}
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 ...)
Usually a package would link against
`/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_baseu-2.9.dylib`
and then the link would be broken when wxWidgets gets upgraded. I don't
know if this is also the case here. I'm unable to figure out why C code
gets compiled and where it ends up.
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.
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.)
--
Ticket URL: <https://trac.macports.org/ticket/42073#comment:4>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list