Jump to content
metin2dev
Denis

Compile source on FreeBSD

Recommended Posts

Hello guys today i'm gonna show u how to compile the source in freebsd.
 
First of all you need and dns or a dedicated server because in hamachi server we can not use the fetch command
 
We will install Gmake,Makedepend,Svn(subversion),Devil,G++
 
1)gmake:

cd /usr/ports/devel/gmake && make install clean

2)makedepend:
 

cd /usr/ports/devel/makedepend && make install clean

 
3)svn:
 

cd /usr/ports/devel/subversion && make install clean

 
4)devil:
 

cd /usr/ports/graphics/devil && make install clean

5)G++:

cd /usr/ports/lang/gcc48/ && make install clean

NOTE: if you have already installed some of this step just skip the step and follow the other
 
Then you do this:
    From libdevil/ copy all .a files into /usr/lib
    From libgame/From lib copy the From libgame.a file into /usr/lib
    From libhackshield/From lib copy the From libanticpxsvr.a file into /usr/lib
    From liblua/From lib copy the .a files into /usr/lib
    From libpoly/ copy the .o files into /usr/lib
    From libserverkey/ copy the .o files into /usr/lib
    From libthecore/From lib copy the From libthecore.a files into /usr/lib

After copying the files into the /usr/lib do this:
 
go to Extern folder of the novaline and open the include folder and copy everything into /usr/include
go to Extern/Lib folder of the novaline branch and copy everything from there to /usr/lib
go to Extern folder of the novaline branch and drag the cryptopp and openssl folders into /usr/include
 
So we have installed everything then we have to upload the branch novaline into /usr/src
then u give this command in freebsd:
 

cd /usr/src/novaline/Server

cd /usr/src/novaline/Server/
gmake

 To build db:

cd /usr/src/novaline/Server/db/src
gmake clean
gmake -j20

To build game:

cd /usr/src/novaline/Server/game/src
gmake clean
gmake -j20

Fixing the error:

g++ directory": No such file or directory

Solution: here

  • Like 40

Share this post


Link to post
Share on other sites

Hello guys today i'm gonna show u how to compile the source in freebsd.

 

First of all you need and dns or a dedicated server because in hamachi server we can not use the fetch command

 

We will install Gmake,Makedepend,Svn(subversion),Devil

 

1)gmake:

cd /usr/ports/devel/gmake && make install clean
2)makedepend:

 

cd /usr/ports/devel/makedepend && make install clean
 

3)svn:

 

cd /usr/ports/devel/subversion && make install clean
 

4)devil:

 

cd /usr/ports/graphics/devil && make install clean
 

NOTE: if you have already installed some of this step just the step and follow the other

 

Then you do this:

    From libdevil/ copy all .a files into /usr/lib

    From libgame/From lib copy the From libgame.a file into /usr/lib

    From libhackshield/From lib copy the From libanticpxsvr.a file into /usr/lib

    From liblua/From lib copy the .a files into /usr/lib

    From libpoly/ copy the .o files into /usr/lib

    From libserverkey/ copy the .o files into /usr/lib

    From libthecore/From lib copy the From libthecore.a files into /usr/lib

After copying the files into the /usr/lib do this:

 

go to the Extern folder of the novaline and open the include folder and copy everything into /usr/include

go to the Lib folder of the novaline branch and copy everything from there to /usr/lib

drag the cryptopp and openssl folders into /usr/include

 

So we have installed everything then we have to upload the branch novaline into /usr/src

then u give this command in freebsd:

 

cd /usr/src/novaline/Server && gmake
when gmake is done you go to /usr/src/novaline/Server/game/src and give this command:

gmake clean && gmake -j20
 

to build the db just replace the /game/src with /db/src

 

This is my first release here so i am sorry if i post in wrong section :D

What version off FreeBSD do you use?

Edited by Rumor
Updated quote to reflect previous edits

Share this post


Link to post
Share on other sites

