Jump to content
Eternal Lands Official Forums
Sign in to follow this  
UberLord

Gentoo ebuilds now available

Recommended Posts

Hi

 

I've prepared some shiny new ebuilds for EL in Gentoo Linux, they are available from my dev area here

http://dev.gentoo.org/~uberlord/overlay/games-rpg/

 

I've split it into two ebuilds, one for the elc compile and one for the data.

 

Hopefully I can get the into Gentoo's Portage tree soon.

 

BTW, you'll need to create your own tarball for elc from their cvs as the EL crew haven't released it yet.

 

Enjoy :)

Share this post


Link to post
Share on other sites

Thanks a lot, maybe you could have a look at this?: http://bugs.gentoo.org/show_bug.cgi?id=122507

 

There seems to be no maintainer for el at gentoo and I'd really like to see it going into the main tree in the near future.

 

I am the new maintainer! :pinch:

 

Unfortunately I noticed =media-libs/cal3d-0.10.0 as thats the version I cannot compile. I will have Eternal sat in a User directory for sometime to come :blush:

 

Point me to a Gentoo bug please

Share this post


Link to post
Share on other sites

Thanks a lot, maybe you could have a look at this?: http://bugs.gentoo.org/show_bug.cgi?id=122507

 

There seems to be no maintainer for el at gentoo and I'd really like to see it going into the main tree in the near future.

 

I am the new maintainer! :pirate:

 

Unfortunately I noticed =media-libs/cal3d-0.10.0 as thats the version I cannot compile. I will have Eternal sat in a User directory for sometime to come :)

 

Point me to a Gentoo bug please

 

http://forums.gentoo.org/viewtopic-t-41462...rnal+lands.html

The one that invols me downgrading libtool.

 

and I suffer from this one which seems a problem on intergrated graphics cards

 

http://www.eternal-lands.com/forum/index.php?showtopic=17959

Share this post


Link to post
Share on other sites

Before the new ebuild became available, I updated the previously emerged installation by hand, with the downloaded databundle and cvs compiled client. I didnt notice any problems with that set up.

 

Since the real gentoo update, I now get one object, appearing as a black block with with red words "BAD OBJECT" (or similar). This appears in PL on the bollards along the harbour, embedded on the sea-ward side, as well as part of the castellations atop the TG city walls. Suggests something is missing? Has anyone else seen this with the new ebuild?

 

(Btw, thanks Uberlord for taking charge of the ebuild :P )

Share this post


Link to post
Share on other sites

I'm trying to upgrade my eternal lands from the previous version. When I type in emerge eternal-lands i get the following error during the complie:

 

