[MDEV-11809] Cannot compile Connect SE - connect/ioapi.h:135:51: error: expected initializer before ‘OF’ Created: 2017-01-16 Updated: 2022-11-08 Resolved: 2022-11-08 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Compiling, Storage Engine - Connect |
| Affects Version/s: | 10.0.29 |
| Fix Version/s: | 10.0.30 |
| Type: | Bug | Priority: | Major |
| Reporter: | Brian Evans | Assignee: | Andrew Hutchings |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Gentoo GCC 5.4.0 |
||
| Attachments: |
|
| Description |
|
Complete build log attached. Errors on:
|
| Comments |
| Comment by Olivier Bertrand [ 2017-01-17 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I don't know what compiler you are using because these files (ioapi.c, zip.c and unzip.c) are successfully compiled on all platforms used by buildbot. They are not written by me but imported from the MiniZip project (see the copyright in the file headers) and you should contact the authors. Meanwhile, if you are not interested by zipped tables, you can compile with
I don't know if this can be specified when compiling, if not you have to edit the CMakeLists.txt of the CONNECT plugin to do so. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Brian Evans [ 2017-01-18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@bertransop Yes, I've disabled CONNECT_WITH_ZIP for now in Gentoo's 10.0.29. I hope to find a solution so that Gentoo users can benefit from such easy functionality | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Brian Evans [ 2017-01-18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I've found if I comment out the supplied minizip files and use the system copy from zlib, everything compiles just fine. I'll work on a patch for review and comment | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Olivier Bertrand [ 2017-01-18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I compared the minizip files I had included in CONNECT source with the latest ones in the ZLIB source. There is no difference in the *.h files and only typo changes in the *.c files (spelling errors corrected in comments and in a variable name.) Curiously enough, the Windows file compare shows for ioapi.c:
But no differences are visible using an editor. Anyway, none of them explain why ones compile and the other ones do not. It would be interesting to see what happens on your site. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Brian Evans [ 2017-01-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Interestingly enough, they are not the same on my machine. The only thing that Gentoo does is call autoreconf in the minizip directory when building zlib. No 3rd-party patches
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Brian Evans [ 2017-01-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Actually, they are changed for macro pollution. Gentoo Bug 383179 demonstrates why and a simple change of OF( to _Z_OF( fixes things. I'll write up a patch for CMakeLists.txt and the corresponding .h files to use the system libraries when available. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrew Hutchings [ 2022-11-08 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This appears to have been fixed by commit ID e4e801d4789d. If this is still an issue please reopen. |