Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker: OTOBO image can't be built with DBD::mysql 5.001 #2548

Closed
bschmalhofer opened this issue Oct 4, 2023 · 4 comments
Closed

Docker: OTOBO image can't be built with DBD::mysql 5.001 #2548

bschmalhofer opened this issue Oct 4, 2023 · 4 comments
Assignees
Labels
docker Docker related issues installation Concerning the installation of OTOBO
Milestone

Comments

@bschmalhofer
Copy link
Contributor

bschmalhofer commented Oct 4, 2023

A new version of DBD::mysql. mariadb-client-10.3, has landed today. I assume that this is the reason why building the Docker image for rel-10_0 fails. The build fails both locally and on hub.docker.com.

The change log for DBD::mysql 5.001 states:

Only support MySQL 8.x as MySQL 5.7 is going EOL soon

This is related to end of life for MySQL 5.7: https://www.pathinfotech.com/mysql-5-7-support-ends-soon-upgrade-to-mysql-8-0-today/

The Docker image is based on Debian 10 Buster, which supplies mariadb-client-10.3 as the default mysql client. It is not obvious whether that version falls under "MySQL 5.7" support.

Installing DBD::mysql 5.001 manually in the relevant environment seem to be in line with the changes for DBD::mysql 5.001.
The relevant commit seems to be: perl5-dbi/DBD-mysql@9076a7f

"/usr/local/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
cc -c -I/opt/otobo_install/local/lib/perl5/x86_64-linux-gnu/auto/DBI -I/usr/include/mariadb -I/usr/include/mariadb/mysql -g -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -DVERSION="5.001" -DXS_VERSION="5.001" -fPIC "-I/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/CORE" dbdimp.c
dbdimp.c: In function ‘mysql_dr_connect’:
dbdimp.c:1407:31: error: ‘MYSQL_OPT_GET_SERVER_PUBLIC_KEY’ undeclared (first use in this function); did you mean ‘MYSQL_SERVER_PUBLIC_KEY’?
mysql_options(sock, MYSQL_OPT_GET_SERVER_PUBLIC_KEY, &server_get_pubkey);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MYSQL_SERVER_PUBLIC_KEY
dbdimp.c:1407:31: note: each undeclared identifier is reported only once for each function it appears in
dbdimp.c:1464:22: error: ‘SSL_MODE_PREFERRED’ undeclared (first use in this function); did you mean ‘SO_PEERCRED’?
ssl_mode = SSL_MODE_PREFERRED;
^~~~~~~~~~~~~~~~~~
SO_PEERCRED
dbdimp.c:1466:19: error: ‘SSL_MODE_VERIFY_IDENTITY’ undeclared (first use in this function)
ssl_mode = SSL_MODE_VERIFY_IDENTITY;
^~~~~~~~~~~~~~~~~~~~~~~~
dbdimp.c:1468:19: error: ‘SSL_MODE_VERIFY_CA’ undeclared (first use in this function)
ssl_mode = SSL_MODE_VERIFY_CA;
^~~~~~~~~~~~~~~~~~
dbdimp.c:1470:19: error: ‘SSL_MODE_REQUIRED’ undeclared (first use in this function); did you mean ‘OP_REQUIRE’?
ssl_mode = SSL_MODE_REQUIRED;
^~~~~~~~~~~~~~~~~
OP_REQUIRE
dbdimp.c:1471:30: error: ‘MYSQL_OPT_SSL_MODE’ undeclared (first use in this function); did you mean ‘MYSQL_OPT_SSL_CRL’?
if (mysql_options(sock, MYSQL_OPT_SSL_MODE, &ssl_mode) != 0) {
^~~~~~~~~~~~~~~~~~
MYSQL_OPT_SSL_CRL
...

@bschmalhofer bschmalhofer added the docker Docker related issues label Oct 4, 2023
@bschmalhofer bschmalhofer added this to the OTOBO 10.0 milestone Oct 4, 2023
@bschmalhofer bschmalhofer self-assigned this Oct 4, 2023
@bschmalhofer
Copy link
Contributor Author

bschmalhofer commented Oct 4, 2023

I think that for 10.0.19 there is no need to make large changes. Simply require that for Docker builds the version of DBD::mysql is below 5.001.
Switching to DBD::MariaDB is not a good option, see #1860.

bschmalhofer added a commit that referenced this issue Oct 4, 2023
for Docker builds. This is because DBD::mysql 5.001 does not play
along with the default mysql client in Debian 10 Buster.
bschmalhofer added a commit that referenced this issue Oct 4, 2023
actually satisfy the CodePolicy for rel-11_0, which is not in conflict
with the CodePolicy for rel-10_0
bschmalhofer added a commit that referenced this issue Oct 4, 2023
@bschmalhofer
Copy link
Contributor Author

bschmalhofer commented Oct 4, 2023

I had the wrong impression that DBD::mysql could be compiled on Debian 12 Bookworm. This would be the relevant version for rel-10_1 and rel-11_0. So I expect that this will be fixed in DBD::mysql. In the meantime the version 5.001 can be put on the blacklist.

Note that this affects all types of installation. But I think that the number of systems that have DBD::mysql 5.001 already installed and want to install or upgrade OTOBO is fairly small.

bschmalhofer added a commit that referenced this issue Oct 4, 2023
As it can't be compiled neither on Debian 10 Buster nor on
Debian 12 Bookworm with default-mysql-client installed.
bschmalhofer added a commit that referenced this issue Oct 4, 2023
@bschmalhofer bschmalhofer added the installation Concerning the installation of OTOBO label Oct 5, 2023
@bschmalhofer
Copy link
Contributor Author

Creating the Docker images works with the blacklisted DBD::mysl 5.001. Closing this issue.

@bschmalhofer
Copy link
Contributor Author

I just encountered a failure of the Docker build as DBD:;mysql 5.003 could not be built. This leads to the conclusion that not only DBD::mysql 5.001 should be blacklisted, but all versions > 5.001.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docker Docker related issues installation Concerning the installation of OTOBO
Projects
None yet
Development

No branches or pull requests

1 participant