Next time please enclose your commands (or any programming languages) in code tags, it's much neater and easier for people to see.

 

Moved to Guides & HowTo.

Share this post


Link to post
Share on other sites

I did it but didnt see any output files LOL

After this command:

gmake clean && gmake -j20

Compilation game stopping at:

cmd_gm.cpp: In function 'void do_use_item(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:4357: warning: 'cell' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3977: warning: 'n' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_mob_ld(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:855: warning: 'x' may be used uninitialized in this function
cmd_gm.cpp:855: warning: 'y' may be used uninitialized in this function

There is no output files just stopp at this moment and shutdown the compilation.

Share this post


Link to post
Share on other sites

 

I did it but didnt see any output files LOL

After this command:

gmake clean && gmake -j20

Compilation game stopping at:

cmd_gm.cpp: In function 'void do_use_item(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:4357: warning: 'cell' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3977: warning: 'n' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_mob_ld(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:855: warning: 'x' may be used uninitialized in this function
cmd_gm.cpp:855: warning: 'y' may be used uninitialized in this function

does it says anything about errors?

  • Like 1

Share this post


Link to post
Share on other sites

I did it but didnt see any output files LOL

After this command:

gmake clean && gmake -j20

Compilation game stopping at:

cmd_gm.cpp: In function 'void do_use_item(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:4357: warning: 'cell' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:3977: warning: 'n' may be used uninitialized in this function
cmd_gm.cpp: In function 'void do_mob_ld(CHARACTER*, const char*, int, int)':
cmd_gm.cpp:855: warning: 'x' may be used uninitialized in this function
cmd_gm.cpp:855: warning: 'y' may be used uninitialized in this function

There is no output files just stopp at this moment and shutdown the compilation.

It's not error. You have too many threads runned so error is flooded by other threads.

Share this post


Link to post
Share on other sites
gmake: *** No rule to make target `/usr/include/xlocale/_string.h', needed by `OBJDIR/MarkConvert.o'.  Stop.
gmake: *** Waiting for unfinished jobs....
g++: directory": No such file or directory
<command-line>: warning: missing terminating " character
gmake: *** [OBJDIR/FSM.o] Error 1

Share this post


Link to post
Share on other sites
compile BattleArena.cpp
g++: directory": No such file or directory
compile FSM.cpp
g++: directory": No such file or directory
compile MarkConvert.cpp
<command-line>: g++: directory": No such file or directory
warning: missing terminating " character
<command-line>: warning: missing terminating " character
compile MarkImage.cpp
<command-line>: warning: missing terminating " character
g++: directory": No such file or directory
<command-line>: warning: missing terminating " character
compile MarkManager.cpp
g++: directory": No such file or directory
gmake: *** [OBJDIR/FSM.o] Error 1
gmake: *** Waiting for unfinished jobs....
<command-line>: warning: missing terminating " character
gmake: *** [OBJDIR/MarkConvert.o] Error 1
gmake: *** [OBJDIR/MarkImage.o] Error 1
gmake: *** [OBJDIR/MarkManager.o] Error 1
gmake: *** [OBJDIR/BattleArena.o] Error 1

Share this post


Link to post
Share on other sites
compile BattleArena.cpp
g++: directory": No such file or directory
compile FSM.cpp
g++: directory": No such file or directory
compile MarkConvert.cpp
<command-line>: g++: directory": No such file or directory
warning: missing terminating " character
<command-line>: warning: missing terminating " character
compile MarkImage.cpp
<command-line>: warning: missing terminating " character
g++: directory": No such file or directory
<command-line>: warning: missing terminating " character
compile MarkManager.cpp
g++: directory": No such file or directory
gmake: *** [OBJDIR/FSM.o] Error 1
gmake: *** Waiting for unfinished jobs....
<command-line>: warning: missing terminating " character
gmake: *** [OBJDIR/MarkConvert.o] Error 1
gmake: *** [OBJDIR/MarkImage.o] Error 1
gmake: *** [OBJDIR/MarkManager.o] Error 1
gmake: *** [OBJDIR/BattleArena.o] Error 1

