[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