Bug#875827: wx-config does not work when --host is passed
Hi all, Today we have asked upstream via the forwarded issue, if there is any movement on this issue. Regards Phil -- Playing the game for the games sake. * Debian Maintainer Web: * Debian Wiki: https://wiki.debian.org/PhilWyett * Website: https://kathenas.org Social: * Twitter: kathenasorg * Instagram: kathenasorg signature.asc Description: This is a digitally signed message part
Bug#875827: wx-config does not work when --host is passed
Control: affects -1 = src:3depict src:aegisub src:amule src:asc src:codeblocks src:filezilla src:flamerobin src:freedink-dfarc src:lamarc src:maitreya src:mediainfo src:openyahtzee src:poedit src:spek src:usbprog src:wxsqlite3 src:wxsvg src:xchm Hi Olly, On Sun, Nov 03, 2019 at 06:06:55PM +1300, Olly Betts wrote: > Reassigning - the GTK2 flavour packages are gone from testing and only > present in unstable due to a handful of untransitioned rdeps. Thank you! Often times, I've seen such bugs closed in a transition. > On Thu, Sep 14, 2017 at 11:03:08PM +0200, Helmut Grohne wrote: > > I believe that mediainfo's use of --host is reasonable and wx-config > > should handle the native --host just fine. > > I noticed the upstream bug this is forwarded too was closed as invalid > way back in 2011. It seems unlikely upstream will fix this without > prodding, so we probably should reopen the upstream bug and provide > an explanation for why this should work. I do agree with this. It seemed beyond my reasonable reach though, so I left it at documenting that it actually affects cross building in Debian today. I don't think, I can drive this upstream, but I'll help where I can. > But reviewing your report I'm confused. Is this really a cross-build or > not? > > You say "native --host", which seems to imply it's not really a > cross-build but a native build with --host=`./config.guess` or > something similar, and that is indeed what the upstream bug report > this bug is forwarded to is complaining doesn't work. I now see how you find that confusing. In the example, I installed the wx-config on a ppc64el box, so there ppc64el was native. Once you pass --host, it stops working. The example works exactly the same way on amd64. Once you pass --host=x86_64-linux-gnu, it stops working. > But looking at mediainfo's ./Project/GNU/GUI/wxwin.m4 it seems we must > be triggering this conditional appending: > > if test "$cross_compiling" = "yes"; then > wx_config_args="$wx_config_args --host=$host_alias" > fi The usual native invocations lack --host, which is why the problem could fly under the radar for this long. > So it seems that mediainfo's configure script thinks we are > cross-compiling. Yes, the bug at hand only affects cross building, because you don't usually pass --host otherwise (given that it doesn't work at all). > I checked the crossqa logs for mediainfo, but they show a failure due > to libzen, not wx: > > configure: error: libzen configuration is not found > > http://crossqa.debian.net/build/mediainfo_18.12-2.1_ppc64el_20191016050307.log You're seeing a different problem #875830 here. I updated the affects such that you have more direct instances to choose from. Thank you Helmut
Bug#875827: wx-config does not work when --host is passed
Control: reassign -1 libwxgtk3.0-gtk3-dev/3.0.4+dfsg-1 Reassigning - the GTK2 flavour packages are gone from testing and only present in unstable due to a handful of untransitioned rdeps. On Thu, Sep 14, 2017 at 11:03:08PM +0200, Helmut Grohne wrote: > Package: libwxgtk3.0-dev > Version: 3.0.3.1+dfsg-1 > Tags: upstream > Forwarded: https://trac.wxwidgets.org/ticket/12698 > User: helm...@debian.org > Usertags: rebootstrap > Control: affects -1 + src:mediainfo > > I figured that mediainfo fails to cross build from source, because it > does not find wxWidgets. It invokes wx-config as: > > wx-config --host=$DEB_HOST_GNU_TYPE --unicode=yes --static=no base > --version > > That fails whereas it works after dropping --host: > > | $ WXDEBUG=1 wx-config --host=powerpc64le-linux-gnu --unicode=yes > --static=no base --version > | > | input parameters = base > | libs parameters = > | optional-libs parameters = > | input options = host > | host = powerpc64le-linux-gnu > | yes/no options= unicode static > | unicode = yes > | static = no > | flag options = > | output options= version > | version = yes > | query options = > | > | prefix = '/usr' > | exec_prefix = '/usr' > | wxconfdir= '/usr/lib/powerpc64le-linux-gnu/wx/config' > | m_host = 'powerpc64le-linux-gnu-?' > | m_toolkit= '[^-]+' > | m_widgetset = '(univ)?' > | m_chartype = 'unicode' > | m_debugtype = '(debug|release)' > | m_flavour= '(-[^-]+)?' > | m_version= '[0-9]+\.[0-9]+' > | m_linkage= '' > | configmask = > '^powerpc64le-linux-gnu-?-[^-]+(univ)?-unicode-[0-9]+\.[0-9]+(-[^-]+)?$' > | this config = 'gtk2-unicode-3.0' > | > | must delegate to an alternate config > | potential delegates (0): > | > | Warning: No config found to match: > ^powerpc64le-linux-gnu-?-[^-]+(univ)?-unicode-[0-9]+\.[0-9]+(-[^-]+)?$ > |in /usr/lib/powerpc64le-linux-gnu/wx/config > | If you require this configuration, please install the desired > | library build. If this is part of an automated configuration > | test and no other errors occur, you may safely ignore it. > | You may use wx-config --list to see all configs available in > | the default prefix. > | > | $ WXDEBUG=1 wx-config --unicode=yes --static=no base --version > | > | input parameters = base > | libs parameters = > | optional-libs parameters = > | input options = > | yes/no options= unicode static > | unicode = yes > | static = no > | flag options = > | output options= version > | version = yes > | query options = > | > | prefix = '/usr' > | exec_prefix = '/usr' > | wxconfdir= '/usr/lib/powerpc64le-linux-gnu/wx/config' > | m_host = '' > | m_toolkit= '[^-]+' > | m_widgetset = '(univ)?' > | m_chartype = 'unicode' > | m_debugtype = '(debug|release)' > | m_flavour= '(-[^-]+)?' > | m_version= '[0-9]+\.[0-9]+' > | m_linkage= '' > | configmask = '^[^-]+(univ)?-unicode-[0-9]+\.[0-9]+(-[^-]+)?$' > | this config = 'gtk2-unicode-3.0' > | > | using this config > | 3.0.3 > | user supplied libs: '' > | fetching lib flags for: '' > | retrieved: ldflags = > | wxlibs = > | alllibs = > | > | using libs: ' ' > | using_gui = yes > | > | $ > > I believe that mediainfo's use of --host is reasonable and wx-config > should handle the native --host just fine. I noticed the upstream bug this is forwarded too was closed as invalid way back in 2011. It seems unlikely upstream will fix this without prodding, so we probably should reopen the upstream bug and provide an explanation for why this should work. But reviewing your report I'm confused. Is this really a cross-build or not? You say "native --host", which seems to imply it's not really a cross-build but a native build with --host=`./config.guess` or something similar, and that is indeed what the upstream bug report this bug is forwarded to is complaining doesn't work. But looking at mediainfo's ./Project/GNU/GUI/wxwin.m4 it seems we must be triggering this conditional appending: if test "$cross_compiling" = "yes"; then wx_config_args="$wx_config_args --host=$host_alias" fi So it seems that mediainfo's configure script thinks we are cross-compiling. I checked the crossqa logs for mediainfo, but they show a failure due to libzen, not wx: configure: error: libzen configuration is not found http://crossqa.debian.net/build/mediainfo_18.12-2.1_ppc64el_20191016050307.log Cheers, Olly
Bug#875827: wx-config does not work when --host is passed
Package: libwxgtk3.0-dev Version: 3.0.3.1+dfsg-1 Tags: upstream Forwarded: https://trac.wxwidgets.org/ticket/12698 User: helm...@debian.org Usertags: rebootstrap Control: affects -1 + src:mediainfo I figured that mediainfo fails to cross build from source, because it does not find wxWidgets. It invokes wx-config as: wx-config --host=$DEB_HOST_GNU_TYPE --unicode=yes --static=no base --version That fails whereas it works after dropping --host: | $ WXDEBUG=1 wx-config --host=powerpc64le-linux-gnu --unicode=yes --static=no base --version | | input parameters = base | libs parameters = | optional-libs parameters = | input options = host | host = powerpc64le-linux-gnu | yes/no options= unicode static | unicode = yes | static = no | flag options = | output options= version | version = yes | query options = | | prefix = '/usr' | exec_prefix = '/usr' | wxconfdir= '/usr/lib/powerpc64le-linux-gnu/wx/config' | m_host = 'powerpc64le-linux-gnu-?' | m_toolkit= '[^-]+' | m_widgetset = '(univ)?' | m_chartype = 'unicode' | m_debugtype = '(debug|release)' | m_flavour= '(-[^-]+)?' | m_version= '[0-9]+\.[0-9]+' | m_linkage= '' | configmask = '^powerpc64le-linux-gnu-?-[^-]+(univ)?-unicode-[0-9]+\.[0-9]+(-[^-]+)?$' | this config = 'gtk2-unicode-3.0' | | must delegate to an alternate config | potential delegates (0): | | Warning: No config found to match: ^powerpc64le-linux-gnu-?-[^-]+(univ)?-unicode-[0-9]+\.[0-9]+(-[^-]+)?$ |in /usr/lib/powerpc64le-linux-gnu/wx/config | If you require this configuration, please install the desired | library build. If this is part of an automated configuration | test and no other errors occur, you may safely ignore it. | You may use wx-config --list to see all configs available in | the default prefix. | | $ WXDEBUG=1 wx-config --unicode=yes --static=no base --version | | input parameters = base | libs parameters = | optional-libs parameters = | input options = | yes/no options= unicode static | unicode = yes | static = no | flag options = | output options= version | version = yes | query options = | | prefix = '/usr' | exec_prefix = '/usr' | wxconfdir= '/usr/lib/powerpc64le-linux-gnu/wx/config' | m_host = '' | m_toolkit= '[^-]+' | m_widgetset = '(univ)?' | m_chartype = 'unicode' | m_debugtype = '(debug|release)' | m_flavour= '(-[^-]+)?' | m_version= '[0-9]+\.[0-9]+' | m_linkage= '' | configmask = '^[^-]+(univ)?-unicode-[0-9]+\.[0-9]+(-[^-]+)?$' | this config = 'gtk2-unicode-3.0' | | using this config | 3.0.3 | user supplied libs: '' | fetching lib flags for: '' | retrieved: ldflags = | wxlibs = | alllibs = | | using libs: ' ' | using_gui = yes | | $ I believe that mediainfo's use of --host is reasonable and wx-config should handle the native --host just fine. In an IRC discussion Olly Betts figured the matching upstream bug (set as forwarded above). In testing this, I found a workaround that makes --host work. If you copy /usr/lib/powerpc64le-linux-gnu/wx/config/gtk2-unicode-3.0 to /usr/lib/powerpc64le-linux-gnu/wx/config/powerpc64le-linux-gnu-gtk2-unicode-3.0 and sed 's/^this_host=".*"/this_host="powerpc64le-linux-gnu"/' the new file, then wx-config works with that --host. I'm not sure whether that workaround breaks something, but if it doesn't, I think the packaging could do that and thus unbreak --host. I'm not convinced enough to set the patch tag though. %-) Helmut