# [SOLVED] LevelHead

## Andry77

Witam

Czy ktoś instalował grę LevelHead na gentoo?

http://selectparks.net/~julian/levelhead/

Mam problem z kompilacją osgcal.

Udało się komuś?

Instaluję z roslin uberlay.Last edited by Andry77 on Mon May 11, 2009 4:02 pm; edited 2 times in total

----------

## mziab

A jaki masz dokładnie problem? Niektórym ludziom podobno działa. U mnie nie, ale akurat osgcal przeszło bez problemu.

----------

## Andry77

 *mziab wrote:*   

> A jaki masz dokładnie problem? Niektórym ludziom podobno działa. U mnie nie, ale akurat osgcal przeszło bez problemu.

 

Możesz podać konfiguracje

make.conf

kernela

?

Mi przy osgcal wywala

 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -O2 -march=pentium3 -pipe

-fomit-frame-pointer -I./include -I/usr/include/libxml2 -I/usr/include/glib-2.0

-I/usr/lib/glib-2.0/include -O2 -march=pentium3 -pipe -fomit-frame-pointer -MT

HardwareModel.lo -MD -MP -MF .deps/HardwareModel.Tpo -c

src/osgCal/HardwareModel.cpp  -fPIC -DPIC -o .libs/HardwareModel.o              

src/osgCal/HardwareModel.cpp: In member function 'void

osgCal::GlueCalHardwareModel::getAmbientColor(unsigned char*)':                 

src/osgCal/HardwareModel.cpp:247: error: invalid initialization of reference of

type 'CalCoreMaterial::Color&' from expression of type 'const

CalCoreMaterial::Color'                                                         

src/osgCal/HardwareModel.cpp: In member function 'void

osgCal::GlueCalHardwareModel::getDiffuseColor(unsigned char*)':                 

src/osgCal/HardwareModel.cpp:278: error: invalid initialization of reference of

type 'CalCoreMaterial::Color&' from expression of type 'const

CalCoreMaterial::Color'                                                         

src/osgCal/HardwareModel.cpp: In member function 'void

osgCal::GlueCalHardwareModel::getSpecularColor(unsigned char*)':                

src/osgCal/HardwareModel.cpp:308: error: invalid initialization of reference of

type 'CalCoreMaterial::Color&' from expression of type 'const

CalCoreMaterial::Color'                                                         

src/osgCal/HardwareModel.cpp: In member function 'int

osgCal::GlueCalHardwareModel::addVertex(osgCal::GlueCalHardwareModel::CalHardwareMesh&,

int, CalCoreSubmesh*, int)':                                                    

src/osgCal/HardwareModel.cpp:762: error: 'memcpy' was not declared in this

scope

src/osgCal/HardwareModel.cpp:773: error: 'memset' was not declared in this

scope

src/osgCal/HardwareModel.cpp:784: error: 'memset' was not declared in this

scope

src/osgCal/HardwareModel.cpp:801: error: 'memset' was not declared in this

scope

make[2]: *** [HardwareModel.lo] Error 1

make[2]: *** Waiting for unfinished jobs....

 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -O2 -march=pentium3 -pipe

-fomit-frame-pointer -I./include -I/usr/include/libxml2 -I/usr/include/glib-2.0

-I/usr/lib/glib-2.0/include -O2 -march=pentium3 -pipe -fomit-frame-pointer -MT

IOCFG.lo -MD -MP -MF .deps/IOCFG.Tpo -c src/osgCal/IOCFG.cpp -o IOCFG.o

>/dev/null 2>&1

 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -O2 -march=pentium3 -pipe

-fomit-frame-pointer -I./include -I/usr/include/libxml2 -I/usr/include/glib-2.0

-I/usr/lib/glib-2.0/include -O2 -march=pentium3 -pipe -fomit-frame-pointer -MT

CoreModel.lo -MD -MP -MF .deps/CoreModel.Tpo -c src/osgCal/CoreModel.cpp -o

CoreModel.o >/dev/null 2>&1

make[2]: Leaving directory

`/var/tmp/portage/media-libs/osgcal-0.1.44/work/osgcal-0.1.44'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory

`/var/tmp/portage/media-libs/osgcal-0.1.44/work/osgcal-0.1.44'

make: *** [all] Error 2

 *

 * ERROR: media-libs/osgcal-0.1.44 failed.

 * Call stack:

 *               ebuild.sh, line   48:  Called src_compile

 *             environment, line  118:  Called _eapi0_src_compile

 *               ebuild.sh, line  591:  Called _eapi2_src_compile

 *               ebuild.sh, line  625:  Called die

 * The specific snippet of code:

 *              emake || die "emake failed"

 *  The die message:

 *   emake failed

 *

 * If you need support, post the topmost build error, and the call stack if

relevant.

 * A complete build log is located at