gcc -march=k8 -pipe -O2  -DDATA_DIR=\"/usr/share/games/eternal-lands/\" -DX86_64 -DLINUX -DELC -DPNG_SCREENSHOT -DUSE_FRAMEBUFFER -DNEW_FRUSTUM -DBUG_FIX_3D_OBJECTS_MIN_MAX -DNEW_TEX -DOPTIONS_I18N -DATI_9200_FIX -DNETWORK_THREAD -DWIDGETS_FIX -DNEW_ACTOR_ANIMATION -DCOMMAND_BUFFER -I/usr/include/SDL -D_REENTRANT -I/usr/include/libxml2 -c -o filter.o filter.c
framebuffer.c: In function `print_fbo_errors':
framebuffer.c:24: error: `GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT' undeclared (first use in this function)
framebuffer.c:24: error: (Each undeclared identifier is reported only once
framebuffer.c:24: error: for each function it appears in.)
make: *** [framebuffer.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** wait: No child processes.  Stop.

 

Any ideas on what I'm doing wrong?

Share this post


Link to post
Share on other sites
... -DUSE_FRAMEBUFFER ...
framebuffer.c:24: error: `GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT' undeclared (first use in this function)

Do you have framebuffer support on your platform?

 

If 'USE_FRAMEBUFFER' is always passed, then this will be a problem for installations which do not support framebuffer. Need to tie some options to USE flags?

 

For reference, the default defines passed from the linux makefile:

...

# tune these for your setup & compile options

OPTIONS=-DLINUX -DELC -DPNG_SCREENSHOT -DUSE_FRAMEBUFFER -DNEW_FRUSTUM -DBUG_FIX_3D_OBJECTS_MIN_MAX -DNEW_TEX -DOPTIONS_I18N -DATI_9200_FIX -DNETWORK_THREAD -DWIDGETS_FIX -DNEW_ACTOR_ANIMATION -DCOMMAND_BUFFER -DAUTO_UPDATE

 

#-DX86_64

#-DTIMER_CHECK

#-DWRITE_XML

#-DNOTEPAD # enable in-game notepad

#-DCUSTOM_LOOK # allows you to customize your look. (EXPERIMENTAL)

#-DUID # use unique ID sent from server for custom looks. (INCOMPLETE)

#-DNETWORK_THREAD # use separate thread for network reading (recommended)

#-DANTI_ALIAS # allows to enable/disable anti-aliasing in el.ini

#-DMEMORY_DEBUG # gather information about memory allocation and freeing

#-DPNG_SCREENSHOT # make screenshots in W3C's PNG format in game

#-DATI_9200_FIX # flickering fix for ATI 92xx

#-DNEW_WEATHER # new weather effects

#-DOPTIONS_I18N # make option labels & descriptions translatable

#-DUSE_FRAMEBUFFER # use framebuffer for reflection

#-DNEW_TEX # use new texture coordinates for enhanced actors

#-DNEW_FRUSTUM # use new frustum culling (AABB trees)

#-DBUG_FIX_3D_OBJECTS_MIN_MAX # Just a smal work around for the new frustum with the buggy 3d objects. This is not nessecary if you have correct 3d objects.

#-DDRAW_BBOX # draws the bounding boxes for 2d and 3d objects

#-DWIDGETS_FIX # CK's widget patch (EXPERIMENTAL)

#-DUSE_LISPSM # uses light space optimized shadow maps (EXPERIMENTAL)

#-DCOMMAND_BUFFER # enable command buffer and tab completion

#-DAUTO_UPDATE # enable minor automatic file updating

...

Share this post


Link to post
Share on other sites

Meanwhile, EL is in Portage.

I unmasked EL in /etc/portage/package.keywords

 

Now I get the following error when emerging eternal-lands:

 

# emerge eternal-lands
Calculating dependencies ...done!
>>> emerge (1 of 1) games-rpg/eternal-lands-1.2.0_p1-r1 to /
>>> md5 files  ;-) eternal-lands-1.2.0_p1-r1.ebuild
>>> md5 files  ;-) eternal-lands-1.2.0_p1.ebuild
>>> md5 files  ;-) files/digest-eternal-lands-1.2.0_p1
>>> md5 files  ;-) files/eternal-lands-1.2.0-vertex-array.patch
>>> md5 files  ;-) files/digest-eternal-lands-1.2.0_p1-r1
>>> md5 src_uri;-) elc_120p1.tgz
>>> md5 src_uri;-) eternal-lands.png
>>> Unpacking source...
>>> Unpacking elc_120p1.tgz to /var/tmp/portage/eternal-lands-1.2.0_p1-r1/work
>>> Unpacking eternal-lands.png to /var/tmp/portage/eternal-lands-1.2.0_p1-r1/work
unpack eternal-lands.png: file format not recognized. Ignoring.
* Applying eternal-lands-1.2.0-vertex-array.patch ...																						  [ ok ]
>>> Source unpacked.
gcc -march=athlon64 -O3 -pipe -fomit-frame-pointer  -DDATA_DIR=\"/usr/share/games/eternal-lands/\" -DX86_64 -DLINUX -DELC -DPNG_SCREENSHOT -DUSE_FRAMEBUFFER -DNEW_FRUSTUM -DBUG_FIX_3D_OBJECTS_MIN_MAX -DNEW_TEX -DOPTIONS_I18N -DATI_9200_FIX -DNETWORK_THREAD -DWIDGETS_FIX -DNEW_ACTOR_ANIMATION -DCOMMAND_BUFFER -I/usr/include/SDL -D_REENTRANT -I/usr/include/libxml2 -MM  2d_objects.c  3d_objects.c  actor_scripts.c  actors.c  alphamap.c  asc.c  books.c  buddy.c  bags.c  bbox_tree.c  cache.c  cal.c  chat.c  colors.c  console.c  consolewin.c  cursors.c  dialogues.c  draw_scene.c  elconfig.c  elmemory.c  elwindows.c  encyclopedia.c  errors.c  events.c  framebuffer.c  filter.c  font.c  frustum.c  gamewin.c  gl_init.c  hud.c  help.c  highlight.c  ignore.c  init.c  interface.c  items.c  keys.c  knowledge.c  lights.c  lispsm.c  list.c  loginwin.c  loading_win.c  main.c  manufacture.c  map_io.c  mapwin.c  md2loader.c  md5.c  misc.c  multiplayer.c  new_actors.c  new_character.c  normals.c  notepad.c  openingwin.c  particles.c  paste.c  pathfinder.c  pm_log.c  questlog.c  queue.c  reflection.c  rules.c  skills.c  sector.c  shader.c  shadows.c  sort.c  sound.c  spells.c  stats.c  storage.c  symbol_table.c  tabs.c  terrain.c  text.c  textures.c  tile_map.c  timers.c  translate.c  trade.c  update.c  weather.c  widgets.c  books/fontdef.c  books/parser.c  books/symbols.c  books/typesetter.c >.depend
g++ -march=athlon64 -O3 -pipe -fomit-frame-pointer  -DDATA_DIR=\"/usr/share/games/eternal-lands/\" -DX86_64 -DLINUX -DELC -DPNG_SCREENSHOT -DUSE_FRAMEBUFFER -DNEW_FRUSTUM -DBUG_FIX_3D_OBJECTS_MIN_MAX -DNEW_TEX -DOPTIONS_I18N -DATI_9200_FIX -DNETWORK_THREAD -DWIDGETS_FIX -DNEW_ACTOR_ANIMATION -DCOMMAND_BUFFER -MM  cal3d_wrapper.cpp >>.depend
gcc -march=athlon64 -O3 -pipe -fomit-frame-pointer  -DDATA_DIR=\"/usr/share/games/eternal-lands/\" -DX86_64 -DLINUX -DELC -DPNG_SCREENSHOT -DUSE_FRAMEBUFFER -DNEW_FRUSTUM -DBUG_FIX_3D_OBJECTS_MIN_MAX -DNEW_TEX -DOPTIONS_I18N -DATI_9200_FIX -DNETWORK_THREAD -DWIDGETS_FIX -DNEW_ACTOR_ANIMATION -DCOMMAND_BUFFER -I/usr/include/SDL -D_REENTRANT -I/usr/include/libxml2 -c -o 2d_objects.o 2d_objects.c
gcc -march=athlon64 -O3 -pipe -fomit-frame-pointer  -DDATA_DIR=\"/usr/share/games/eternal-lands/\" -DX86_64 -DLINUX -DELC -DPNG_SCREENSHOT -DUSE_FRAMEBUFFER -DNEW_FRUSTUM -DBUG_FIX_3D_OBJECTS_MIN_MAX -DNEW_TEX -DOPTIONS_I18N -DATI_9200_FIX -DNETWORK_THREAD -DWIDGETS_FIX -DNEW_ACTOR_ANIMATION -DCOMMAND_BUFFER -I/usr/include/SDL -D_REENTRANT -I/usr/include/libxml2 -c -o 3d_objects.o 3d_objects.c
In file included from global.h:55,
			 from 3d_objects.c:7:
/usr/include/GL/gl.h:71:22: GL/glext.h: No such file or directory
In file included from global.h:55,
			 from 2d_objects.c:7:
/usr/include/GL/gl.h:71:22: GL/glext.h: No such file or directory
In file included from global.h:124,
			 from 3d_objects.c:7:
gl_init.h:68: error: parse-fout before "GLsizeiptrARB"
gl_init.h:80: error: parse-fout before '*' token
gl_init.h:80: error: `GLhandleARB' gedeclareerd als een functie die een functie teruggeeft
gl_init.h:81: error: parse-fout before "shader"
gl_init.h:82: error: parse-fout before "shader"
gl_init.h:83: error: parse-fout before '*' token
gl_init.h:83: error: `GLhandleARB' gedeclareerd als een functie die een functie teruggeeft
gl_init.h:84: error: parse-fout before "program"
gl_init.h:85: error: parse-fout before "program"
gl_init.h:86: error: parse-fout before "program"
gl_init.h:87: error: parse-fout before "shader"
gl_init.h:88: error: parse-fout before "object"
gl_init.h:89: error: parse-fout before "object"
gl_init.h:90: error: parse-fout before "program"
gl_init.h:91: error: parse-fout before "program"
In file included from global.h:124,
			 from 2d_objects.c:7:
gl_init.h:68: error: parse-fout before "GLsizeiptrARB"
gl_init.h:80: error: parse-fout before '*' token
gl_init.h:80: error: `GLhandleARB' gedeclareerd als een functie die een functie teruggeeft
gl_init.h:81: error: parse-fout before "shader"
gl_init.h:82: error: parse-fout before "shader"
gl_init.h:83: error: parse-fout before '*' token
gl_init.h:83: error: `GLhandleARB' gedeclareerd als een functie die een functie teruggeeft
gl_init.h:84: error: parse-fout before "program"
gl_init.h:85: error: parse-fout before "program"
gl_init.h:86: error: parse-fout before "program"
gl_init.h:87: error: parse-fout before "shader"
gl_init.h:88: error: parse-fout before "object"
gl_init.h:89: error: parse-fout before "object"
gl_init.h:90: error: parse-fout before "program"
gl_init.h:91: error: parse-fout before "program"
3d_objects.c: In function `draw_3d_object_detail':
3d_objects.c:119: error: `GL_ARRAY_BUFFER_ARB' is hier niet gedeclareerd (eerste gebruik in deze functie)
3d_objects.c:119: error: (Elke niet-gedeclareerde naam wordt slechts één
3d_objects.c:119: error: keer vermeld voor elke functie waarin hij staat.)
3d_objects.c: In function `draw_3d_objects':
3d_objects.c:374: error: `GL_ARRAY_BUFFER_ARB' is hier niet gedeclareerd (eerste gebruik in deze functie)
3d_objects.c: In function `load_e3d_detail':
3d_objects.c:1135: error: `GL_ARRAY_BUFFER_ARB' is hier niet gedeclareerd (eerste gebruik in deze functie)
3d_objects.c:1136: error: `GL_STATIC_DRAW_ARB' is hier niet gedeclareerd (eerste gebruik in deze functie)
3d_objects.c: In function `compute_clouds_map':
3d_objects.c:1234: error: `GL_ARRAY_BUFFER_ARB' is hier niet gedeclareerd (eerste gebruik in deze functie)
3d_objects.c:1235: error: `GL_STATIC_DRAW_ARB' is hier niet gedeclareerd (eerste gebruik in deze functie)
make: *** [2d_objects.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [3d_objects.o] Error 1

 

This is my emerge info:

# emerge info
Portage 2.0.54 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.6-r1, 2.6.15-gentoo-r7 x86_64)
=================================================================
System uname: 2.6.15-gentoo-r7 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.6.14
ccache version 2.3 [enabled]
dev-lang/python:	 2.3.5, 2.4.2
sys-apps/sandbox:	1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O3 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon64 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks fixpackages sfperms strict"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ http://stoofo.math.uni.lodz.pl/gentoo/ http://gentoo.mirror.intouch.nl/gentoo/"
LANG="nl_BE@euro"
LC_ALL="nl_BE@euro"
LDFLAGS="-Wl,-O1"
LINGUAS="nl"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="amd64 X acpi alsa apache2 apm arts bash-completion cdr cups decode dvd dvdr encode firefox flac foomaticdb fuse gd gif gpm gstreamer gtk gtk2 gtkhtml imagemagick java javascript jikes jpeg kde kdeenablefinal logitech-mouse logrotate mad mozcalendar mozilla mozsvg mp3 mpeg music ncurses nls nptl nptlonly nsplugin nvidia offensive ogg oggvorbis opengl pam perl pic png ppds python qt quicktime readline real samba sdl speex spell ssl svg swat syslog tcltk tetex theora tidy tiff truetype v4l v4l2 vorbis wxgtk1 xine xml xml2 xmms xprint xscreensaver xv linguas_nl userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET

Share this post


Link to post
Share on other sites

I also tried downloading the full EL zipfile for Linux.

When I run that, I get the following error:

 

$ /usr/games/bin/el/el.x86_64.linux.bin
/usr/games/bin/el/el.x86_64.linux.bin: /usr/lib/libpng12.so.0: no version information available (required by /usr/games/bin/el/el.x86_64.linux.bin)

 

I can conclude that EL is now completely and utterly fubar... I am in great dispair, help is needed...

Share this post


Link to post
Share on other sites

I got the following reply on the Gentoo forums:

/usr/include/GL/gl.h:71:22: GL/glext.h: No such file or directory

Do you have /usr/include/GL/glext.h which points to /usr/lib/opengl/global/include/glext.h? It should be installed by app-admin/eselect-opengl.

 

Affirmative:

$ ls -al /usr/include/GL/glext.h
lrwxrwxrwx  1 root root 40 feb 17 01:15 /usr/include/GL/glext.h -> /usr/lib64/opengl/global/include/glext.h

 

But just to be 200% sure, I re-emerged eselect-opengl.

And now it emerges...

 

Thank you for your help. For me it was something like... too much information. I didn't see the "no such file or directory" message...

Error messages can be very overwhealming sometimes.

Share this post


Link to post
Share on other sites

Auto-update disabled in ebuild?

sed \

...

-e 's/ -DAUTO_UPDATE//' \

Makefile.linux > Makefile \

|| die "sed failed"

This is removing auto update from the build options in the makefile.

 

Why? Is the intention to leave management to portage on Gentoo?

 

If auto-update is intended for small incremental changes, then it should be left upto the client to manage its own data repository. The overhead to keep updating the entire data package each week, requiring it to be downloaded each time, is excessive.

 

The data directories are already stick on group (at least on my installation), so 'game' members can update (there are a few group-readonly files though).

Share this post


Link to post
Share on other sites

Auto-update disabled in ebuild?

sed \

...

-e 's/ -DAUTO_UPDATE//' \

Makefile.linux > Makefile \

|| die "sed failed"

This is removing auto update from the build options in the makefile.

 

Why? Is the intention to leave management to portage on Gentoo?

 

If auto-update is intended for small incremental changes, then it should be left upto the client to manage its own data repository. The overhead to keep updating the entire data package each week, requiring it to be downloaded each time, is excessive.

 

The data directories are already stick on group (at least on my installation), so 'game' members can update (there are a few group-readonly files though).

Autoupdate will NOT change the executable! It's only intended for the standard files that are cross platform. Even attempting to update the binary would fail on many systems or break the game totally. For example if autoupdate tried to update the executable under Linux or BSD, it would not set the executable bit, breaking the Client.

Share this post


Link to post
Share on other sites

Autoupdate will NOT change the executable! It's only intended for the standard files that are cross platform.

Yes, any auto update can only deal with platform independant file, and I was talking about the data package not the client package.

 

The sticky bit I was refering to is that on the group permission for the directories, which means that any file or directory added therein inherits the group identity of the directory (in this case 'game'). So a user whos has 'game' as at least a secondary group (required to play games on a Gentoo system) can safely update/add to the Eternal Lands data directory without preventing access to those files by other users.

 

The issue here is that auto update is disabled by the ebuild.

Edited by trollson

Share this post


Link to post
Share on other sites

Is there any plan to get an apt-get install eternal-lands available? I think Ill go Debian based when I get back.

Share this post


Link to post
Share on other sites

Is there any plan to get an apt-get install eternal-lands available? I think Ill go Debian based when I get back.

I've been planning on packaging it myself recently, but it won't go official. If a debian dev wants to try packaging it officially please do!

If I do package it, I'll see what I can do about hosting the repository on a decent server (Placid? :-P)

Share this post


Link to post
Share on other sites

I removed that " -e 's/ -DAUTO_UPDATE//'" from ebuild and I manually changed permissions so that games group have full write permission every file in /usr/share/games/eternal-lands/ directory and everything seems work ok. At least in /usr/share/games/eternal-lands/language/en/Encyclopedia wasn't write permission ok, they needed manually chmod.

Share this post


Link to post
Share on other sites

I removed that " -e 's/ -DAUTO_UPDATE//'" from ebuild and I manually changed permissions so that games group have full write permission every file in /usr/share/games/eternal-lands/ directory and everything seems work ok. At least in /usr/share/games/eternal-lands/language/en/Encyclopedia wasn't write permission ok, they needed manually chmod.

 

I've re-enabled the AUTO_UPDATE in Gentoo today as I finally worked out why I disabled it. We need el to create missing directories for new languages we don't have. I've patched -r4 for this.

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×