Yardım Gmake dep hatası

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

Kaiser

⋞ 〈 ☪ 〉 ⋟
Site yetkilisi
Admin
Premium Üye
Geliştirici
Yardımsever Üye
Mesaj
3.696
Çözümler
345
Beğeni
3.590
Puan
1.849
Ticaret Puanı
0
Arkadaşlar kolay gelsin. @Whistle 'ın eğitim serisindeki src güncelleme işlemini kendi filesıma uyguluyordum. Videodan devam ederek düzenlemeleri başarıyla tamamladım fakat cryptopp build işleminde şu hatayı alıyorum;

Kod:
root@test:/usr/src/src/Extern/cryptopp # gmake dep
g++9 -DNDEBUG -g2 -O3 -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_MIXED_ASM -pipe -DCRYPTOPP_DISABLE_ASM -MM *.cpp > GNUmakefile.deps
/bin/sh: g++9: not found
gmake: *** [GNUmakefile:1108: dep] Error 127
Edit: Üstteki hatayı gnumakefile dosyasından düzenleyerek çözdüm.


Game src build sonunda ise şu hatayı alıyorum;

Kod:
Game olusturuluyor -> ../game_r41133
/usr/local/bin/ld: cannot find : No such file or directory
collect2: error: ld returned 1 exit status
gmake: *** [Makefile:83: ../game_r41133] Error 1

gmake all komutunda aldığım hata ise;
Kod:
.......cpp  minilzo.c main.cpp 2> /dev/null > Depend
gmake[1]: *** [Makefile:104: dep] Error 127
gmake[1]: Leaving directory '/usr/src/wolfman/Server/game/src'
gmake: *** [Makefile:96: all] Error 2
 
Son düzenleme:
Paketler ile alakalı bir durum olduğunu sanmıyorum gerekli olanları yükledim. Ve @Whistle 'ın altyapı server hazırlama rehberindeki sıfır src yi sorunsuz build ediyor. Ben bsd 9.2 den 11.4 e geçtiğim için src yi güncelledim fakat nerde ne hata yaptım bilemiyorum.
 
Merhaba, üzerinden 9 ay geçmiş ama bu konuyla alakalı çözüm belirtilmediği ve aynı sorun için yeni konu açmak istemediğim için konuyu hortlatıyorum :)
Kod:
linking ../game....
/usr/local/bin/ld: cannot find : No such file or directory
collect2: error: ld returned 1 exit status
gmake[1]: *** [Makefile:130: ../game] Error 1
gmake[1]: Leaving directory '/usr/src/Srcs/Server/game/src'
gmake: *** [Makefile:89: all] Error 2

@Yeniceri bu sorunu çözdüysen ve çözümü hala hatırlıyorsan yardımcı olabilir misin?
 
Acaba eksik bi paket mi kurulu?
pkg info şu şekilde;
Kod:
apr-1.7.0.1.6.1_1              Apache Portability Library
binutils-2.33.1_4,1            GNU binary tools
boost-libs-1.72.0_4            Free portable C++ libraries (without Boost.Python)
ca_root_nss-3.63               Root certificate bundle from the Mozilla Project
db5-5.3.28_7                   Oracle Berkeley DB, revision 5.3
expat-2.2.10                   XML 1.0 parser written in C
gcc9-9.3.0_3                   GNU Compiler Collection 9
gdb-10.1_1                     GNU Project Debugger
gdbm-1.19                      GNU database manager
gettext-runtime-0.21           GNU gettext runtime libraries and programs
glib-2.66.7_1,1                Some useful routines of C programming (current stable version)
gmake-4.3_2                    GNU version of 'make' utility
gmp-6.2.1                      Free library for arbitrary precision arithmetic
gnupg-2.2.27                   Complete and free PGP implementation
gnutls-3.6.15                  GNU Transport Layer Security library
icu-68.2,1                     International Components for Unicode (from IBM)
indexinfo-0.3.1                Utility to regenerate the GNU info page index
libassuan-2.5.4                IPC library used by GnuPG and gpgme
libedit-3.1.20210216,1         Command line editor library
libevent-2.1.12                API for executing callback functions on events or timeouts
libffi-3.3_1                   Foreign Function Interface
libgcrypt-1.9.2_1              General purpose cryptographic library based on the code from GnuPG
libgpg-error-1.42              Common error values for all GnuPG components
libiconv-1.16                  Character set conversion library
libidn2-2.3.0_1                Implementation of IDNA2008 internationalized domain names
libksba-1.5.0                  Library to make X.509 certificates
liblz4-1.9.3,1                 LZ4 compression library, lossless and very fast
libtasn1-4.16.0_1              ASN.1 structure parser library
libunistring-0.9.10_1          Unicode string library
libxml2-2.9.10_3               XML parser library for GNOME
makedepend-1.0.6,1             Dependency generator for makefiles
mpc-1.2.0                      Library of complex numbers with arbitrarily high precision
mpfr-4.1.0                     Library for multiple-precision floating-point computations
mysql56-client-5.6.51          Multithreaded SQL database (client)
mysql56-server-5.6.51          Multithreaded SQL database (server)
nettle-3.7.2_1                 Low-level cryptographic library
npth-1.6                       New GNU Portable Threads
p11-kit-0.23.22_1              Library for loading and enumerating of PKCS#11 modules
pcre-8.44                      Perl Compatible Regular Expressions library
perl5-5.32.1_1                 Practical Extraction and Report Language
pinentry-1.1.1                 Collection of simple PIN or passphrase entry dialogs
pinentry-curses-1.1.1          Curses version of the GnuPG password dialog
pkg-1.16.3                     Package manager
python27-2.7.18_1              Interpreted object-oriented programming language
python37-3.7.10                Interpreted object-oriented programming language
readline-8.1.0                 Library for editing command lines as they are typed
serf-1.3.9_6                   Serf HTTP client library
source-highlight-3.1.9_1       C/C++ and Java sources to HTML converter
sqlite3-3.34.1,1               SQL database engine in a C library
subversion-1.14.1              Version control system
tpm-emulator-0.7.4_2           Trusted Platform Module (TPM) emulator
trousers-0.3.14_3              Open-source TCG Software Stack
utf8proc-2.6.1                 UTF-8 processing library
 
