[aur-general] going from secondlife to nunit as root problem
Paul Dufresne
dufresnep at gmail.com
Sun Feb 3 11:57:01 EST 2008
Well, in last 48 to 72 hours, I have been trying to build secondlife
from source on x86_64, with less and less hope after each hours.
Searching for help, I discovered libsecondlife:
http://www.libsecondlife.org/wiki/Main_Page
and http://opensimulator.org/ .
Being in .NET, I hope, or at least was hoping, to have much less
problems compiling it.
So I began to follow instructions at:
http://www.libsecondlife.org/wiki/Getting_Started#Linux
Seems we have in extra: mono, nant and subversion.
So I began to make a NUnit package:
===
# Contributor: Paul Dufresne <dufresnep at gmail.com>
pkgname=nunit
pkgver=2.4.6
pkgrel=1
pkgdesc="a unit-testing framework for all .Net languages"
arch=('i686' 'x86_64')
url="http://www.nunit.org/index.php"
license=('unknown')
depends=('mono')
makedepends=('mono' 'nant')
provides=()
conflicts=()
replaces=()
backup=()
groups=()
options=()
install=
source=("http://superb-west.dl.sourceforge.net/sourceforge/nunit/NUnit-${pkgver}-src.zip")
noextract=()
md5sums=('a422333d3516d75d5098568fb4984834')
build() {
cd $startdir/src/src
nant build-all || return 1
}
===
Well, the instructions suggest:
sudo nant build-all, well, I tought building in fakeroot would be
enough but this gives me:
===
==> Starting build()...
** (/usr/share/NAnt/bin/NAnt.exe:8561): CRITICAL **:
_wapi_shm_file_open: shared file
[/root/.wapi/shared_data-myhost-Linux-x86_64-328-11-0] open error:
Permission denied
** (/usr/share/NAnt/bin/NAnt.exe:8561): CRITICAL **: _wapi_shm_attach:
shared file [/root/.wapi/shared_data-myhost-Linux-x86_64-328-11-0]
open error
** ERROR **: file shared.c: line 346 (shm_semaphores_init): assertion
failed: (tmp_shared != NULL)
aborting...
PKGBUILD: line 22: 8561 Segmentation fault nant build-all
===
I don't really feel to run it as makepkg --asroot , as I feel it will
mess my installation.
So I am writing this 'Help!' message. ;-)
In case you are curious about my attempts at building a source port
for secondlife, my latest incarnation is:
===
# This does not work, maybe one day it will. ;-)
# Contributor: Paul Dufresne <dufresnep at gmail.com>
pkgname=secondlife
pkgver=1.18.5.3
pkgrel=1
pkgdesc="a 3-D virtual world entirely built and owned by its residents"
url="http://www.secondlife.com/"
license="GPL"
depends=('gtk2>2.0' 'nss' 'mesa' 'libgl' 'apr-util' 'libstdc++5'
'cairo' 'glib' 'atk' 'sdl' 'libvorbis' 'curl' 'boost'
'gdk-pixbuf' 'pango' # pangoft2 pangox pangoxft vorbisenc vorbisfile
# 'gmobile>2.0' 'gdk>2.0'
)
# the SConstruct have some info like:
# needs: cairo glib-2.0 (2.0???) atk gmobile-2.0 gdk-2.0
gdk-pixbuf-2.0 pango pangoft2
# pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile
makedepends=('scons' 'gcc34' 'flex' 'bison') # 'zlib' 'openssl'
'curl' 'c-ares')
arch=('x86_64') # not tested on 'i686', if you try remove ARCH=x86_64
on scons line
conflicts=('secondlife-bin') # does it?
install=secondlife.install
source=('secondlife.desktop' 'secondlife.install' 'secondlife.launcher'
"http://secondlife.com/developers/opensource/downloads/2007/11/slviewer-src-${pkgver}.tar.gz"
"http://secondlife.com/developers/opensource/downloads/2007/11/slviewer-artwork-${pkgver}.zip"
"'http://secondlife.com/developers/opensource/downloads/2007/11/slviewer-linux-libs-${pkgver}.tar.gz"
# 'http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz'
'http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz')
md5sums=('1e94b39e84e74321d40f0ab9fefd3db1'
'e8222152e75bd8859b72da028fb35963'
'067f489be9fd2280ce2e12ed94ea7950'
'c53755a73135168928b9c6f236eebaa6'
'5fdea9fbbd0a92b907c1a864a8c00160'
'd1264d2a70f64d8ef1f5fc5b28bcde63'
'31b014f75100dcb6105202b29e26bc4c')
build() {
cd $startdir/src/
msg "We don't include sound for now, this portage does not way
anyway, and adding this"
msg " force you to become root and rm -r src; rm -r pkg each time
when executed under fakeroot"
# msg "First, let's deal with fmod to have sound!"
# msg "it may make the result less open-source!"# the SConstruct
have some info like:
# needs: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango
pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile
# cd fmodapi375linux/
# cp api/inc/* ../linden/libraries/i686-linux/include/
# cp api/libfmod-3.75.so ../linden/libraries/i686-linux/lib_release_client/
# # was causing rights errors, but it seems I had decompressed files as root
# sleep 3
cd $startdir/src/linden
# Build the stuff
msg 'Building can take hours! Take a coffee break'
cd indra
#Following line is to do a quick check that run slow
#scons DISTCC=no BTARGET=client BUILD=releasenoopt MOZLIB=yes
#Following is what you would use for i686, but why would you want to
do that, as binary are already done
#scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes
# next is my line
# go to src/linden/indra, and do scons --help for the list of options and help
# STANDALONE=yes, will make it use g++ rather g++3.4, you can edit
SConstruct to fix this easily, but because makepkg will overwrite it,
well, ...
# and when using g++ (gcc 4.2.2), then it does not work because it
have new warning, and it is choosing to treat warnings as errors
#BUILD=release or releasenoopt and others, let's take releasenoop for
now, it does not compile anyway, why loose time
scons BUILD=releasenoopt ARCH=x86_64 BTARGET=client DISTCC=no
MOZLIB=yes FMOD=yes GSTREAMER=yes # STANDALONE=yes
# there is warning at the beginning of scons process, they may be
worth to read (if you understand them)
# Rename Data Directory
# mv SecondLife_i686_${pkgver}/ secondlife
# Install Desktop File
# install -D -m644 $startdir/src/secondlife.desktop \
# $startdir/pkg/usr/share/applications/secondlife.desktop
# Install Icon File
# install -D -m644 $startdir/src/secondlife/secondlife.ico \
# $startdir/pkg/usr/share/pixmaps/secondlife.ico
# Install Launcher
# install -d $startdir/pkg/usr/bin/
# install -D -m755 $startdir/src/secondlife.launcher \
# $startdir/pkg/usr/bin/secondlife
# Move Data to Destination Directory
# install -d $startdir/pkg/opt/
# mv secondlife/ $startdir/pkg/opt/
# # Change Permissions of files to root:games
# # chown -R root:20 $startdir/pkg/opt/secondlife
# # chmod -R g+rw $startdir/pkg/opt/secondlife
}
===
Or for a different version:
===
# This does not work, maybe one day it will. ;-)
# Contributor: Paul Dufresne <dufresnep at gmail.com>
pkgname=secondlife
pkgver=1.18.6.4
pkgrel=1
pkgdesc="a 3-D virtual world entirely built and owned by its residents"
url="http://www.secondlife.com/"
license="GPL"
depends=('gtk2>2.0' 'nss' 'mesa' 'libgl' 'apr-util' 'libstdc++5'
'cairo' 'glib' 'atk' 'sdl' 'libvorbis' 'curl' 'boost'
'gdk-pixbuf' 'pango' # pangoft2 pangox pangoxft vorbisenc vorbisfile
# 'gmobile>2.0' 'gdk>2.0'
)
# the SConstruct have some info like:
# needs: cairo glib-2.0 (2.0???) atk gmobile-2.0 gdk-2.0
gdk-pixbuf-2.0 pango pangoft2
# pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile
makedepends=('scons' 'gcc34' 'flex' 'bison') # 'zlib' 'openssl'
'curl' 'c-ares')
arch=('x86_64') # not tested on 'i686', if you try remove ARCH=x86_64
on scons line
conflicts=('secondlife-bin') # does it?
install=secondlife.install
source=('secondlife.desktop' 'secondlife.install' 'secondlife.launcher'
'http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-1.18.6.4.tar.gz'
'http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-artwork-RC-1.18.6.4.zip'
'http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-linux-libs-RC-1.18.6.4.tar.gz'
# 'http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz'
'http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz')
md5sums=('1e94b39e84e74321d40f0ab9fefd3db1'
'e8222152e75bd8859b72da028fb35963'
'067f489be9fd2280ce2e12ed94ea7950'
'175e5e2a27cbf461c94059b660caca96'
'c21f4865537f03086864b9c359a5113b'
'6610c48ac2208c3a724b56e9bcbe6d84'
'31b014f75100dcb6105202b29e26bc4c')
build() {
cd $startdir/src/
msg "We don't include sound for now, this portage does not way
anyway, and adding this"
msg " force you to become root and rm -r src; rm -r pkg each time
when executed under fakeroot"
# msg "First, let's deal with fmod to have sound!"
# msg "it may make the result less open-source!"# the SConstruct
have some info like:
# needs: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango
pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile
# cd fmodapi375linux/
# cp api/inc/* ../linden/libraries/i686-linux/include/
# cp api/libfmod-3.75.so ../linden/libraries/i686-linux/lib_release_client/
# # was causing rights errors, but it seems I had decompressed files as root
# sleep 3
cd $startdir/src/linden
# Build the stuff
msg 'Building can take hours! Take a coffee break'
cd indra
#Following line is to do a quick check that run slow
#scons DISTCC=no BTARGET=client BUILD=releasenoopt MOZLIB=yes
#Following is what you would use for i686, but why would you want to
do that, as binary are already done
#scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes
# next is my line
# go to src/linden/indra, and do scons --help for the list of options and help
# STANDALONE=yes, will make it use g++ rather g++3.4, you can edit
SConstruct to fix this easily, but because makepkg will overwrite it,
well, ...
# and when using g++ (gcc 4.2.2), then it does not work because it
have new warning, and it is choosing to treat warnings as errors
#BUILD=release or releasenoopt and others, let's take releasenoop for
now, it does not compile anyway, why loose time
scons BUILD=releasenoopt ARCH=x86_64 BTARGET=client DISTCC=no
MOZLIB=yes FMOD=yes GSTREAMER=yes # STANDALONE=yes
# there is warning at the beginning of scons process, they may be
worth to read (if you understand them)
# Rename Data Directory
# mv SecondLife_i686_${pkgver}/ secondlife
# Install Desktop File
# install -D -m644 $startdir/src/secondlife.desktop \
# $startdir/pkg/usr/share/applications/secondlife.desktop
# Install Icon File
# install -D -m644 $startdir/src/secondlife/secondlife.ico \
# $startdir/pkg/usr/share/pixmaps/secondlife.ico
# Install Launcher
# install -d $startdir/pkg/usr/bin/
# install -D -m755 $startdir/src/secondlife.launcher \
# $startdir/pkg/usr/bin/secondlife
# Move Data to Destination Directory
# install -d $startdir/pkg/opt/
# mv secondlife/ $startdir/pkg/opt/
# # Change Permissions of files to root:games
# # chown -R root:20 $startdir/pkg/opt/secondlife
# # chmod -R g+rw $startdir/pkg/opt/secondlife
}
===
The main problem encountered being:
https://jira.secondlife.com/browse/VWR-4469
But also, if replacing by simply:
# include <ft2build.h>
which may not be a correct fix...
Then I got gdk not installed problem.
But for now, help is required on nunit.
Well, maybe it not even mandatory for libsecondlife.
Well, maybe I am becoming tired.
More information about the aur-general
mailing list