GNU\Linux - Debian (...and forks, eg. Ubuntu)
A detailed and always up-to-date tutorial may be found here:
http://otland.net/f137/linux-ultimate-compile-guide-debian-ubuntu-included-2868/
Root
You need to get on root user or use sudo for almost all below operations.
Download required packages
Launch a terminal, and paste in the following commands:
apt-get install libboost1.37-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 libsqlite0 libsqlite0-dev libsqlite3-0 libsqlite3-dev sqlite3 lua5.1 libmysql++-dev libgmp3-dev subversion make g++ libxml2 libxml2-dev libxml++2.6-dev libmysqlclient15-dev mysql-client-5.0 mysql-common mysql-server-5.0 gcc cpp automake autoconf pkg-config
Download sources
Launch a terminal, and paste in this command:
svn co
forgottenserver - Revision 73: /tags/0.3.5
Compiling
Launch a terminal, and type this:
cd 0.3.5 && ./autogen.sh && ./configure --enable-sqlite --enable-server-diag && make
Linker error
If you receive a linker error saying something with 'libboost', try pasting the following commands to terminal and then move back to compiling again:
wget
Download asio C++ library from SourceForge.net
tar -xzf boost_asio_1_0_0.tar.gz
cp -ar boost_asio_1_0_0/boost/* /usr/include/boost/
g++ boost_asio_1_0_0/libs/system/src/error_code.cpp -c -o /usr/lib/libboost_system.a
ln /usr/lib/libboost_regex-mt.so /usr/lib/libboost_regex.so
ln /usr/lib/libboost_regex-mt.a /usr/lib/libboost_regex.a
ln /usr/lib/libboost_thread-mt.so /usr/lib/libboost_thread.so
ln /usr/lib/libboost_thread-mt.a /usr/lib/libboost_thread.a
rm -rf boost_asio_1_0_0 boost_asio_1_0_0.tar.gz