https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81668
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |trippels at gcc dot gnu.org --- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- (In reply to sgunderson from comment #2) > Running with -fno-diagnostics-show-caret does not help any: > > ../include/violite.h:288:8: warning: type ‘struct st_vio’ violates the C++ > One Definition Rule [-Wodr] > ../include/violite.h:288:0: note: a different type is defined in another > translation unit > ../include/violite.h:339:46: note: the first difference of corresponding > definitions is field ‘viodelete’ > ../include/violite.h:339:0: note: a field of same name but different type is > defined in another translation unit > > It's hard for me to look at the preprocessed source code, because I don't > know what to preprocess. Like I said, there's probably a thousand > translation units including this .h file; how would I know which one to look > through to find the two differing definitions? You cannot expect anyone to debug MySQL for you. I don't see any bug, all relevant information is in the warnings. It is up to you to figure out the rest.