Do you have g++ in your freebsd?

 

Edit: I added how to install G++ on FreeBsd so if you have error with g++: directory": No such file or directory just install the G++

Share this post


Link to post
Share on other sites

Still same error after installing gcc

compile BattleArena.cpp
g++: directory": No such file or directory
gmake: *** [OBJDIR/BattleArena.o] Error 1

Share this post


Link to post
Share on other sites

gmake: *** [OBJDIR/MarkManager.o] Error 1
gmake: *** [OBJDIR/TrafficProfiler.o] Error 1
gmake: *** [OBJDIR/BattleArena.o] Error 1
In file included from cipher.h:6,
                 from desc.h:7,
                 from OXEvent.cpp:12:
../../../Extern/include/cryptopp/cryptlib.h:96: warning: large integer implicitly truncated to unsigned type
OXEvent.cpp: In member function 'void COXEventManager::WarpToAudience()':
OXEvent.cpp:375: warning: overflow in implicit constant conversion
OXEvent.cpp:376: warning: overflow in implicit constant conversion
OXEvent.cpp:377: warning: overflow in implicit constant conversion
OXEvent.cpp:378: warning: overflow in implicit constant conversion
OXEvent.cpp:379: warning: overflow in implicit constant conversion
gmake: *** [OBJDIR/OXEvent.o] Error 1
 

Share this post


Link to post
Share on other sites

Edit a Post !

you can redo all depends on the file depends on the command "gmake dep"

also what is the game "test"

 

I think it is a test game file, I don't have test it

I use the game_exported_32 if you have time test the game file "test" and tell me if it works or not

 

Share this post


Link to post
Share on other sites

No, I do not test either I redid my Makefile my db and my game

 

I offer my Makefile

 

Makefile DB

MAKE = gmake
CC = g++

INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = .obj

DB_VERSION = 40146
PLATFORM = $(shell file /bin/ls | cut -d' ' -f3 | cut -d'-' -f1)
TARGET = $(BINDIR)/db_r$(DB_VERSION)_$(PLATFORM)

CFLAGS = -g -Wall -O2 -pipe -fno-rtti -fno-exceptions -pthread -D_THREAD_SAFE
CFLAGS += -mtune=i686 -fstack-protector-all

# Boost
INCDIR += -I../../../Extern/include/boost
LIBDIR += -L../../libthecore/lib -L../../libsql -L../../libpoly -L../../libgame/lib

#MySQL
INCDIR += -I../../libmysql
LIBDIR += -L../../libmysql
LIBS = -lthecore -lmysqlclient -lsql -lpoly -lgame -lm -lz

SRCS =	Config.cpp NetBase.cpp Peer.cpp PeerBase.cpp Main.cpp Lock.cpp DBManager.cpp 
	Cache.cpp LoginData.cpp ClientManager.cpp ClientManagerPlayer.cpp ClientManagerLogin.cpp 
	ClientManagerBoot.cpp ClientManagerParty.cpp ClientManagerGuild.cpp GuildManager.cpp HB.cpp 
	PrivManager.cpp MoneyLog.cpp ItemAwardManager.cpp ClientManagerEventFlag.cpp Marriage.cpp 
	Monarch.cpp BlockCountry.cpp ItemIDRangeManager.cpp ClientManagerHorseName.cpp version.cpp 
	AuctionManager.cpp ProtoReader.cpp CsvReader.cpp 

OBJS = $(SRCS:%.cpp=$(OBJDIR)/%.o)

default: $(TARGET)

$(TARGET): $(OBJS)
	@echo linking ...
	@$(CC) $(CFLAGS) $(LIBDIR) $(OBJS) $(LIBS) -o $(TARGET)
	@touch version.cpp

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

$(OBJDIR)/version.o: version.cpp
	@$(CC) $(CFLAGS) -D__DB_VERSION__="$(DB_VERSION)" -c $< -o $@
	@echo compile $<