Merhaba, üzerinden 9 ay geçmiş ama bu konuyla alakalı çözüm belirtilmediği ve aynı sorun için yeni konu açmak istemediğim için konuyu hortlatıyorum :)
Kod:
linking ../game....
/usr/local/bin/ld: cannot find : No such file or directory
collect2: error: ld returned 1 exit status
gmake[1]: *** [Makefile:130: ../game] Error 1
gmake[1]: Leaving directory '/usr/src/Srcs/Server/game/src'
gmake: *** [Makefile:89: all] Error 2

@Yeniceri bu sorunu çözdüysen ve çözümü hala hatırlıyorsan yardımcı olabilir misin?
Derlemek için gerekli paketler. Gcc, gmake, subversıon(marty samada gerek yok) makedepend(marty samada yine gerek yok) openssl. Bunlar kurulu ise ve sourcede eksik sorun yok ise sorunsuz derlenir.
 
Çözüm için doğru mu gidiyorum bilmiyorum ama hatada belirtilen /usr/local/bin dizininde "ld" isminde bir dosya var acaba bi klasör de mi olması gerekiyor bu isimde?
Derlemek için gerekli paketler. Gcc, gmake, subversıon(marty samada gerek yok) makedepend(marty samada yine gerek yok) openssl. Bunlar kurulu ise ve sourcede eksik sorun yok ise sorunsuz derlenir.
bahsettiğiniz paketlerden sadece openssl kurulu değil ama farklı bir source build ederken bundan kaynaklı hata almamıştım. şimdi openssl kurup tekrar deneyeceğim, sonucu buraya yazarım.

Sonuç değişmedi maalesef yine aynı hatayı alıyorum.
 
Merhaba, üzerinden 9 ay geçmiş ama bu konuyla alakalı çözüm belirtilmediği ve aynı sorun için yeni konu açmak istemediğim için konuyu hortlatıyorum :)
Kod:
linking ../game....
/usr/local/bin/ld: cannot find : No such file or directory
collect2: error: ld returned 1 exit status
gmake[1]: *** [Makefile:130: ../game] Error 1
gmake[1]: Leaving directory '/usr/src/Srcs/Server/game/src'
gmake: *** [Makefile:89: all] Error 2

@Yeniceri bu sorunu çözdüysen ve çözümü hala hatırlıyorsan yardımcı olabilir misin?
Merhaba, bu sorunu yaşadığım zamanlar yükseltme işlemini 2-3 defa tekrar tekrar yapmıştım. Hatanın sebebini de çözümünü de maalesef bulamamıştım. Fakat en son yaptığım şey şu olmuştu diye hatırlıyorum; ilk denemelerimde anlatımı birebir uygulamıştım ve bir ton hata ile karşılaşmıştım. Son denememde ise; yükseltmeyi sadece filesa uyarlayarak yaptım. Yani anlatımın içinden sadece benim files ile ilgili olan, bende var olanlar üzerinden işlem yapmıştım.(cryptopp-boost vb.)

Geriye kalan ekstraları anlatımda atlayıp uyarlamamıştım.
 
Merhaba, bu sorunu yaşadığım zamanlar yükseltme işlemini 2-3 defa tekrar tekrar yapmıştım. Hatanın sebebini de çözümünü de maalesef bulamamıştım. Fakat en son yaptığım şey şu olmuştu diye hatırlıyorum; ilk denemelerimde anlatımı birebir uygulamıştım ve bir ton hata ile karşılaşmıştım. Son denememde ise; yükseltmeyi sadece filesa uyarlayarak yaptım. Yani anlatımın içinden sadece benim files ile ilgili olan, bende var olanlar üzerinden işlem yapmıştım.(cryptopp-boost vb.)

Geriye kalan ekstraları anlatımda atlayıp uyarlamamıştım.
Ben de gün boyu yükseltme işlemiyle uğraştım. Karşılaştığım bir çok hatayı araştırarak giderdim ama buna çözüm bulamadım, sanırım pes edeceğim :D
 
Ben de gün boyu yükseltme işlemiyle uğraştım. Karşılaştığım bir çok hatayı araştırarak giderdim ama buna çözüm bulamadım, sanırım pes edeceğim :D

Aynı sorunla bende karşı karşıyayım. gmake all ile herşey build edildikten sonra game oluşturuldu yazısından sonra böyle bir hata alıyorum.

Linkleri görebilmek için giriş yap veya kayıt ol.
 
Bu hatalar yükseltme işlemlerinde yapılan hatalardan ya da başka işler yaparken gözden kaçan şeylerden kaynaklanıyor en ufak bişey bile bu tür hatalara sebep oluyor.
 
Aynı sorunla bende karşı karşıyayım. gmake all ile herşey build edildikten sonra game oluşturuldu yazısından sonra böyle bir hata alıyorum.

Linkleri görebilmek için giriş yap veya kayıt ol.
Bu hatayla da karşılaştım zamanında. Hatta konusunu da açmıştım ama çözülemedi, Çok uğraştırmisti, tabi hatanın kendisini çözemedim. Yukarıda da belirttiğim gibi artık o kadar denedim ki yükseltmeyi, artık işlemlerin çoğunu ezberlemistim. Sonrasında çok büyük bir dikkatle tane tane yapmayi denedim ve mutlu sona ulaşmıştım :D
 