'/var/tmp/portage/media-libs/osgcal-0.1.44/temp/build.log'.

 * The ebuild environment file is located at

'/var/tmp/portage/media-libs/osgcal-0.1.44/temp/environment'.

 * This ebuild is from an overlay named 'roslin':

'/usr/local/portage/layman/roslin/'

 *

>>> Failed to emerge media-libs/osgcal-0.1.44, Log file:

>>>  '/var/tmp/portage/media-libs/osgcal-0.1.44/temp/build.log'

----------

## DtZ

```
src/osgCal/HardwareModel.cpp:762: error: 'memcpy' was not declared in this scope
```

Używasz pewnie gcc 4.3 i stąd ten problem. Funkcje memcpy i memset są zadeklarowane w string.h ew dla c++ cstring.

----------

## Andry77

 *DtZ wrote:*   

> 
> 
> ```
> src/osgCal/HardwareModel.cpp:762: error: 'memcpy' was not declared in this scope
> ```
> ...

 

Sprawdzalem z 4.1 a nawet z v3

----------

## mziab

Widzę, że z ebuildem jest parę innych problemów, niezwiązanych z samą kompilacją. Właśnie je poprawiłem.

W każdym razie, u mnie na gcc 4.3.3 kompilacja przechodzi bez problemu:

emerge --info:

```
Portage 2.2_rc31 (default/linux/x86/2008.0/desktop, gcc-4.3.3, glibc-2.8_p20080602-r1, 2.6.29-gentoo-r1 i686)

=================================================================                                            

System uname: Linux-2.6.29-gentoo-r1-i686-Intel-R-_Core-TM-2_Duo_CPU_E6750_@_2.66GHz-with-glibc2.0           

Timestamp of tree: Thu, 30 Apr 2009 11:30:01 +0000                                                           

distcc 3.0 i686-pc-linux-gnu [disabled]                                                                      

app-shells/bash:     3.2_p39                                                                                 

dev-java/java-config: 2.1.7                                                                                  

dev-lang/python:     2.5.4-r2                                                                                

dev-util/cmake:      2.6.3-r1                                                                                

sys-apps/baselayout: 2.0.0                                                                                   

sys-apps/openrc:     0.4.3-r2                                                                                

sys-apps/sandbox:    1.9                                                                                     

sys-devel/autoconf:  2.63                                                                                    

sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2                                                         

sys-devel/binutils:  2.18-r3                                                                                 

sys-devel/gcc-config: 1.4.0-r4                                                                               

sys-devel/libtool:   1.5.26

virtual/os-headers:  2.6.27-r2

ACCEPT_KEYWORDS="x86"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.2/env /usr/kde/4.2/share/config /usr/kde/4.2/shutdown /usr/share/config /usr/share/hddtemp /usr/share/mc/extfs/extfs.ini"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-O2 -march=native -fomit-frame-pointer -pipe"

DISTDIR="/var/tmp/distfiles"

FEATURES="collision-protect distlocks fixpackages noinfo parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl/"

LANG="pl_PL"

LC_ALL="pl_PL"

LDFLAGS="-Wl,-O1"

LINGUAS="pl"

MAKEOPTS="-j5"

PKGDIR="/var/tmp/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/banned_branches"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/tmp/layman/sunrise /usr/local/portage /home/mziab/roslin"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X a52 aac acpi alsa atm bash-completion berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups curl custom-cxxflags dbus dhcp dri dvd dvdr dvdread encode fam flac ftp gdbm gif gtk hal iconv inotify ipv6 joystick jpeg kde kdehiddenvisibility kdeprefix lame libnotify mad matroska midi mmx mmxext mp3 mpeg mudflap ncurses newspr nls nptl nptlonly ogg opengl pam pcre pdf perl pic png ppds pppd python qt qt3support qt4 quicktime readline rtc sdl session smp spell spl sse sse2 sse3 ssl ssse3 startup-notification svg sysfs tcpd tiff truetype usb vorbis win32codecs x264 x86 xcb xcomposite xinerama xml xorg xulrunner xv zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" USERLAND="GNU" VIDEO_CARDS="none nvidia"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
```

----------

## yaq

Czy trzymasz sie konkretnych wersji pakietow, podanych jako zaleznosci na stronie? Te zaleznosci sa troche stare i nie wiem czy trzeba nimi brudzic system, czy mozna skorzystac z aktualnych z portage?

----------

## Andry77

 *yaq wrote:*   

> Czy trzymasz sie konkretnych wersji pakietow, podanych jako zaleznosci na stronie? Te zaleznosci sa troche stare i nie wiem czy trzeba nimi brudzic system, czy mozna skorzystac z aktualnych z portage?

 

Ebuild (levelhead) wymusza instalacje pakietow w odpowiednich wersjach.

----------

## jackii

