The-Cataclysm-Preservation-Project / TrinityCore

Archived repository for WoW 4.3.4.15595. The project will be reworked for Cataclysm Classic as an official new branch of TrinityCore at https://github.com/TrinityCore/TrinityCore
GNU General Public License v2.0
239 stars 97 forks source link

Docker-Image Database not working #416

Closed Snify89 closed 10 months ago

Snify89 commented 10 months ago

Description:

/home/circleci/project/src/server/database/Database/DatabaseWorkerPool.cpp:70 in DatabaseWorkerPool FATAL ERROR: Used MySQL library version (8.0.33 id 80033) does not match the version id used to compile TrinityCore (id 80034). Search on forum for TCE00011. Segmentation fault

Current behaviour:

Does not start authserver/worldserver

Expected behaviour:

should start

Steps to reproduce the problem:

pull latest docker image bind mount regular config to /home/circleci/project/bin/check_install/etc change database connection accordingly start mysql 8.1.0-1 execute create_mysql.sql for user and databases bind mount world db files to home/circleci/ start worldserver

Edit: Same error comes with latest MariaDB

TC rev. hash/commit:

https://github.com/The-Cataclysm-Preservation-Project/TrinityCore/commit/1bae56ff8b626b963478fb35e4a44ada6c412597

Operating system: Linux

Ovahlord commented 10 months ago

well, according to your error, your mysql installation is 8.0.33 and the image has been built with 8.0.34 so your server is outdated. Are you sure that you're running mysql 8.1?

Snify89 commented 10 months ago

well, according to your error, your mysql installation is 8.0.33 and the image has been built with 8.0.34 so your server is outdated. Are you sure that you're running mysql 8.1?

To my understanding the circle-ci environment is different from the docker base-image. The binaries are compiled with a different header version. (newer) The error occurs even if no database is attached (e.g. socket or tcp-protocol) I have tried different versions of mysql/mariadb.

Snify89 commented 10 months ago

The docker image has: libmysqlclient-dev (8.0.33-0ubuntu0.22.04.2).

The problem can be fixed by updating the library: sudo apt update; sudo apt-get install libmysqlclient-dev

Could you please add this in the dockerfile?

Edit: Could you also add the package p7zip-full? I would like to do a docker compose file but 7z is missing for the first extraction/migration to the database. Thank you in advance :)

funjoker commented 10 months ago

well i saw circle ci used 4.3.4 image instead of master image to build the docker file. I deleted the deprecated image and i am rerunning the compile now. hopefully it will take the correct image now

funjoker commented 10 months ago

Try again after 8403605

Snify89 commented 10 months ago

Try again after 8403605

It works great now. Thank you very much!