Yardım MariaDB 10.6 game build hatası

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Kaptan Yosun

Discord: kaptanyosun
Site yetkilisi
Acemi Moderatör
Premium Üye
Mesaj
611
Çözümler
20
Beğeni
437
Puan
839
Ticaret Puanı
0
MySQL 5.6 kaldırıp MariaDB 10.6 kurdum. Full build alırken game'i build edemiyor. Hatanın ne olduğunu tam anlayamadım. Sorun nerede acaba?

hata:
linking ../game_r40020....
/usr/local/bin/ld: warning: Div.o: missing .note.GNU-stack section implies executable stack
/usr/local/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `CHARACTER::GetAID() const':
/home/novaline/Srcs/Server/game/src/char_change_empire.cpp:197: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `CHARACTER::GetChangeEmpireCount() const':
/home/novaline/Srcs/Server/game/src/char_change_empire.cpp:142: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `CHARACTER::ChangeEmpire(unsigned char)':
/home/novaline/Srcs/Server/game/src/char_change_empire.cpp:42: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `CHARACTER::ChangeEmpire(unsigned char)':
/home/novaline/Srcs/Server/game/src/char_change_empire.cpp:70: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/char_change_empire.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/config.o: in function `config_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/novaline/Srcs/Server/game/src/config.cpp:584: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/config.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/config.o: in function `config_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/novaline/Srcs/Server/game/src/config.cpp:649: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/config.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/config.o: in function `config_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/novaline/Srcs/Server/game/src/config.cpp:689: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/config.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/db.o: in function `AccountDB::AnalyzeReturnQuery(_SQLMsg*)':
/home/novaline/Srcs/Server/game/src/db.cpp:882: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/db.o: in function `DBManager::AnalyzeReturnQuery(_SQLMsg*)':
/home/novaline/Srcs/Server/game/src/db.cpp:465: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/db.cpp:577: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/db.cpp:600: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/db.cpp:645: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/db.o:/home/novaline/Srcs/Server/game/src/db.cpp:481: more undefined references to `server_mysql_fetch_row' follow
/usr/local/bin/ld: OBJDIR/db.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::LoadGuildGradeData(_SQLMsg*)':
/home/novaline/Srcs/Server/game/src/guild.cpp:573: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::LoadGuildData(_SQLMsg*)':
/home/novaline/Srcs/Server/game/src/guild.cpp:595: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::__P2PUpdateGrade(_SQLMsg*)':
/home/novaline/Srcs/Server/game/src/guild.cpp:689: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::RefreshCommentForce(unsigned int)':
/home/novaline/Srcs/Server/game/src/guild.cpp:1079: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/guild.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::VerifyGuildJoinableCondition(CHARACTER*)':
/home/novaline/Srcs/Server/game/src/guild.cpp:2097: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/guild.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/guild.o: in function `CGuild::LoadGuildMemberData(_SQLMsg*)':
/home/novaline/Srcs/Server/game/src/guild.cpp:539: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/guild_manager.o: in function `CGuildManager::CreateGuild(TGuildCreateParameter&)':
/home/novaline/Srcs/Server/game/src/guild_manager.cpp:89: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/guild_manager.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/guild_manager.o: in function `CGuildManager::Initialize()':
/home/novaline/Srcs/Server/game/src/guild_manager.cpp:215: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/guild_manager.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/messenger_manager.o: in function `MessengerManager::LoadList(_SQLMsg*)':
/home/novaline/Srcs/Server/game/src/messenger_manager.cpp:69: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/questlua_building.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/questlua_building.o: in function `quest::building_has_land(lua_State*)':
/home/novaline/Srcs/Server/game/src/questlua_building.cpp:104: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: OBJDIR/questlua_pc.o: in function `_SQLResult::~_SQLResult()':
/home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: /home/novaline/Srcs/Server/game/src/../../libsql/AsyncSQL.h:30: undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: OBJDIR/questlua_pc.o: in function `quest::pc_change_name(lua_State*)':
/home/novaline/Srcs/Server/game/src/questlua_pc.cpp:2107: undefined reference to `server_mysql_fetch_row'
/usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::Destroy()':
AsyncSQL.cpp:(.text+0x48a): undefined reference to `server_mysql_close'
/usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::QueryLocaleSet()':
AsyncSQL.cpp:(.text+0x73f): undefined reference to `server_mysql_set_character_set'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x7b5): undefined reference to `server_mysql_error'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x7bf): undefined reference to `server_mysql_errno'
/usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::Connect()':
AsyncSQL.cpp:(.text+0x800): undefined reference to `server_mysql_init'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x844): undefined reference to `server_mysql_real_connect'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x862): undefined reference to `server_mysql_options'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x88f): undefined reference to `mysql_thread_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x8b5): undefined reference to `server_mysql_error'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x8e5): undefined reference to `server_mysql_options'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x8f9): undefined reference to `server_mysql_error'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x925): undefined reference to `server_mysql_error'
/usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::DirectQuery(char const*)':
AsyncSQL.cpp:(.text+0x112a): undefined reference to `mysql_thread_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x11cb): undefined reference to `server_mysql_real_query'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x11ee): undefined reference to `mysql_next_result'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x122e): undefined reference to `server_mysql_store_result'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1238): undefined reference to `mysql_insert_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1243): undefined reference to `server_mysql_affected_rows'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x125a): undefined reference to `server_mysql_num_rows'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x12d5): undefined reference to `mysql_thread_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x12f8): undefined reference to `server_mysql_error'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x132d): undefined reference to `server_mysql_errno'
/usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::ChildLoop()':
AsyncSQL.cpp:(.text+0x17c6): undefined reference to `mysql_thread_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x17e3): undefined reference to `server_mysql_real_query'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x17f3): undefined reference to `server_mysql_errno'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1807): undefined reference to `server_mysql_error'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x18f6): undefined reference to `mysql_next_result'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1933): undefined reference to `server_mysql_store_result'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x193d): undefined reference to `mysql_insert_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1948): undefined reference to `server_mysql_affected_rows'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x195f): undefined reference to `server_mysql_num_rows'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x19b9): undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1a83): undefined reference to `mysql_thread_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1aa0): undefined reference to `server_mysql_real_query'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1ab0): undefined reference to `server_mysql_errno'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1ac1): undefined reference to `server_mysql_error'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1b5e): undefined reference to `mysql_next_result'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1b9b): undefined reference to `server_mysql_store_result'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1ba5): undefined reference to `mysql_insert_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1bb0): undefined reference to `server_mysql_affected_rows'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1bc7): undefined reference to `server_mysql_num_rows'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1d1d): undefined reference to `mysql_thread_id'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1df9): undefined reference to `server_mysql_free_result'
/usr/local/bin/ld: AsyncSQL.cpp:(.text+0x1ef5): undefined reference to `mysql_thread_id'
/usr/local/bin/ld: ../../libsql/libsql.a(AsyncSQL.o): in function `CAsyncSQL::EscapeString(char*, unsigned int, char const*, unsigned int)':
AsyncSQL.cpp:(.text+0x1042): undefined reference to `mysql_real_escape_string'
collect2: error: ld returned 1 exit status
gmake[1]: *** [Makefile:128: ../game_r40020] Error 1
gmake[1]: Leaving directory '/home/novaline/Srcs/Server/game/src'
gmake: *** [Makefile:86: all] Error 2

1681316885246.png
 
Son düzenleme:
Linkleri görebilmek için giriş yap veya kayıt ol.
şu freebsd ile build almayı dener misiniz içerisindeki paketler var sizde bazı paketleri bulamamış bu freebsd var bende bunu kullanıyorum ek olarak paylaşan kiş iile alakam yok :D
Eksik paket yok, hazır sistem kurmak istemiyorum açıkçası. Sorunu anlayıp çözmek istiyorum sadece.
 
Src yi mariadb için güncelledin mi?
Eğer düzenlemediysen build alamazsın.
MySQL 8 de bile düzenleme gerektiriyor.
 
Bence sorunun makefile kaynaklı olma ihtimali de var. Düzgün yaptığına emin misin?
Evet hocam winmerge ile eski sunucumda MariaDB ile çalışan makefile'ları kıyasladım. Fark yok. Ama yine de mysql'i linkleyemiyor build alırken. Ve libsql build olmasına rağmen game ve db'de sadece sorun
 
Selamlar, MySQL için 5.6 sürümünden sonra, MariaDB için 10.3 sürümünden sonrasını kullanmak için kaynak kodlarınız üzerinde belirli değişiklikler yapmanız gerek, bir noktayı atladığınızı düşünüyorum. Yabancı forumlarda MySQL sürümünü 8'e yükseltmek için tutorial konular olması lazım, yaptığınız işlemleri bir teyit etmenizde fayda var, saygılar.
 
Selamlar, MySQL için 5.6 sürümünden sonra, MariaDB için 10.3 sürümünden sonrasını kullanmak için kaynak kodlarınız üzerinde belirli değişiklikler yapmanız gerek, bir noktayı atladığınızı düşünüyorum. Yabancı forumlarda MySQL sürümünü 8'e yükseltmek için tutorial konular olması lazım, yaptığınız işlemleri bir teyit etmenizde fayda var, saygılar.
Tekrar teyit edeceğim teşekkür ederim
 
asyncsql.h;

C++:
#include <mysql/mysql.h>
#include <mysql/errmsg.h>
#include <mysql/mysqld_error.h>

ekle ayrıca libsql/makefile dosyasında include kısmı;

C++:
IFLAGS = -I/usr/local/include -I/usr/local/include/mysql

şeklinde olacak. son mariadb güncellemesinde ben de aynı sorunu yaşamıştım.
 
Videoları çektiğim dönemden bu yana mariadb güncelleme aldıysa farklılıklar olabilir. MySQL'e gelen güncellemeler MariaDB'ye geç geliyor.

MySQL 8.0 için;
Metin2 MySQL 8.0 Kurulumu Videolu Anlatım


asyncsql.h;

C++:
#include <mysql/mysql.h>
#include <mysql/errmsg.h>
#include <mysql/mysqld_error.h>

ekle ayrıca libsql/makefile dosyasında include kısmı;

C++:
IFLAGS = -I/usr/local/include -I/usr/local/include/mysql

şeklinde olacak. son mariadb güncellemesinde ben de aynı sorunu yaşamıştım.
Çok teşekkür ederim deneyip dönüş yapacağım
 
yine işimi görmedi çünkü orda çözüm derlenmesi konusunda ve sonrasında problem çıkartmıyor fakat şuan mariadbde birden fazla mysql.h var ve her birinin içinde gerekli fonksiyonlar var birini seçersem diğeri hata veriyor
 
Aslında çözümü basitmiş yani o kadar değişikliğe ihtiyacımız yok zaten oyuna giriş sağlayabilmek için mysql 8.0daki düzenlemeleri yapacağız fakat MariaDb 10.6de /usr/local/include içerisinde mysql.h reconnect silinmemiş sadece st_mysql structının içerisinde farklı bir yere taşınmış oda st_mysql_option structı içerisine ve sonrasında struct st_mysql içerisinde ise st_mysql_option options; diye tanımlamışlar yani biz AsyncSQL.cpp içerisinde 143. satırda m_hDB.reconnect olan kısmı m_hDB.options.reconnect bu şekilde düzenlersek hiçbir sorun kalmayacaktır
 
Geri
Üst