Howto: Compile Mudlet on Gentoo.

User avatar
kevutian
Posts: 217
Joined: Fri Aug 20, 2010 8:18 pm
Location: United Kingdom
Contact:

Howto: Compile Mudlet on Gentoo.

Post by kevutian »

As a howto has been done for other distros, it makes sense to provide one for Gentoo.

Pulling in all required deps proved rather troublesome. (Requiring a couple of portage overlays.)

Nonetheless, here are the steps required.

Steps following require root until specified otherwise.

1. emerge -av layman
2. layman -S
3. layman -a hawking
4. USE="-doc -oniguruma pcre" emerge -av lrexlib
5. layman -a rafaelmartins
6. USE="-doc sqlite sqlite3 mysql -postgres" ACCEPT_KEYWORDS="~x86" emerge -av luasql
7. emerge -av gitk

Drop root privs.

8. mkdir ~/src && cd ~/src && git clone git://mudlet.git.sourceforge.net/gitroot/mudlet/mudlet
9. cd into the src folder
10. qmake
11. make

Tada!

Any problems, feel free to let me know.

Ashii
Posts: 5
Joined: Tue Jan 10, 2012 10:02 am

Re: Howto: Compile Mudlet on Gentoo.

Post by Ashii »

MUDLET: A step by step tutorial for compiling on gentoo

GIT:
sudo emerge -a git
cd ~ && git clone (assuming that ~/mudlet is there u want it)
git://mudlet.git.sourceforge.net/gitroot/mudlet/mudlet

LAYMAN
emerge -av layman
#this sets up layman to find your add-on to the portage tree
sudo echo "source /var/lib/layman/make.conf" >> /etc/make.conf
sudo echo 'PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /var/lib/layman"' >> /etc/make.conf
#syncs
layman -S
#adds hawking to new portage
layman -a hawking
#verify that hawking is in the list
portageq envvar PORTDIR_OVERLAY
#if it exist do:
echo "=dev-lua/lrexlib-2.4.0 **" >> /etc/portage/package.accept_keywords
USE="-doc -oniguruma pcre" emerge -av lrexlib
#else

################################################################################
# This is a complete mess; Sorry! i'm not 100% sure what the correct path was;
# but it all lead down too this.

#this is provided by Rafaelmasrtins? <- i had to compile this later
#USE="-doc -oniguruma pcre" emerge -av lrexlib
layman -a rafaelmartins
USE="-doc sqlite sqlite3 mysql -postgres" ACCEPT_KEYWORDS="~x86" emerge -av luasql
echo "=dev-lua/lrexlib-2.4.0 **" >> /etc/portage/package.accept_keywords

emerge mercurial

ashii@gatsu ~/mudlet $ sudo revdep-rebuild && sudo layman -S)


13:21 < phasma> sudo layman -d rafaelmartins
13:21 < phasma> sudo layman -S
13:21 < phasma> close current terminal session

13:21 < phasma> sudo revdep-rebuild

13:22 < phasma> oh, actually
13:22 < phasma> sudo layman -a rafaelmartins
13:22 < phasma> sudo layman -S

13:22 < phasma> after the layman -d
13:22 < phasma> do an emerge -uDavN world
# too make sure (perhaps remove eix, if already compiled it?)
sudo emerge eix && eix-sync && eix -I --in-overlay rafaelmartins

19:16 <+iamben> ashii: does "portageq envvar PORTDIR_OVERLAY" list /var/lib/layman/hawking as one of them?

19:16 <+iamben> ashii: then you've not set up layman properly. read the postmerge messages on layman please.
This was the problem; PORTDIR_OVERLAY wasn't setup its explained in source:

# end of mess, hopefully ;)
################################################################################
#QMAKE - If you don't have the file 'qmake' (comes with qt-core)

#two ways you can do from here if you don't have qmake (it's in the qt-core)
# 1. "grab nokia sdk" and use the qmake from there (1gb, no compile)
http://www.developer.nokia.com/Develop/Qt/Tools/
on the right side, you got a menu
-> linux 32bit (for me)
#after finish
chmod +x Qt_SDK_Lin32_offline_v1_1_4_en.run
#install it (quite fast)
locate qmake | grep bin
# should be something like:
# /home/ashii/QtSDK/Desktop/Qt/474/gcc/bin/qmake
# 2. "grab qt-core" and wait for the eternal compile. (200 mb, eternal compile)
emerge -av qt-core

