Jump to content

How to compile MaNGOS on Linux ( Using GIT )


Recommended Posts

Hi,

I have some small problems compiling mangos on my root-server (debian etch amd64).

First of all, running "autoreconf --install --force" gives me several

/usr/share/aclocal/libmcrypt.m4:17: warning: underquoted definition of AM_PATH_LIBMCRYPT

/usr/share/aclocal/libmcrypt.m4:17: run info '(automake)Extending aclocal'

/usr/share/aclocal/libmcrypt.m4:17: or see http://sources.redhat.com/automake/automake.html#Extending-aclocal

messages. But as they are only warnings, it should not matter, or?

Okay, following the guide at the first post in this thread, I got an error while running "make":

make[3]: Entering directory `/opt/mangos-src/objdir/dep/ACE_wrappers'

Making all in ace

make[4]: Entering directory `/opt/mangos-src/objdir/dep/ACE_wrappers/ace'

make all-am

make[5]: Entering directory `/opt/mangos-src/objdir/dep/ACE_wrappers/ace'

/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g -O2 -pthread -pipe -O3 -MT libACE_la-ACE.lo -MD -MP -MF .deps/libACE_la-ACE.Tpo -c -o libACE_la-ACE.lo `test -f 'ACE.cpp' || echo '../../../../dep/ACE_wrappers/ace/'`ACE.cpp

../libtool: line 813: X--tag=CXX: command not found

../libtool: line 846: libtool: ignoring unknown tag : command not found

../libtool: line 813: X--mode=compile: command not found

../libtool: line 979: *** Warning: inferring the mode of operation is deprecated.: command not found

../libtool: line 980: *** Future versions of Libtool will require --mode=MODE be specified.: command not found

../libtool: line 1123: Xg++: command not found

../libtool: line 1123: X-DHAVE_CONFIG_H: command not found

../libtool: line 1123: X-I../../../../dep/ACE_wrappers: No such file or directory

../libtool: line 1123: X-I..: command not found

../libtool: line 1123: X-DACE_BUILD_DLL: command not found

../libtool: line 1123: X-W: command not found

../libtool: line 1123: X-Wall: command not found

../libtool: line 1123: X-Wpointer-arith: command not found

../libtool: line 1123: X-g: command not found

../libtool: line 1123: X-O2: command not found

../libtool: line 1123: X-pthread: command not found

../libtool: line 1123: X-pipe: command not found

../libtool: line 1123: X-O3: command not found

../libtool: line 1123: X-MT: command not found

../libtool: line 1123: XlibACE_la-ACE.lo: command not found

../libtool: line 1123: X-MD: command not found

../libtool: line 1123: X-MP: command not found

../libtool: line 1123: X-MF: command not found

../libtool: line 1123: X.deps/libACE_la-ACE.Tpo: No such file or directory

../libtool: line 1123: X-c: command not found

../libtool: line 1174: XlibACE_la-ACE.lo: command not found

../libtool: line 1179: libtool: compile: cannot determine name of library object from `': command not found

make[5]: *** [libACE_la-ACE.lo] Error 1

make[5]: Leaving directory `/opt/mangos-src/objdir/dep/ACE_wrappers/ace'

make[4]: *** [all] Error 2

make[4]: Leaving directory `/opt/mangos-src/objdir/dep/ACE_wrappers/ace'

make[3]: *** [all-recursive] Error 1

