[MDEV-9314] fatal build error: viosslfactories.c:58:5: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st} Created: 2015-12-22 Updated: 2016-02-06 Resolved: 2016-02-06 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Compiling, SSL |
| Affects Version/s: | 5.5, 10.0, 10.1 |
| Fix Version/s: | 5.5.48, 10.0.24, 10.1.12 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | pgnd | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
lsb_release -rd |
||
| Sprint: | 5.5.48-0 |
| Description |
|
building git 10.1-branch on linux64
|
| Comments |
| Comment by Sergei Golubchik [ 2015-12-22 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This happens, because your OpenSSL is configured with the non-default OPENSSL_NO_DEPRECATED symbol. I'll try to fix it in the next 5.5 (and following 10.0, 10.1) releases. Meanwhile you can undefine it for MariaDB. For example, use
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2015-12-22 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This is the crude patch that fixes the compilation:
But it needs to be modified to work for old OpenSSL versions too (and for yassl builds). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by pgnd [ 2015-12-22 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
> your OpenSSL is configured with the non-default OPENSSL_NO_DEPRECATED symbol. yep, openssl 1.0.2e here is config'd with "no-deprecated" flag. Not currently 'default', but strongly advised. Been available since openssl v0.9.8 iiuc. but for MDB build > cmake .. -DCMAKE_CXX_FLAGS=-UOPENSSL_NO_DEPRECATED -DCMAKE_C_FLAGS=-UOPENSSL_NO_DEPRECATED doesn't appear to do the trick.
also, I note you keep changing the priority of these build bugs from 'Blocker' @ https://mariadb.atlassian.net/secure/ShowConstantsHelp.jspa?decorator=popup#PriorityLevels "Blocker Blocks development and/or testing work, production could not run." Inability to build certainly fits that bill, no? Or advise otherwise? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by pgnd [ 2015-12-23 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
MDB 10.1 branch gets through a successful make
where
and the built, local executable,
but after install
checking
all the links are incorrect. checking RPATH
reconfig'ing with
does the trick. AFter repeat, now after install,
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2015-12-24 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks for the tip. When fixing I'll make sure that MariaDB builds and runs with "no-deprecated" openssl. As for Blocker — for simplicity we don't have he internal "Severity" vs. public "Priority", so this field affects both. So I used to downgrading the priority as users often set it to the maximum possible value. But I agree that this issue is really a Blocker, I'll change it back. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2016-02-03 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I'm compiling MariaDB 5.5 now with openssl -DOPENSSL_NO_DEPRECATED and strangely enough I don't get any warnings or errors for viosslfactories.c. Only for mysqld.cc, I'll fix that. |