Witam, u mnie wyłożył się ARToolKit z powodu braku źródeł jądra, po ich dołożeniu otrzymuję

```
>>> Source unpacked in /var/tmp/portage/games-puzzle/levelhead-9999/work

>>> Compiling source in /var/tmp/portage/games-puzzle/levelhead-9999/work/levelhead ...

make -j2 -s 

../src/osgART/Video/ARToolKit/ARToolKitVideo.cpp:71:10: warning: missing terminating " character

../src/osgART/Video/ARToolKit/ARToolKitVideo.cpp: In member function ‘virtual void ARToolKitVideo::open()’:

../src/osgART/Video/ARToolKit/ARToolKitVideo.cpp:101: error: ‘getenv’ was not declared in this scope

make: *** [osgart_artoolkit_ARToolKitVideo.o] Błąd 1

make: *** Oczekiwanie na niezakończone zadania....

../src/levelHead/levelHead.cpp: In function ‘osg::Node* addCharacter()’:

../src/levelHead/levelHead.cpp:296: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp: In function ‘int main(int, char**)’:

../src/levelHead/levelHead.cpp:1279: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1311: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1313: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1591: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1592: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1593: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1594: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1595: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1596: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1667: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1668: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1669: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1670: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1671: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1672: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1724: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1725: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1726: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1727: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1728: warning: deprecated conversion from string constant to ‘char*’

../src/levelHead/levelHead.cpp:1729: warning: deprecated conversion from string constant to ‘char*’

 * 

 * ERROR: games-puzzle/levelhead-9999 failed.
```

W sumie szkoda, a z innej beczki - gdzieś można zdobyć te kostki?

----------

## unK

Dopisz 

```
#include <cstdlib>
```

 do ARToolKitVideo.cpp.

----------

## jackii

Dziękuję, skompilowało się. Niestety przy próbie uruchomienia mam:

```
CullSettings::readEnvironmentalVariables()

DynamicLibrary::getLibraryHandle( osgart_artoolkit.so) - dlopen(): ./osgart_artoolkit.so: cannot open shared object file: No such file or directory

DynamicLibrary::failed loading "osgart_artoolkit.so"

osgART::VideoManager::createFunc(fileName) could not open osgart_artoolkit

VideoManager::createVideoFromPlugin(plugin): Plugin 'osgart_artoolkit' could not be loaded!

Could not initialize video!

osgART::TrackerManager::destroy() Delete the tracker manager
```

----------

## Andry77

 *jackii wrote:*   

> Dziękuję, skompilowało się. Niestety przy próbie uruchomienia mam:
> 
> ```
> CullSettings::readEnvironmentalVariables()
> 
> ...

 

No to mamy ten sam problem.

Ma ktos jakis pomysl?

----------

## mziab

Po pierwsze, gra szuka bibliotek (a później modeli itd.) w złym miejscu. Wrapper uruchamiający to cudo pójdzie do poprawki. Druga sprawa, że później nadziałem się na brakujące symbole od libjpeg. Pomogło podlinkowanie -ljpeg w ARToolKit.

Swoją drogą, ten ostatni to straszne dziadostwo. Przy rekompilacji z innym USE warto go wywalić z systemu, bo kompilowana wersja linkuje się z już istniejącą w systemie :/ Z kolei levelhead wywala mi się z brakującym getenv tylko, jeśli skompiluję ARToolKit z USE="gstreamer". Wcześniej kompilowałem bez, stąd nie miałem problemu  :Smile: 

W każdym razie, mimo przeróżnych zabiegów nie udało mi się tego naprawić. Po obejściu wyżej wymienionych błędów i skompilowaniu ARToolKit z USE="gstreamer" dostaję taki błąd przy uruchamianiu levelheada:

```
failed to put GStreamer into PAUSE state
```

Co ciekawe, autor ebuildów do tego cuda twierdzi, że wszystko u niego działa. I chyba tylko u niego  :Smile:  Jak na razie z tego co słyszę, to każdy ma z levelheadem jakieś problemy, w tym czy w innym miejscu. Sprawa wymaga wyjaśnienia.

EDIT: Załadowanie libv4l pomogło. Poprawiłem wszystkie błędy, jakie dostrzegłem. Commit poszedł. Powinno działać  :Smile: 

----------

## Andry77

U mnie dziala.

Dzieki mziab.

Edit 2010-07-12

Szkoda że juz zniknął ebuild z roslin.

Edit 2010-07-14

by mziab:

 *Quote:*   

> 
> 
> levelhead wyleciał z repo na początku marca ze względu na martwy upstream i zależności używające qt3. Jeśli nadal masz ochotę to zainstalować, mogę jedynie odesłać do snapshotu repo sprzed usunięcia levelheada -> http://gitorious.org/roslin/roslin/archive-tarball/3a66926f
> 
> 

 

----------