Bu hatayla da karşılaştım zamanında. Hatta konusunu da açmıştım ama çözülemedi, Çok uğraştırmisti, tabi hatanın kendisini çözemedim. Yukarıda da belirttiğim gibi artık o kadar denedim ki yükseltmeyi, artık işlemlerin çoğunu ezberlemistim. Sonrasında çok büyük bir dikkatle tane tane yapmayi denedim ve mutlu sona ulaşmıştım :D
Ezbere bişeyler yapınca illa hata oluyor zaten çok başıma geliyor. Hep ufak şeyler gözden kaçıyor sonra bul bulabilirsen. :)
 
Bu hatayla da karşılaştım zamanında. Hatta konusunu da açmıştım ama çözülemedi, Çok uğraştırmisti, tabi hatanın kendisini çözemedim. Yukarıda da belirttiğim gibi artık o kadar denedim ki yükseltmeyi, artık işlemlerin çoğunu ezberlemistim. Sonrasında çok büyük bir dikkatle tane tane yapmayi denedim ve mutlu sona ulaşmıştım :D

Neredeyse 1 haftadır uğraşıyorum ne dikkat kaldı ne istek biraz ara verip denemek lazım :)
 
Neredeyse 1 haftadır uğraşıyorum ne dikkat kaldı ne istek biraz ara verip denemek lazım :)
Ben kısaca hem sizin için, hemde ihtiyaç duyanlar için şöyle belirteyim.
Anlatımda öncelikli olarak sadece şunlara ağırlık verin;

Boost
Cryptopp
Kaynak dosyalarda ki duzenlemeler
Ve makefile dosyalari(bu da başımı çok agritmisti)

Lzo,Libjpegf falan bunları ben en sona bırakmıştım hiç ellemedim. Hatta yanlış hatırlamıyorsam boost ve cryptopp klasörlerini direkt mmotutkunlari altyapı filesinden alıp bendekilerle değiştirdim.

Makefile dosyalari için anlatılanların bir çoğu ise sadece sıfırdan altyapı hazırlama işlemleri için geçerli. Yükseltme işlemi için sadece anlatımın içinden halihazırda var olan yerlerde değişiklik yaptım. Ekstradan bir şey eklemedim.

Demek istediğimi daha iyi anlamak için şu iki makefile dosyasına bakabilirsiniz.

Anlatımda gösterilen makefile dosyasının ta kendisi;
Makefile:
PLATFORM = $(shell file /bin/ls | cut -d' ' -f3 | cut -d'-' -f1)

GCC_VERSION = $(shell $(CC) --version 2>&1 | grep "(GCC)" | cut -d' ' -f3  | cut -d'.' -f1)
BSD_VERSION = $(shell uname -v 2>&1 | cut -d' ' -f2 | cut -d'.' -f1)
#SVN_VERSION = $(shell svnversion -n .)
SVN_VERSION = $(shell cat ../../__VERSION__)
P4_VERSION = $(shell cat ../../__VERSION__)

CC = g++9

INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = OBJDIR
$(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)

# Standard Setting
LIBS = -pthread -lm -lmd -lc++
# Removed -fno-rtti
CFLAGS = -g -Wall -O2 -m32 -pipe -fexceptions -fno-strict-aliasing -pthread -D_THREAD_SAFE -DNDEBUG -D__SVN_VERSION__=\"$(SVN_VERSION)\"
CFLAGS += -Wno-deprecated-declarations -Wno-format-truncation -Wno-sign-compare -Wno-nonnull-compare
CFLAGS += -Wno-int-in-bool-context -Wno-stringop-truncation -Wno-address
CFLAGS += -fstack-protector-all
CXXFLAGS = -std=c++11 -Wl,-rpath=/usr/local/lib/gcc9

# boost
INCDIR += -I../../../Extern/include/boost

# DevIL
INCDIR += -I../../../Extern/include/IL
LIBS += ../../../Extern/lib/libIL.a\
        ../../../Extern/lib/libjasper.a\
        ../../../Extern/lib/libpng.a\
        ../../../Extern/lib/libtiff.a\
        ../../../Extern/lib/libjbig.a\
        ../../../Extern/lib/libmng.a\
        /usr/lib/liblzma.a\
        ../../../Extern/lib/liblcms.a\
        ../../../Extern/lib/libjpeg.a
        
#LIBS += -lIL -lpng -ltiff -lmng -llcms -ljpeg

# MySQL
INCDIR += -I/usr/local/include/mysql
LIBS += /usr/local/lib/mysql/libmysqlclient.a /usr/lib/libz.a /usr/local/lib/libzstd.a

# Miscellaneous external libraries
INCDIR += -I../../../Extern/include
LIBDIR += -L../../../Extern/lib
LIBS += -lcryptopp

# HackShield
INCDIR += -I../../libhackshield/include
LIBDIR += -L../../libhackshield/lib
LIBS += -lanticpxsvr

# XTrap
INCDIR += -I../../libxtrap/include

# openssl
INCDIR += -I/usr/include
LIBDIR += -L/usr/local/lib
LIBS += -lssl -lcrypto

# Project Library
INCDIR += -I../../liblua/include
INCDIR += -I/usr/local/include
LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib
LIBDIR += -L/usr/local/lib
LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame
USE_STACKTRACE = 0
ifeq ($(USE_STACKTRACE), 1)
LIBS += /usr/local/lib/libexecinfo.a
endif

TARGET  = $(BINDIR)/game_r$(P4_VERSION)

CFILE    = minilzo.c

CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp MarkImage.cpp MarkManager.cpp OXEvent.cpp TrafficProfiler.cpp ani.cpp\
          arena.cpp banword.cpp battle.cpp blend_item.cpp block_country.cpp buffer_manager.cpp building.cpp castle.cpp\
          char.cpp char_affect.cpp char_battle.cpp char_change_empire.cpp char_horse.cpp char_item.cpp char_manager.cpp\
          char_quickslot.cpp char_resist.cpp char_skill.cpp char_state.cpp PetSystem.cpp cmd.cpp cmd_emotion.cpp cmd_general.cpp\
          cmd_gm.cpp cmd_oxevent.cpp config.cpp constants.cpp crc32.cpp cube.cpp db.cpp desc.cpp\
          desc_client.cpp desc_manager.cpp desc_p2p.cpp dev_log.cpp dungeon.cpp empire_text_convert.cpp entity.cpp\
          entity_view.cpp event.cpp event_queue.cpp exchange.cpp file_loader.cpp fishing.cpp gm.cpp guild.cpp\
          guild_manager.cpp guild_war.cpp horse_rider.cpp horsename_manager.cpp input.cpp input_auth.cpp input_db.cpp\
          input_login.cpp input_main.cpp input_p2p.cpp input_teen.cpp input_udp.cpp ip_ban.cpp\
          item.cpp item_addon.cpp item_attribute.cpp item_manager.cpp item_manager_idrange.cpp locale.cpp\
          locale_service.cpp log.cpp login_data.cpp lzo_manager.cpp marriage.cpp matrix_card.cpp\
          messenger_manager.cpp mining.cpp mob_manager.cpp monarch.cpp motion.cpp over9refine.cpp p2p.cpp packet_info.cpp\
          party.cpp passpod.cpp pcbang.cpp polymorph.cpp priv_manager.cpp pvp.cpp\
          questevent.cpp questlua.cpp questlua_affect.cpp questlua_arena.cpp questlua_ba.cpp questlua_building.cpp\
          questlua_danceevent.cpp questlua_dungeon.cpp questlua_forked.cpp questlua_game.cpp questlua_global.cpp\
          questlua_guild.cpp questlua_horse.cpp questlua_pet.cpp questlua_item.cpp questlua_marriage.cpp questlua_mgmt.cpp\
          questlua_monarch.cpp questlua_npc.cpp questlua_oxevent.cpp questlua_party.cpp questlua_pc.cpp\
          questlua_quest.cpp questlua_target.cpp questmanager.cpp questnpc.cpp questpc.cpp\
          refine.cpp regen.cpp safebox.cpp sectree.cpp sectree_manager.cpp sequence.cpp shop.cpp\
          skill.cpp start_position.cpp target.cpp text_file_loader.cpp trigger.cpp utils.cpp vector.cpp war_map.cpp\
          wedding.cpp xmas_event.cpp version.cpp panama.cpp threeway_war.cpp map_location.cpp auth_brazil.cpp\
          BlueDragon.cpp BlueDragon_Binder.cpp DragonLair.cpp questlua_dragonlair.cpp\
          HackShield.cpp HackShield_Impl.cpp char_hackshield.cpp skill_power.cpp affect.cpp\
          SpeedServer.cpp questlua_speedserver.cpp XTrapManager.cpp\
          auction_manager.cpp FileMonitor_FreeBSD.cpp ClientPackageCryptInfo.cpp cipher.cpp\
          buff_on_attributes.cpp dragon_soul_table.cpp DragonSoul.cpp\
          group_text_parse_tree.cpp char_dragonsoul.cpp questlua_dragonsoul.cpp\
          shop_manager.cpp shopEx.cpp item_manager_read_tables.cpp shutdown_manager.cpp new_switchbot.cpp MountSystem.cpp


COBJS    = $(CFILE:%.c=$(OBJDIR)/%.o)
CPPOBJS    = $(CPPFILE:%.cpp=$(OBJDIR)/%.o)

MAINOBJ = $(OBJDIR)/main.o
MAINCPP = main.cpp

#TESTOBJ = $(OBJDIR)/test.o
#TESTCPP = test.cpp
#TEST_TARGET = $(BINDIR)/test

default: $(TARGET)

$(OBJDIR)/minilzo.o: minilzo.c
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@
    @echo compile $<

$(OBJDIR)/version.o: version.cpp
    @$(CC) $(CFLAGS) $(CXXFLAGS) -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__P4_VERSION__=\"$(P4_VERSION)\" -c $< -o $@
    @echo compile $<

$(OBJDIR)/%.o: %.cpp
    @echo compile $<
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@

limit_time:
    @echo update limit time
    @python update_limit_time.py

$(TARGET): $(CPPOBJS) $(COBJS) $(MAINOBJ)
    @echo linking $(TARGET)....
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(MAINOBJ) $(LIBS) -o $(TARGET)

#$(TEST_TARGET): $(TESTCPP) $(CPPOBJS) $(COBJS) $(TESTOBJ)
#    @echo linking $(TEST_TARGET)
#    @$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(TESTOBJ) $(LIBS) -o ../test

clean:
    @rm -f $(COBJS) $(CPPOBJS)
    @rm -f $(BINDIR)/game_r* $(BINDIR)/conv

tag:
    ctags *.cpp *.h *.c

dep:
    makedepend -f Depend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(CPPFILE) $(CFILE) $(MAINCPP) 2> /dev/null > Depend

sinclude Depend


Benim o zamanlar yükselttiğim filesın makefile dosyası:
Makefile:
CC = g++8

GAME_VERSION = $(shell cat ../../__REVISION__)

INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = OBJDIR_GAME
SRV_DIR = /usr/game
$(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)

# Project Flags
CFLAGS = -g -Wall -O2 -w -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG
CXXFLAGS = -std=c++11 -Wl, -rpath=/usr/local/lib/gcc8

# Version Defines
CFLAGS += -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__GAME_VERSION__=\"$(GAME_VERSION)\"

