On Wed, Aug 19, 2020 at 10:44 PM Steven A. Falco <stevenfalco(a)gmail.com> wrote:
I'm getting a failure to detect wxGTK3-devel in a cmake project that I am building
via mock. This has worked fine in the past, but suddenly it is no longer working.
My host system is fedora-32 x86_64, and I'm trying to build for fedora-rawhide
x86_64.
It looks like the bash "test(1)" command is not behaving properly, strange as
that may sound...
Can you try running mock with "--isolation=simple" and check if that
fixes the problem?
If yes, then you're hitting this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1869030
If no, then I have no idea what's going on :)
Fabio
> If I run "wx-config --libs" I get:
>
> # wx-config --libs
> wxGTK3-devel isn't installed for architecture 'x86_64'
>
> even though I can see that wxGTK3-devel is installed:
>
> # rpm -q wxGTK3-devel
> wxGTK3-devel-3.0.5.1-2.fc33.x86_64
>
> wx-config should end up running "/usr/lib64/wx/config/gtk3-unicode-3.0
--libs" and if I run that command directly I get:
>
> # /usr/lib64/wx/config/gtk3-unicode-3.0 --libs
> -pthread -lwx_gtk3u_xrc-3.0 -lwx_gtk3u_webview-3.0 -lwx_gtk3u_html-3.0
-lwx_gtk3u_qa-3.0 -lwx_gtk3u_adv-3.0 -lwx_gtk3u_core-3.0 -lwx_baseu_xml-3.0
-lwx_baseu_net-3.0 -lwx_baseu-3.0
>
> exactly as I'd expect.
>
> Here is a trace of wx-config running, after I added set -x and set -e to the script:
>
> # wx-config --libs
> + set -e
> + version=3.0
> + '[' 1 -ge 2 ']'
> + '[' -z ']'
> ++ uname -m
> + arch=x86_64
> + case $arch in
> + libdir=/usr/lib64
> + wxconfig=/usr/lib64/wx/config/gtk3-unicode-3.0
> + '[' '!' -f /usr/lib64/wx/config/gtk3-unicode-3.0 ']'
> + '[' '!' -f /usr/lib64/wx/config/gtk3-unicode-3.0 -a '('
x86_64 = ppc64 -o x86_64 = sparc64 ')' ']'
> + echo /usr/lib64/wx/config/gtk3-unicode-3.0
> /usr/lib64/wx/config/gtk3-unicode-3.0
> + '[' -x /usr/lib64/wx/config/gtk3-unicode-3.0 ']'
> + echo 'wxGTK3-devel isn'\''t installed for architecture
'\''x86_64'\'''
> wxGTK3-devel isn't installed for architecture 'x86_64'
> + exit 9
>
> Basically, wx-config finds the correct gtk3-unicode-3.0 script
(wxconfig=/usr/lib64/wx/config/gtk3-unicode-3.0) but then wx-config refuses to run it
because '[' -x /usr/lib64/wx/config/gtk3-unicode-3.0 ']' fails to identify
gtk3-unicode-3.0 as executable. I already know gtk3-unicode-3.0 is executable, because I
ran it manually above. And if I do an "ls", I get:
>
> # ls -l /usr/lib64/wx/config/gtk3-unicode-3.0
> -rwxr-xr-x 1 root root 48362 Jul 30 16:03 /usr/lib64/wx/config/gtk3-unicode-3.0
>
> so gtk3-unicode-3.0 is surely executable.
>
> If I manually run "test", it does in fact fail to detect properly:
>
> # [ -x /usr/lib64/wx/config/gtk3-unicode-3.0 ] ; echo $?
> 1
>
> But "test" does admit that the file exists:
>
> # [ -e /usr/lib64/wx/config/gtk3-unicode-3.0 ] ; echo $?
> 0
>
> I hesitate to write a bug for this because it is so bizarre that I figure I must be
doing something wrong, although I have no idea what that might be.
>
> BTW, wx-config works fine under fedora-32 mock, so it appears to be something
particular to rawhide mock.
>
> Any hints appreciated.
>
> Steve
> _______________________________________________
> devel mailing list -- devel(a)lists.fedoraproject.org
> To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org