project-navigation
Personal tools

Author Topic: Fullmoon build of Alien Invasion  (Read 5144 times)

Offline cazfi

  • Cannon Fodder
  • **
  • Posts: 7
    • View Profile
Fullmoon build of Alien Invasion
« on: September 08, 2011, 11:52:37 am »
In Open Source community I have been most active in Freeciv ( http://www.freeciv.org/ ) development, but I also run a couple of one-man-projects, and have made minor contributions to other projects. One of the projects of my own is fullmoon ( http://www.cazfi.net/fullmoon/ ) build tool for linux.

I'm now adding Aline Invasion build as "test case" (lives in "examples" -directory) for fullmoon. I hope that my efforts on that front will also benefit Alien Invasion project quality. I'm not proposing that you start using fullmoon at this point, but as I myself test how it works with various projects I've often discovered issues in those projects.

The only thing I've encountered so far was that when fullmoon first automatically selected debian packet building mode (I've since forced it to make configure/make build only), dependencies failed to install because of conflicting packet already in system. I'll come back with the details when I have opportunity to reproduce this. I assume that you are depending in some specific package when you should depend on virtual package provided by several different real packages.

Offline cazfi

  • Cannon Fodder
  • **
  • Posts: 7
    • View Profile
Re: Fullmoon build of Alien Invasion
« Reply #1 on: September 08, 2011, 01:02:31 pm »
Turns out that debian packet build conflict not was about dependencies, but build of AI itself is set to conflict with nvidia-glx. I don't really see why should presence of nvidia-glx package prevent building of AI packages.
At least configure&make build has worked all right with nvidia-glx present. I'll later test debian packet build with simply build conflict definition removed - can't do just now due to other dependency problems (cannot install binutils-dev from repository as binutils itself is incompatible version - AI seems to be first project I'm building that requires binutils-dev)

Offline Mattn

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4831
  • https://github.com/mgerhardy/vengi
    • View Profile
    • Vengi Voxel Tools
Re: Fullmoon build of Alien Invasion
« Reply #2 on: September 08, 2011, 06:57:57 pm »
because ati users don't want the nvidia-glx package

Offline Mattn

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4831
  • https://github.com/mgerhardy/vengi
    • View Profile
    • Vengi Voxel Tools
Re: Fullmoon build of Alien Invasion
« Reply #3 on: September 08, 2011, 06:58:35 pm »
oh and binutils-dev is for generating crash reports with stacktraces

Offline Mattn

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4831
  • https://github.com/mgerhardy/vengi
    • View Profile
    • Vengi Voxel Tools
Re: Fullmoon build of Alien Invasion
« Reply #4 on: September 08, 2011, 07:01:16 pm »
and last but not least - where can we dl the debs? imo it would be cooler to have the deb stuff integrated in our buildbot - but having them somewhere else is nice, too

what is the difference between buildbot and fullmoon?

Offline cazfi

  • Cannon Fodder
  • **
  • Posts: 7
    • View Profile
Re: Fullmoon build of Alien Invasion
« Reply #5 on: September 08, 2011, 09:47:47 pm »
because ati users don't want the nvidia-glx package
Well, nothing forces them to install it even if it's not declared outright illegal thing to have while compiling Alien Invasion. I have nvidia card (and I have failed to get open source driver to work well enough, so am forced to use proprietary nvidia-glx) and I too want to compile Alien Invasion. Note that this Build-Conflicts is affecting packet building process only anyway - it's not affecting installation of those packets.

I removed both "Build-Conflicts: nvidia-glx" and "Build-Depends: binutils-dev" and debian packets seemed to build all right. Don't know what explains how missing binutils-dev had no consequences if it really is needed as you say.

One interesting thing is that you really have to use "make deb" as your build instructions say. Generic debian packet building method "dpkg-buildpackage -rfakeroot" failed due to missing Makefile (existing one got removed and there was no new one generated)

Offline Mattn

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4831
  • https://github.com/mgerhardy/vengi
    • View Profile
    • Vengi Voxel Tools
Re: Fullmoon build of Alien Invasion
« Reply #6 on: September 09, 2011, 06:47:56 am »
the problem is that we are searching for dependencies by checking the linked libs. so whenever an ati user builds the package the deps will include the ati package that includes libgl.so/libglx.so. this is maybe something you dont care when the package is only for you. if you know a better way or a workaround, please let me know

Offline cazfi

  • Cannon Fodder
  • **
  • Posts: 7
    • View Profile
Re: Fullmoon build of Alien Invasion
« Reply #7 on: September 12, 2011, 10:12:26 pm »
Yeah, debian packaging does that search for linked libraries automatically, but I still don't get it why is AI linked against libgl/libglx.so if it's not needed. Sounds like a bug somewhere (not necessarily in AI) Do you have any more already researched information available offhand, or should I investigate this myself? Maybe I'll setup some virtual machines with absolutely minimum and somewhat polluted environments for test builds.

So far I have been producing packets just to test the build system - resulting packets have been simply discarded. But if you have any use for such occasional packets, I can of course provide them for download. Due to capacity problems I can host any such packet only temporarily (~48h) - you need to download them and host yourself somewhere.

Offline cazfi

  • Cannon Fodder
  • **
  • Posts: 7
    • View Profile
Re: Fullmoon build of Alien Invasion
« Reply #8 on: October 16, 2011, 10:46:13 pm »
Ok, I were just stupid in binutils-dev issue. AI compiles fine without it, but that's only because configure -script disables features it's required for if it's missing.

About produced debian packets depending nvidia-glx if it's present at build time, here is control information from such packets.

ufoai_2.4-dev_amd64.deb:
Code: [Select]
Package: ufoai
Version: 2.4-dev
Architecture: amd64
Maintainer: UFOAI Team <tlh2000@users.sourceforge.net>
Installed-Size: 1039251
Depends: libc6 (>= 2.3), libcurl3 (>= 7.16.2-1), libgl1-mesa-glx | libgl1, libjpeg8 (>= 8c), libmxml1, libogg0 (>= 1.0rc3), libpng12-0 (>= 1.2.13-4), libsdl-image1.2 (>= 1.2.10), libsdl-mixer1.2 (>= 1.2.6), libsdl-ttf2.0-0, libsdl1.2debian (>= 1.2.10-1), libtheora0 (>= 0.0.0.alpha7.dfsg), libvorbis0a (>= 1.1.2), zlib1g (>= 1:1.2.0), ttf-freefont, ttf-dejavu, ttf-thai-tlwg, ttf-wqy-zenhei, ttf-unfonts-core, ttf-unfonts-extra, ttf-umefont
Suggests: blender, ufoai-uforadiant
Conflicts: ufoai-data, ufoai-server
Section: games
Priority: optional
Homepage: http://ufoai.sf.net
Description: UFO: Alien Invasion - build your team and stop the aliens
 "UFO: Alien Invasion" is a game inspired by the XCOM "UFO" series.
 .
 As manager of an international military force dedicated to stop the
 Alien Invasion, you prepare your soldiers and attack the aliens on
 various sites on the Earth.
 .
 A multiplayer mode is also available.

ufoai-server_2.4-dev_amd64.deb:
Code: [Select]
Package: ufoai-server
Source: ufoai
Version: 2.4-dev
Architecture: amd64
Maintainer: UFOAI Team <tlh2000@users.sourceforge.net>
Installed-Size: 403217
Depends: libc6 (>= 2.3), libcurl3 (>= 7.16.2-1), libjpeg8 (>= 8c), libpng12-0 (>= 1.2.13-4), libsdl-image1.2 (>= 1.2.10), libsdl1.2debian (>= 1.2.10-1), zlib1g (>= 1:1.1.4)
Conflicts: ufoai, ufoai-server-data
Section: games
Priority: optional
Homepage: http://ufoai.sf.net
Description: UFO: Alien Invasion - standalone game server
 "UFO: Alien Invasion" is a game inspired by the XCOM "UFO" series.
 .
 This package includes the standalone game server.
 It is only needed if you want to setup a permanent game server.

ufoai-uforadiant_2.4-dev_amd64.deb:
Code: [Select]
Package: ufoai-uforadiant
Source: ufoai
Version: 2.4-dev
Architecture: amd64
Maintainer: UFOAI Team <tlh2000@users.sourceforge.net>
Installed-Size: 98717
Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.3), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libgl1-mesa-glx | libgl1, libglib2.0-0 (>= 2.24.0), libglu1-mesa | libglu1, libgtk2.0-0 (>= 2.14.0), libgtkglext1, libgtksourceview2.0-0 (>= 2.10.0), libice6 (>= 1:1.0.0), libogg0 (>= 1.0rc3), libopenal1, libpango1.0-0 (>= 1.14.0), libsm6, libstdc++6 (>= 4.6), libvorbis0a (>= 1.1.2), libvorbisfile3 (>= 1.1.2), libx11-6, libxml2 (>= 2.7.4), libxmu6, libxt6, zlib1g (>= 1:1.1.4)
Conflicts: ufoai-radiant, ufoai-tools
Section: games
Priority: optional
Homepage: http://ufoai.sf.net
Description: UFO: Alien Invasion - map-building tool
 "UFO: Alien Invasion" is a game inspired by the XCOM "UFO" series.
 .
 This package includes the map-building tool UFORadiant. It's based on
 GTKRadiant 1.5.