make[3]: Leaving directory `/opt/mangos-src/objdir/dep/ACE_wrappers'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/opt/mangos-src/objdir/dep'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/opt/mangos-src/objdir'

make: *** [all] Error 2

It seems, that the libtool script file in /opt/mangos-src/objdir/dep/ACE_wrappers is somehow "wrong". I had a look at the mentioned codelines and found out, that the problem is here:

/opt/mangos-src/objdir/dep/ACE_wrappers/libtool at line 812

case $arg in

-*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;

*) optarg= ;;

esac

The arguments are processed like commands (which also the error message states), but I have no idea how to overcome this.

On my home machine (and small mini-itx x86) with debian etch, it runs without the warnings at autoreconf, and compiles without errors. Setup is almost the same.

I also setup an virtual installation with help of VirtualBox. VBox runs on a 64bit quadcore system. There I configured an 64bit environment, again with Debian Etch, and also there there is no warning at autoreconf and nor error during compile-time.

Maybe someone can give me a hint why it's not compiling on my root-server (amd dual core, 64bit, debian etch).

best regards,

Alex

P.S. (sorry for the post in http://getmangos.eu/community/showthread.php?p=57583. I saw too late that this is an "old" thread).

I found out, that the libtool file created in VirtualBox is different from the one created on my root-server. I copied the file to the root-server and replaced the "wrong" one. Now make runs.. seems to run without errors.

Can someone explain me why the file is different from machine A to machine B? Both are running the same OS, and both are 64bit ... The working one has 213kbyte, the wrong one 212kbyte.

Link to comment
Share on other sites

  • Replies 288
  • Created
  • Last Reply

Top Posters In This Topic

i compile mangos using this guide http://getmangos.eu/community/viewtopic.php?id=7839

having OS Ubuntu 9.04 Linux 64 bit with AMD Phenom 9850

and at step 3 giving this

al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos/src$ cd ..
al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos$ git am src/bindings/ScriptDev2/patches/MaNGOS-8273-ScriptDev2.patch
previous rebase directory /media/D/Work/SVN/Mangos_git/mangos/.git/rebase-apply still exists but mbox given.
al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos$ 
al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos$ git apply src/bindings/ScriptDev2/patches/MaNGOS-8273-ScriptDev2.patch
error: src/bindings/.gitignore: No such file or directory
error: patch failed: src/mangosd/Makefile.am:34
error: src/mangosd/Makefile.am: patch does not apply
al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos$ 

i partial read topic and don't understood where is error

Link to comment
Share on other sites

i compile mangos using this guide http://getmangos.eu/community/viewtopic.php?id=7839

having OS Ubuntu 9.04 Linux 64 bit with AMD Phenom 9850

and at step 3 giving this

al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos/src$ cd ..
al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos$ git am src/bindings/ScriptDev2/patches/MaNGOS-8273-ScriptDev2.patch
previous rebase directory /media/D/Work/SVN/Mangos_git/mangos/.git/rebase-apply still exists but mbox given.
al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos$ 
al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos$ git apply src/bindings/ScriptDev2/patches/MaNGOS-8273-ScriptDev2.patch
error: src/bindings/.gitignore: No such file or directory
error: patch failed: src/mangosd/Makefile.am:34
error: src/mangosd/Makefile.am: patch does not apply
al@al-desktop:/media/D/Work/SVN/Mangos_git/mangos$ 

i partial read topic and don't understood where is error

I think the 'git am' applies the patches. You don't have to do the 'git apply'.

Link to comment
Share on other sites

Is the tutorial up to date on the commands?

Ive tried several times getting this going, and frankly, im starting to get pissed off.

Seeing as how the original "tutorial" was put up quite a long time ago, and also that there are sever people in this thread saying 'do this, not that', I just want to make sure Im doing everything right.

http://getmangos.eu/wiki/Compile_MaNGOS_On_Linux

This works, and what distro are you using?

Link to comment
Share on other sites

Excuse me, English I do not own, I write through the translator

At attempt compile on linux (gentoo) after a command:

autoreconf - instal - force

Writes:

autoreconf --install --force

.ibtoolize: AC_CONFIG_MACRO_DIR([m4]) conflicts with ACLOCAL_AMFLAGS=-I m4

autoreconf-2.63: libtoolize failed with exit status: 1

libtool it is established last revision

How now to compile?

Have a look here...

http://getmangos.eu/community/viewtopic.php?id=4604 (Should be enough, check if you really processed both configure.ac files with dos2unix)

and here...

http://getmangos.eu/community/viewtopic.php?id=4734 (Should work if the solution above didn't, try to use both)

(It might be a bit late but I post it here because members asked me already per PM how to fix the famous ".ibtoolize: AC_CONFIG_MACRO_DIR([m4]) conflicts with ACLOCAL_AMFLAGS=-I m4" issue)

Link to comment
Share on other sites

[...]

http://getmangos.eu/community/viewtopic.php?id=4734 (Should work if the solution above didn't, try to use both)

(It might be a bit late but I post it here because members asked me already per PM how to fix the famous ".ibtoolize: AC_CONFIG_MACRO_DIR([m4]) conflicts with ACLOCAL_AMFLAGS=-I m4" issue)

Someone knows what was inside that thread? A moderator deleted it and now I need it myself because this annoying error suddenly appears again.

Edit: A recursive dos2unix helped for now :)

Link to comment
Share on other sites

  • 38 years later...

To begin, I am French, this is a translation from my French tutorial into English,

If you find a language error within this tutorial, please pm me.

You must install :

* GCC 4.1.X ( gcc / g++ / cpp / fort77 / g77 / gpp)

* automake

* autoconf

* glibc & glibc-dev(glibc headers) [ libc6 ]

* make

* mysql-server 4.1 ou mysql-server 5.0 && libmysql++-dev

* libtool

* OpenSSL (libssl-dev)

* subversion et patch

* git

* zlibc

You can do this using the terminal:

apt-get install build-essential binutils gcc g++ cpp automake autoconf make libmysql++-dev libtool libssl-dev subversion patch zlibc libc6 git-core

You must download the files from the git repository, git will create your mangos sources directory for you.

git clone git://github.com/mangos/mangos.git

cd mangos

You must download and patch ScriptDev2.

git clone git://github.com/scriptdev2/scriptdev2.git src/bindings/ScriptDev2

git apply src/bindings/ScriptDev2/patches/MaNGOS-2008-12-22-ScriptDev2.patch

You can use

git am src/bindings/ScriptDev2/patches/MaNGOS-2008-12-22-ScriptDev2.patch

to commit the patch, which is the way it was intended to be. git-apply just applies changes, while git-am commits patches. Please note that you cannot commit a diff (= the thing you now call "patch"), but you can commit a git patch (which is in fact "portable commit in a file") created using git-format-patch.

If you want to apply only changes to stash them later, use git-apply, if you want to commit the sd2 patch, use git-am and you don't have to manually call git-commit.

Once you have patched mangos, you compile it.

autoreconf --install --force

automake src/bindings/ScriptDev2/Makefile

mkdir objdir

cd objdir

../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos

make

make install

make clean

cd ..

rm -r objdir

You can replace ../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos

by ../configure --prefix=[working path] --sysconfdir=[working path]/etc --enable-cli --enable-ra --datadir=[working path]

with your [working path]

Good Luck ;)

Thx to seodavid, for his help with English ;) and his suggests.

Thx to freghar, for his help with Git. (Text in blue).

Edit by Schmoozerd: SD2 to Git updated

Link to comment
Share on other sites

A note for Gentoo users, to install GIT run:

emerge dev-util/git

Other then that, awesome guide :D

I assume to run other patches (auctionhouse bot, ImpConfig) you would do that right after you run the ScriptDev2 patch? It's been so long since I've "manually" compiled Mangos, I normally use MangoAdder which does that all for me haha.

Link to comment
Share on other sites

So now we haven't a svn updated at XXXX revision console text ....

How to get the mangos version number? Git isn't spitting any version after duping the repo.

More... Compiling on gentoo i can't get the revision number launching worldd:

ThreadQueue created
Using configuration file /home/eraclito/mangos/etc/mangosd.conf.
MaNGOS/0.12.0 (Revision Unknown) (Unix,little-endian) (world-daemon)
<Ctrl-C> to stop.

Link to comment
Share on other sites

I have errors:

make[5]: *** [Database.o] Error 1

make[5]: Leaving directory `/root/mangos/objdir/src/shared/Database'

make[4]: *** [all-recursive] Error 1

make[4]: Leaving directory `/root/mangos/objdir/src/shared'

make[3]: *** [all] Error 2

make[3]: Leaving directory `/root/mangos/objdir/src/shared'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/root/mangos/objdir/src'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/root/mangos/objdir'

make: *** [all] Error 2

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use