#note: alternative1 is much faster if you got good internet.


#COMPILATION (requires "emerge boost yajl zziplib =media-libs/libpng-1.2.46 luafilesystem"



#luazip module
cd ~/
git clone git://github.com/luaforge/luazip.git
git clone git://github.com/luaforge/compat.git
cd compat
mv compat ../compat2
cd ..
rm -fR compat
mv compat2 compat
cd ~/luazip
make && make install
#rex_pcre
#lfs

cd ~/mudlet/src
/home/ashii/QtSDK/Desktop/Qt/474/gcc/bin/qmake

ldconfig
#compile finished

#that's it for the compile, but some more errors accured in client

after compile: I had these three errors in the client: (which you shouldnt be getting, i just leave it as documentation)
1. rex_pcre = USE="-doc -oniguruma pcre" emerge -av lrexlib
2. lfs = emerge luafilesystem
3. zipLua = http://www.keplerproject.org/luazip/



source:
http://forums.mudlet.org/viewtopic.php? ... ntoo#p6912
http://wiki.gentoo.org/wiki/Layman (very good)
http://www.keplerproject.org/luazip/ (required download)
http://www.keplerproject.org/compat/ (required download)
+ support from Phasma, Chosig, Vadi2, #gentoo and @ freenode

#general hints when problem arrived
http://forums.mudlet.org/viewtopic.php?t=2609 ( about liblua5.1-zip0 and liblua5.1-filesystem0 )

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: Howto: Compile Mudlet on Gentoo.

Post by Heiko »

Leio is a gentoo dev and wanted to make a gentoo package for Mudlet back in the past. We should get in touch with him and see what he can do because compiling Mudlet on Linux is getting more and more complicated because of the myriad of dependencies.

Ashii
Posts: 5
Joined: Tue Jan 10, 2012 10:02 am

Re: Howto: Compile Mudlet on Gentoo.

Post by Ashii »

I would like to chip in how I can, i'm not very good with linux yet, but this was a good learning experience and I feel I got a good hang on how to compile mudlet now, cause I did this compile, without much packages at all.

Ashii
Posts: 5
Joined: Tue Jan 10, 2012 10:02 am

Re: Howto: Compile Mudlet on Gentoo.

Post by Ashii »

I get an error when starting Mudlet out of its directory.
If you get an error that your missing LuaGlobal

If you start it from the directory 'src' it works..

toaster
Posts: 3
Joined: Tue May 14, 2013 6:13 am

Re: Howto: Compile Mudlet on Gentoo.

Post by toaster »

Hi,

check out https://github.com/toaster/gentoo-mudlet-overlay

That worked for me (x86). In case of any problems, contact me via github.


Regards

>toaster

User avatar
Vadi
Posts: 5035
Joined: Sat Mar 14, 2009 3:13 pm

Re: Howto: Compile Mudlet on Gentoo.

Post by Vadi »

Thanks for making that!

toaster
Posts: 3
Joined: Tue May 14, 2013 6:13 am

Re: Howto: Compile Mudlet on Gentoo.

Post by toaster »

It was a pleasure :). There is still a FIXME left because I do not know which Qt4 modules Mudlet depends on. Since my system has Qt4 installed due to other apps it works, but maybe someone could give me a hint which Qt4 parts are used by Mudlet.

Tanks

>toaster

User avatar
Vadi
Posts: 5035
Joined: Sat Mar 14, 2009 3:13 pm

Re: Howto: Compile Mudlet on Gentoo.

Post by Vadi »

$ ldd /usr/games/mudlet | grep Qt
libQtOpenGL.so.4 => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4 (0x00007f14fbadd000)
libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007f14fae0e000)
libQtNetwork.so.4 => /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4 (0x00007f14faac2000)
libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007f14fa5f0000)
libQtDBus.so.4 => /usr/lib/x86_64-linux-gnu/libQtDBus.so.4 (0x00007f14f8c0e000)
libQtXml.so.4 => /usr/lib/x86_64-linux-gnu/libQtXml.so.4 (0x00007f14f3e45000)

^ That seems to be the list.

toaster
Posts: 3
Joined: Tue May 14, 2013 6:13 am

Re: Howto: Compile Mudlet on Gentoo.

Post by toaster »

Thank you. I have updated the ebuild accordingly.

Post Reply