# Project Library
INCDIR += -I../../../Extern/include
INCDIR += -I../../../Extern/include/mysql
INCDIR += -I../../../Extern/include/devil
INCDIR += -I../../../Extern/include/boost
INCDIR += -I../../../Extern/include/liblua
LIBDIR += -L../../../Extern/lib
LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib
LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame -lssl -lcryptopp -lmysqlclient -lz -lIL -lpng -ltiff -lmng -llcms -ljpeg -pthread -lm -lmd

#OpenSSL
INCDIR += -I/usr/include
LIBS += -lssl -lcrypto

CFILE    = minilzo.c

CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp MarkImage.cpp MarkManager.cpp OXEvent.cpp TrafficProfiler.cpp ani.cpp\
          arena.cpp banword.cpp battle.cpp blend_item.cpp block_country.cpp buffer_manager.cpp building.cpp castle.cpp\
          char.cpp char_affect.cpp char_battle.cpp char_cards.cpp char_change_empire.cpp char_horse.cpp char_item.cpp char_manager.cpp\
          char_quickslot.cpp char_resist.cpp char_skill.cpp char_state.cpp PetSystem.cpp cmd.cpp cmd_emotion.cpp cmd_general.cpp\
          cmd_gm.cpp cmd_oxevent.cpp config.cpp constants.cpp crc32.cpp cube.cpp db.cpp desc.cpp\
          desc_client.cpp desc_manager.cpp desc_p2p.cpp dev_log.cpp dungeon.cpp empire_text_convert.cpp entity.cpp\
          entity_view.cpp event.cpp event_queue.cpp exchange.cpp file_loader.cpp fishing.cpp gm.cpp guild.cpp\
          guild_manager.cpp guild_war.cpp horse_rider.cpp horsename_manager.cpp input.cpp input_auth.cpp input_db.cpp\
          input_login.cpp input_main.cpp input_p2p.cpp input_teen.cpp input_udp.cpp ip_ban.cpp\
          item.cpp item_addon.cpp item_attribute.cpp item_manager.cpp item_manager_idrange.cpp locale.cpp\
          locale_service.cpp log.cpp login_data.cpp lzo_manager.cpp marriage.cpp matrix_card.cpp\
          messenger_manager.cpp mining.cpp mob_manager.cpp monarch.cpp motion.cpp over9refine.cpp p2p.cpp packet_info.cpp\
          party.cpp passpod.cpp pcbang.cpp polymorph.cpp priv_manager.cpp pvp.cpp\
          questevent.cpp questlua.cpp questlua_affect.cpp questlua_arena.cpp questlua_ba.cpp questlua_building.cpp\
          questlua_danceevent.cpp questlua_dungeon.cpp questlua_forked.cpp questlua_game.cpp questlua_global.cpp\
          questlua_guild.cpp questlua_horse.cpp questlua_pet.cpp questlua_item.cpp questlua_marriage.cpp questlua_mgmt.cpp\
          questlua_monarch.cpp questlua_npc.cpp questlua_oxevent.cpp questlua_party.cpp questlua_pc.cpp\
          questlua_quest.cpp questlua_target.cpp questmanager.cpp questnpc.cpp questpc.cpp\
          refine.cpp regen.cpp safebox.cpp sectree.cpp sectree_manager.cpp sequence.cpp shop.cpp\
          skill.cpp start_position.cpp target.cpp text_file_loader.cpp trigger.cpp utils.cpp vector.cpp war_map.cpp\
          wedding.cpp xmas_event.cpp version.cpp panama.cpp threeway_war.cpp map_location.cpp auth_brazil.cpp\
          BlueDragon.cpp BlueDragon_Binder.cpp DragonLair.cpp questlua_dragonlair.cpp skill_power.cpp affect.cpp\
          SpeedServer.cpp questlua_speedserver.cpp auction_manager.cpp buff_on_attributes.cpp\
          FileMonitor_FreeBSD.cpp ClientPackageCryptInfo.cpp cipher.cpp dragon_soul_table.cpp\
          group_text_parse_tree.cpp char_dragonsoul.cpp questlua_dragonsoul.cpp DragonSoul.cpp\
          shop_manager.cpp shopEx.cpp item_manager_read_tables.cpp attr_transfer.cpp New_PetSystem.cpp questlua_petnew.cpp\
          offline_shop.cpp offlineshop_manager.cpp offlineshop_config.cpp TempleOchao.cpp questlua_TempleOchao.cpp MeleyLair.cpp questlua_MeleyLair.cpp

COBJS    = $(CFILE:%.c=$(OBJDIR)/%.o)
CPPOBJS    = $(CPPFILE:%.cpp=$(OBJDIR)/%.o)

MAINOBJ = $(OBJDIR)/main.o
MAINCPP = main.cpp

TARGET  = $(BINDIR)/game_r$(GAME_VERSION)

default: $(TARGET)

$(OBJDIR)/minilzo.o: minilzo.c
    @echo -e "\033[0;32mDerleniyor ->\033[0m" $<
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@

$(OBJDIR)/%.o: %.cpp
    @echo -e "\033[0;32mDerleniyor ->\033[0m" $<
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@

$(TARGET): $(CPPOBJS) $(COBJS) $(MAINOBJ)
    @echo -e "\033[0;33mGame olusturuluyor ->\033[0m" $(TARGET)
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(MAINOBJ) $(LIBS) -o $(TARGET)

symlink:
    @ln -fs game_r$(GAME_VERSION) $(BINDIR)/game_symlink

strip:
    @cp $(BINDIR)/game_r$(GAME_VERSION) $(BINDIR)/game_r
    @strip $(BINDIR)/game_r

