Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 883373

Summary: net-analyzer/wireshark-4.0.1 fails with GCC 12
Product: Gentoo Linux Reporter: John Bowler <jbowler>
Component: Current packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: environment file
emerge -pqv '=net-analyzer/wireshark-4.0.1::gentoo'
emerge --info '=net-analyzer/wireshark-4.0.1::gentoo'
/var/tmp/portage/net-analyzer/wireshark-4.0.1/temp/build.log

Description John Bowler 2022-11-28 01:03:33 UTC
Straightforward build failure on emerge with my config. x86_64-pc-linux-gnu-12 and maybe dev-qt/qtcore-5.15.5-r3:5/5.15.5.  Looks like a static_cast<>() is required.

Reproducible: Always

Steps to Reproduce:
1.emerge --update
2.
3.
Actual Results:  
fails

Expected Results:  
succeeds

GUI seems to have lost the ability to attach the config info on posting a bug, I'll attach after.
Comment 1 John Bowler 2022-11-28 01:06:13 UTC
Created attachment 837847 [details]
environment file
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-28 01:07:13 UTC
Please include build.log and emerge --info too.
Comment 3 John Bowler 2022-11-28 01:07:50 UTC
See attachment for --info
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-28 01:08:38 UTC
(In reply to John Bowler from comment #3)
> See attachment for --info

That attachment is your environment file which is not the same thing.
Comment 5 John Bowler 2022-11-28 01:10:54 UTC
Created attachment 837849 [details]
emerge -pqv '=net-analyzer/wireshark-4.0.1::gentoo'
Comment 6 John Bowler 2022-11-28 01:11:36 UTC
Created attachment 837851 [details]
emerge --info '=net-analyzer/wireshark-4.0.1::gentoo'
Comment 7 John Bowler 2022-11-28 01:14:08 UTC
Created attachment 837853 [details]
/var/tmp/portage/net-analyzer/wireshark-4.0.1/temp/build.log

NOTE: this is bzip2'ed to make it fit into the limits.
Comment 8 John Bowler 2022-11-28 01:15:02 UTC
ALL ATTACHMENTS ADDED.

Please proceed.
Comment 9 John Bowler 2022-11-28 01:22:55 UTC
(In reply to Sam James from comment #4)
> (In reply to John Bowler from comment #3)
> > See attachment for --info
> 
> That attachment is your environment file which is not the same thing.

Seriously?  It starts thus:

Portage 3.0.39 (python 3.11.0-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-12, glibc-2.36-r5, 6.0.9-gentoo+systemd x86_64)
=================================================================
                         System Settings
=================================================================

Whereas the attachment for my environment file, which actually is my environment file and maybe I shouldn't have posted (hey, I'm just following the damned instructions) looks like this:

declare -x ABI="amd64"
declare -x ABI_MIPS=""
declare -x ABI_S390=""
declare -x ABI_X86="64"
declare -x ADA_TARGET=""
declare -x ALSA_CARDS=""

Duh what?
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-28 01:30:31 UTC
I posted that comment before you'd included --info. Calm down.
Comment 11 John Bowler 2022-11-28 02:18:11 UTC
(In reply to Sam James from comment #10)
> I posted that comment before you'd included --info. Calm down.

I know that; I can read the timestamps too.  You did not post the comment before my original bug report which said:

>GUI seems to have lost the ability to attach the config info on posting a bug, I'll attach after.

Which I duly did.  You need to wait before posting those comments; I've seen them often enough.  We are intelligent people, we can read the instructions, but the gentoo bugzilla isn't allowing use to post all that information with the bug (four separate files, one of which couldn't be posted in its original form because of the size limits).

Either wait 30 minutes (check the timestamps) or fix bugzilla.
Comment 12 John Bowler 2022-11-28 02:29:51 UTC
In the build log search for "Permissive", the error is this one:

In file included from [01m[K/usr/include/glib-2.0/glib.h:52[m[K,
                 from [01m[K/var/tmp/portage/net-analyzer/wireshark-4.0.1/work/wireshark-4.0.1/ui/qt/io_graph_dialog.h:15[m[K,
                 from [01m[K/var/tmp/portage/net-analyzer/wireshark-4.0.1/work/wireshark-4.0.1/ui/qt/io_graph_dialog.cpp:10[m[K:
[01m[K/var/tmp/portage/net-analyzer/wireshark-4.0.1/work/wireshark-4.0.1/ui/qt/io_graph_dialog.cpp:[m[K In function ‘[01m[Kvoid io_graph_sma_period_set_cb(void*, const char*, guint, const void*, const void*)[m[K’:
[01m[K/var/tmp/portage/net-analyzer/wireshark-4.0.1/work/wireshark-4.0.1/ui/qt/io_graph_dialog.cpp:199:13:[m[K [01;31m[Kerror: [m[Kinvalid conversion from ‘[01m[Kconst void*[m[K’ to ‘[01m[Kconst char*[m[K’ [[01;31m[K-fpermissive[m[K]
  199 |         if ([01;31m[Kg_str_equal[m[K(cstr,str)) {
      |             [01;31m[K^~~~~~~~~~~[m[K
      |             [01;31m[K|[m[K
      |             [01;31m[Kconst void*[m[K

Which, vt100 escape codes akimbo, is complaining about (const char*) = (const void*).  The issue might be related to the Qt version I have, not g++ 12, since it is in a "qt" subdirectory.  The problem function is "g_str_equal" but it's almost impossible to grok with the vt100 codes; using "less" might help since it seems to decode them.
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-28 02:37:46 UTC
(It was because you had attached something which wasn't emerge --info by that point, so I assumed, but it doesn't matter.)

Anyway, dupe of bug 883223 (bad glib is now masked).

*** This bug has been marked as a duplicate of bug 883223 ***
Comment 14 John Bowler 2022-11-28 02:46:47 UTC
Yep, that's the problem.  Pity having to mask glib; I spent most of today, starting at 1AM this morning, so more than 12 hours, rebuilding for the glib update (I assume) and wireshark was the only problem I encountered.  Maybe I won't do an update for a few days :-)

The GNU typeof operator can be useful in this context, alas it is not part of The Standard.