$(OBJDIR):
	@mkdir $(OBJDIR)

clean:
	@rm -f $(OBJS) $(BINDIR)/db_r*

dep:
	@touch Depend
	makedepend -fDepend $(INCDIR) -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(SRCS) 2> /dev/null

sinclude Depend

Makefile GAME

MAKE = gmake
CC = g++

INCDIR =
LIBDIR =
BINDIR = ..
OBJDIR = .obj

GAME_VERSION = 40267
PLATFORM = $(shell file /bin/ls | cut -d' ' -f3 | cut -d'-' -f1)
TARGET  = $(BINDIR)/game_r$(GAME_VERSION)_$(PLATFORM)

LIBS = -pthread -lm -lmd

CFLAGS = -g -Wall -O2 -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG # -D_USE_SERVER_KEY_
CFLAGS += -mtune=i686 -fstack-protector-all

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

# DevIL
INCDIR += -I../../libdevil
LIBDIR += -L../../libdevil
LIBS += -lIL -lpng -ltiff -lmng -llcms -ljpeg

# MySQL
INCDIR += -I../../libmysql
LIBDIR += -L../../libmysql
LIBS += -lmysqlclient -L/usr/local/lib/mysql -lz

# Extern Libraries
INCDIR += -I../../../Extern/include
LIBDIR += -L../../../Extern/lib
LIBS += -lcryptopp -lgtest

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

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

# OpenSSL
#INCDIR += -I/usr/include
#LIBS += -lssl
#LIBS += /usr/lib/libssl.a

# Project Library
INCDIR += -I../../liblua/include
INCDIR += -I/usr/local/include
INCDIR += -L/usr/local/lib/mysql
INCDIR += -I../../libserverkey
LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib -L../../libserverkey
LIBDIR += -L/usr/local/lib
LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame -lserverkey

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 check_server.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


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

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

default: $(TARGET) $(TEST_TARGET)

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

$(OBJDIR)/version.o: version.cpp
	@$(CC) $(CFLAGS) -D__GAME_VERSION__="$(GAME_VERSION)" -c $< -o $@
	@echo compile $<

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

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

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

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

sinclude Depend
I removed some stuff from file
 
-D__USER__="$(USER)" -D__HOSTNAME__="$(HOSTNAME)" -D__PWD__="$(PWD)"
 
and
 
limit_time:
    @echo update limit time
    @python update_limit_time.py

 

And every thing for the game test

  • Like 2

Share this post


Link to post
Share on other sites

root@Develope:/usr/src/novaline/Server/game/src # gmake clean && gmake -j20
compile BattleArena.cpp
g++: directory": No such file or directory
compile FSM.cpp
<command-line>: warning: missing terminating " character
g++: directory": No such file or directory
<command-line>: warning: missing terminating " character
compile MarkConvert.cpp
g++: directory": No such file or directory
gmake: *** [OBJDIR/FSM.o] Error 1
gmake: *** Waiting for unfinished jobs....
<command-line>: warning: missing terminating " character
gmake: *** [OBJDIR/MarkConvert.o] Error 1
gmake: *** [OBJDIR/BattleArena.o] Error 1

Share this post


Link to post
Share on other sites

root@Develope:/usr/src/novaline/Server/game/src # gmake clean && gmake -j20
compile BattleArena.cpp
g++: directory": No such file or directory
compile FSM.cpp
<command-line>: warning: missing terminating " character
g++: directory": No such file or directory
<command-line>: warning: missing terminating " character
compile MarkConvert.cpp
g++: directory": No such file or directory
gmake: *** [OBJDIR/FSM.o] Error 1
gmake: *** Waiting for unfinished jobs....
<command-line>: warning: missing terminating " character
gmake: *** [OBJDIR/MarkConvert.o] Error 1
gmake: *** [OBJDIR/BattleArena.o] Error 1

 

gmake dep

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×