clean:
    @rm -f OBJDIR_GAME/*
    @rm -f $(BINDIR)/game_r* $(BINDIR)/conv

tag:
    ctags *.cpp *.h *.c

install: $(DTARGET)
    rm -rf $(SRV_DIR)/share/bin/game
    cp $(TARGET) $(SRV_DIR)/share/bin/game

dep:
    makedepend -f Depend $(INCDIR) -I/usr/include/c++/v1 -I/usr/include/c++/v1 -p$(OBJDIR)/ $(CPPFILE) $(CFILE) $(MAINCPP) 2> /dev/null > Depend

sinclude Depend

Kısacası; temel yapıyı bozmadan sadece ilgili yerleri güncellemek yeterli oldu benim için.
 
Ben kısaca hem sizin için, hemde ihtiyaç duyanlar için şöyle belirteyim.
Anlatımda öncelikli olarak sadece şunlara ağırlık verin;

Boost
Cryptopp
Kaynak dosyalarda ki duzenlemeler
Ve makefile dosyalari(bu da başımı çok agritmisti)

Lzo,Libjpegf falan bunları ben en sona bırakmıştım hiç ellemedim. Hatta yanlış hatırlamıyorsam boost ve cryptopp klasörlerini direkt mmotutkunlari altyapı filesinden alıp bendekilerle değiştirdim.

Makefile dosyalari için anlatılanların bir çoğu ise sadece sıfırdan altyapı hazırlama işlemleri için geçerli. Yükseltme işlemi için sadece anlatımın içinden halihazırda var olan yerlerde değişiklik yaptım. Ekstradan bir şey eklemedim.

Demek istediğimi daha iyi anlamak için şu iki makefile dosyasına bakabilirsiniz.

Anlatımda gösterilen makefile dosyasının ta kendisi;
Makefile:
PLATFORM = $(shell file /bin/ls | cut -d' ' -f3 | cut -d'-' -f1)

GCC_VERSION = $(shell $(CC) --version 2>&1 | grep "(GCC)" | cut -d' ' -f3  | cut -d'.' -f1)
BSD_VERSION = $(shell uname -v 2>&1 | cut -d' ' -f2 | cut -d'.' -f1)
#SVN_VERSION = $(shell svnversion -n .)
SVN_VERSION = $(shell cat ../../__VERSION__)
P4_VERSION = $(shell cat ../../__VERSION__)

CC = g++9

INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = OBJDIR
$(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)

# Standard Setting
LIBS = -pthread -lm -lmd -lc++
# Removed -fno-rtti
CFLAGS = -g -Wall -O2 -m32 -pipe -fexceptions -fno-strict-aliasing -pthread -D_THREAD_SAFE -DNDEBUG -D__SVN_VERSION__=\"$(SVN_VERSION)\"
CFLAGS += -Wno-deprecated-declarations -Wno-format-truncation -Wno-sign-compare -Wno-nonnull-compare
CFLAGS += -Wno-int-in-bool-context -Wno-stringop-truncation -Wno-address
CFLAGS += -fstack-protector-all
CXXFLAGS = -std=c++11 -Wl,-rpath=/usr/local/lib/gcc9

# boost
INCDIR += -I../../../Extern/include/boost

# DevIL
INCDIR += -I../../../Extern/include/IL
LIBS += ../../../Extern/lib/libIL.a\
        ../../../Extern/lib/libjasper.a\
        ../../../Extern/lib/libpng.a\
        ../../../Extern/lib/libtiff.a\
        ../../../Extern/lib/libjbig.a\
        ../../../Extern/lib/libmng.a\
        /usr/lib/liblzma.a\
        ../../../Extern/lib/liblcms.a\
        ../../../Extern/lib/libjpeg.a
     
#LIBS += -lIL -lpng -ltiff -lmng -llcms -ljpeg

# MySQL
INCDIR += -I/usr/local/include/mysql
LIBS += /usr/local/lib/mysql/libmysqlclient.a /usr/lib/libz.a /usr/local/lib/libzstd.a

# Miscellaneous external libraries
INCDIR += -I../../../Extern/include
LIBDIR += -L../../../Extern/lib
LIBS += -lcryptopp

# HackShield
INCDIR += -I../../libhackshield/include
LIBDIR += -L../../libhackshield/lib
LIBS += -lanticpxsvr

# XTrap
INCDIR += -I../../libxtrap/include

# openssl
INCDIR += -I/usr/include
LIBDIR += -L/usr/local/lib
LIBS += -lssl -lcrypto

# Project Library
INCDIR += -I../../liblua/include
INCDIR += -I/usr/local/include
LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib
LIBDIR += -L/usr/local/lib
LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame
USE_STACKTRACE = 0
ifeq ($(USE_STACKTRACE), 1)
LIBS += /usr/local/lib/libexecinfo.a
endif

TARGET  = $(BINDIR)/game_r$(P4_VERSION)

CFILE    = minilzo.c

CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp MarkImage.cpp MarkManager.cpp OXEvent.cpp TrafficProfiler.cpp ani.cpp\
          arena.cpp banword.cpp battle.cpp blend_item.cpp block_country.cpp buffer_manager.cpp building.cpp castle.cpp\
          char.cpp char_affect.cpp char_battle.cpp char_change_empire.cpp char_horse.cpp char_item.cpp char_manager.cpp\
          char_quickslot.cpp char_resist.cpp char_skill.cpp char_state.cpp PetSystem.cpp cmd.cpp cmd_emotion.cpp cmd_general.cpp\
          cmd_gm.cpp cmd_oxevent.cpp config.cpp constants.cpp crc32.cpp cube.cpp db.cpp desc.cpp\
          desc_client.cpp desc_manager.cpp desc_p2p.cpp dev_log.cpp dungeon.cpp empire_text_convert.cpp entity.cpp\
          entity_view.cpp event.cpp event_queue.cpp exchange.cpp file_loader.cpp fishing.cpp gm.cpp guild.cpp\
          guild_manager.cpp guild_war.cpp horse_rider.cpp horsename_manager.cpp input.cpp input_auth.cpp input_db.cpp\
          input_login.cpp input_main.cpp input_p2p.cpp input_teen.cpp input_udp.cpp ip_ban.cpp\
          item.cpp item_addon.cpp item_attribute.cpp item_manager.cpp item_manager_idrange.cpp locale.cpp\
          locale_service.cpp log.cpp login_data.cpp lzo_manager.cpp marriage.cpp matrix_card.cpp\
          messenger_manager.cpp mining.cpp mob_manager.cpp monarch.cpp motion.cpp over9refine.cpp p2p.cpp packet_info.cpp\
          party.cpp passpod.cpp pcbang.cpp polymorph.cpp priv_manager.cpp pvp.cpp\
          questevent.cpp questlua.cpp questlua_affect.cpp questlua_arena.cpp questlua_ba.cpp questlua_building.cpp\
          questlua_danceevent.cpp questlua_dungeon.cpp questlua_forked.cpp questlua_game.cpp questlua_global.cpp\
          questlua_guild.cpp questlua_horse.cpp questlua_pet.cpp questlua_item.cpp questlua_marriage.cpp questlua_mgmt.cpp\
          questlua_monarch.cpp questlua_npc.cpp questlua_oxevent.cpp questlua_party.cpp questlua_pc.cpp\
          questlua_quest.cpp questlua_target.cpp questmanager.cpp questnpc.cpp questpc.cpp\
          refine.cpp regen.cpp safebox.cpp sectree.cpp sectree_manager.cpp sequence.cpp shop.cpp\
          skill.cpp start_position.cpp target.cpp text_file_loader.cpp trigger.cpp utils.cpp vector.cpp war_map.cpp\
          wedding.cpp xmas_event.cpp version.cpp panama.cpp threeway_war.cpp map_location.cpp auth_brazil.cpp\
          BlueDragon.cpp BlueDragon_Binder.cpp DragonLair.cpp questlua_dragonlair.cpp\
          HackShield.cpp HackShield_Impl.cpp char_hackshield.cpp skill_power.cpp affect.cpp\
          SpeedServer.cpp questlua_speedserver.cpp XTrapManager.cpp\
          auction_manager.cpp FileMonitor_FreeBSD.cpp ClientPackageCryptInfo.cpp cipher.cpp\
          buff_on_attributes.cpp dragon_soul_table.cpp DragonSoul.cpp\
          group_text_parse_tree.cpp char_dragonsoul.cpp questlua_dragonsoul.cpp\
          shop_manager.cpp shopEx.cpp item_manager_read_tables.cpp shutdown_manager.cpp new_switchbot.cpp MountSystem.cpp


COBJS    = $(CFILE:%.c=$(OBJDIR)/%.o)
CPPOBJS    = $(CPPFILE:%.cpp=$(OBJDIR)/%.o)

MAINOBJ = $(OBJDIR)/main.o
MAINCPP = main.cpp

#TESTOBJ = $(OBJDIR)/test.o
#TESTCPP = test.cpp
#TEST_TARGET = $(BINDIR)/test

default: $(TARGET)

$(OBJDIR)/minilzo.o: minilzo.c
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@
    @echo compile $<

$(OBJDIR)/version.o: version.cpp
    @$(CC) $(CFLAGS) $(CXXFLAGS) -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__P4_VERSION__=\"$(P4_VERSION)\" -c $< -o $@
    @echo compile $<

$(OBJDIR)/%.o: %.cpp
    @echo compile $<
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@

limit_time:
    @echo update limit time
    @python update_limit_time.py

$(TARGET): $(CPPOBJS) $(COBJS) $(MAINOBJ)
    @echo linking $(TARGET)....
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(MAINOBJ) $(LIBS) -o $(TARGET)

#$(TEST_TARGET): $(TESTCPP) $(CPPOBJS) $(COBJS) $(TESTOBJ)
#    @echo linking $(TEST_TARGET)
#    @$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(TESTOBJ) $(LIBS) -o ../test

clean:
    @rm -f $(COBJS) $(CPPOBJS)
    @rm -f $(BINDIR)/game_r* $(BINDIR)/conv

tag:
    ctags *.cpp *.h *.c

dep:
    makedepend -f Depend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(CPPFILE) $(CFILE) $(MAINCPP) 2> /dev/null > Depend

sinclude Depend


Benim o zamanlar yükselttiğim filesın makefile dosyası:
Makefile:
CC = g++8

GAME_VERSION = $(shell cat ../../__REVISION__)

INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = OBJDIR_GAME
SRV_DIR = /usr/game
$(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)

# Project Flags
CFLAGS = -g -Wall -O2 -w -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG
CXXFLAGS = -std=c++11 -Wl, -rpath=/usr/local/lib/gcc8

# Version Defines
CFLAGS += -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__GAME_VERSION__=\"$(GAME_VERSION)\"

# Project Library
INCDIR += -I../../../Extern/include
INCDIR += -I../../../Extern/include/mysql
INCDIR += -I../../../Extern/include/devil
INCDIR += -I../../../Extern/include/boost
INCDIR += -I../../../Extern/include/liblua
LIBDIR += -L../../../Extern/lib
LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib
LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame -lssl -lcryptopp -lmysqlclient -lz -lIL -lpng -ltiff -lmng -llcms -ljpeg -pthread -lm -lmd

#OpenSSL
INCDIR += -I/usr/include
LIBS += -lssl -lcrypto

CFILE    = minilzo.c

CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp MarkImage.cpp MarkManager.cpp OXEvent.cpp TrafficProfiler.cpp ani.cpp\
          arena.cpp banword.cpp battle.cpp blend_item.cpp block_country.cpp buffer_manager.cpp building.cpp castle.cpp\
          char.cpp char_affect.cpp char_battle.cpp char_cards.cpp char_change_empire.cpp char_horse.cpp char_item.cpp char_manager.cpp\
          char_quickslot.cpp char_resist.cpp char_skill.cpp char_state.cpp PetSystem.cpp cmd.cpp cmd_emotion.cpp cmd_general.cpp\
          cmd_gm.cpp cmd_oxevent.cpp config.cpp constants.cpp crc32.cpp cube.cpp db.cpp desc.cpp\
          desc_client.cpp desc_manager.cpp desc_p2p.cpp dev_log.cpp dungeon.cpp empire_text_convert.cpp entity.cpp\
          entity_view.cpp event.cpp event_queue.cpp exchange.cpp file_loader.cpp fishing.cpp gm.cpp guild.cpp\
          guild_manager.cpp guild_war.cpp horse_rider.cpp horsename_manager.cpp input.cpp input_auth.cpp input_db.cpp\
          input_login.cpp input_main.cpp input_p2p.cpp input_teen.cpp input_udp.cpp ip_ban.cpp\
          item.cpp item_addon.cpp item_attribute.cpp item_manager.cpp item_manager_idrange.cpp locale.cpp\
          locale_service.cpp log.cpp login_data.cpp lzo_manager.cpp marriage.cpp matrix_card.cpp\
          messenger_manager.cpp mining.cpp mob_manager.cpp monarch.cpp motion.cpp over9refine.cpp p2p.cpp packet_info.cpp\
          party.cpp passpod.cpp pcbang.cpp polymorph.cpp priv_manager.cpp pvp.cpp\
          questevent.cpp questlua.cpp questlua_affect.cpp questlua_arena.cpp questlua_ba.cpp questlua_building.cpp\
          questlua_danceevent.cpp questlua_dungeon.cpp questlua_forked.cpp questlua_game.cpp questlua_global.cpp\
          questlua_guild.cpp questlua_horse.cpp questlua_pet.cpp questlua_item.cpp questlua_marriage.cpp questlua_mgmt.cpp\
          questlua_monarch.cpp questlua_npc.cpp questlua_oxevent.cpp questlua_party.cpp questlua_pc.cpp\
          questlua_quest.cpp questlua_target.cpp questmanager.cpp questnpc.cpp questpc.cpp\
          refine.cpp regen.cpp safebox.cpp sectree.cpp sectree_manager.cpp sequence.cpp shop.cpp\
          skill.cpp start_position.cpp target.cpp text_file_loader.cpp trigger.cpp utils.cpp vector.cpp war_map.cpp\
          wedding.cpp xmas_event.cpp version.cpp panama.cpp threeway_war.cpp map_location.cpp auth_brazil.cpp\
          BlueDragon.cpp BlueDragon_Binder.cpp DragonLair.cpp questlua_dragonlair.cpp skill_power.cpp affect.cpp\
          SpeedServer.cpp questlua_speedserver.cpp auction_manager.cpp buff_on_attributes.cpp\
          FileMonitor_FreeBSD.cpp ClientPackageCryptInfo.cpp cipher.cpp dragon_soul_table.cpp\
          group_text_parse_tree.cpp char_dragonsoul.cpp questlua_dragonsoul.cpp DragonSoul.cpp\
          shop_manager.cpp shopEx.cpp item_manager_read_tables.cpp attr_transfer.cpp New_PetSystem.cpp questlua_petnew.cpp\
          offline_shop.cpp offlineshop_manager.cpp offlineshop_config.cpp TempleOchao.cpp questlua_TempleOchao.cpp MeleyLair.cpp questlua_MeleyLair.cpp

COBJS    = $(CFILE:%.c=$(OBJDIR)/%.o)
CPPOBJS    = $(CPPFILE:%.cpp=$(OBJDIR)/%.o)

MAINOBJ = $(OBJDIR)/main.o
MAINCPP = main.cpp

TARGET  = $(BINDIR)/game_r$(GAME_VERSION)

default: $(TARGET)

$(OBJDIR)/minilzo.o: minilzo.c
    @echo -e "\033[0;32mDerleniyor ->\033[0m" $<
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@

$(OBJDIR)/%.o: %.cpp
    @echo -e "\033[0;32mDerleniyor ->\033[0m" $<
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(INCDIR) -c $< -o $@

$(TARGET): $(CPPOBJS) $(COBJS) $(MAINOBJ)
    @echo -e "\033[0;33mGame olusturuluyor ->\033[0m" $(TARGET)
    @$(CC) $(CFLAGS) $(CXXFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(MAINOBJ) $(LIBS) -o $(TARGET)

symlink:
    @ln -fs game_r$(GAME_VERSION) $(BINDIR)/game_symlink

strip:
    @cp $(BINDIR)/game_r$(GAME_VERSION) $(BINDIR)/game_r
    @strip $(BINDIR)/game_r

clean:
    @rm -f OBJDIR_GAME/*
    @rm -f $(BINDIR)/game_r* $(BINDIR)/conv

tag:
    ctags *.cpp *.h *.c

install: $(DTARGET)
    rm -rf $(SRV_DIR)/share/bin/game
    cp $(TARGET) $(SRV_DIR)/share/bin/game

dep:
    makedepend -f Depend $(INCDIR) -I/usr/include/c++/v1 -I/usr/include/c++/v1 -p$(OBJDIR)/ $(CPPFILE) $(CFILE) $(MAINCPP) 2> /dev/null > Depend

sinclude Depend

Kısacası; temel yapıyı bozmadan sadece ilgili yerleri güncellemek yeterli oldu benim için.

Extern dosyalarını dediğiniz yerden çektim game build edebildim. Sanırım tek bir engel kaldı. Burayı da aştıktan sonra build tamamlanacak gibi.
Linkleri görebilmek için giriş yap veya kayıt ol.


Not: db > MakeFile CFLAGS kısmına -pthread eklendiğinde build oldu.
 
Son düzenleme:
Geri
Üst