FS#57402 - [qt5-base] 5.10.0-4 build broke moc's #include handling
Attached to Project:
Arch Linux
Opened by Matt Corallo (BlueMatt) - Tuesday, 06 February 2018, 21:22 GMT
Last edited by Antonio Rojas (arojas) - Tuesday, 06 February 2018, 22:04 GMT
Opened by Matt Corallo (BlueMatt) - Tuesday, 06 February 2018, 21:22 GMT
Last edited by Antonio Rojas (arojas) - Tuesday, 06 February 2018, 22:04 GMT
|
Details
Upgraded from qt-base-5.10.0-1 to qt-base-5.10.0-4 (no other
package changes) and moc stopped correctly handling
#define's in #include's.
In a container (so nothing else changed and I reproduced a few times), running /usr/bin/moc-qt5 with some signals that are inside #ifdefs for something which is #define'd inside of an #include and the signals are no longer generated. Specifically, running moc-qt5 against the following header file no longer generates the symbols inside of #ifdef ENABLE_WALLETs: https://github.com/bitcoin/bitcoin/blob/v0.16.0rc2/src/qt/bitcoingui.h#L178 Note that I removed the "#if defined(HAVE_CONFIG_H)" check at the top and changed the config/bitcoin-config.h file to only have a single "#define ENABLE_WALLET" line. If a "#define ENABLE_WALLET" line is added in place of the #include there things work fine. Really no clue what the hell is going on, but given I've isolated it down to the single package upgrade in a container seems to indicate its a build issue in the package? |
This task depends upon
Closed by Antonio Rojas (arojas)
Tuesday, 06 February 2018, 22:04 GMT
Reason for closing: Duplicate
Additional comments about closing: FS#57254
Tuesday, 06 February 2018, 22:04 GMT
Reason for closing: Duplicate
Additional comments about closing:
Comment by Antonio Rojas (arojas) -
Tuesday, 06 February 2018, 21:36 GMT
Comment by
Matt Corallo (BlueMatt) - Tuesday,
06 February 2018, 22:02 GMT
what kind of container?
Docker. Just ran an interactive container, ran moc-qt5, checked
output, upgraded qt5-base, ran moc-qt5 again and the output was
missing slots.