Difference between revisions of "User:Cron Stardust"
(→Get source and "accessories": Added note that xmlstarlet is required.) |
(→Needed packages: Following advice from Morgaine Dinova and adding the commands to see library dependencies.) |
||
Line 22: | Line 22: | ||
* llfreetype2 | * llfreetype2 | ||
* pango-1.0 | * pango-1.0 | ||
Where I got some of the list of possibles was by following the advice of [[User:Morgaine Dinova|Morgaine Dinova]] as posted in both my discussion area, and on SLDEV. Namely running the following command from my linden directory: | |||
LD_LIBRARY_PATH="indra/viewer-linux-$(arch)-release/newview/packaged/lib" ldd indra/viewer-linux-$(arch)-release/newview/packaged/bin/do-not-directly-run-secondlife-bin | sed -r -e 's/(^[ \t]*)|( .*$)|(.*\/)//g' -e 's/\.so.*/\.so/' | xargs equery belongs -n | |||
Other commands can be used to find out what libraries you are missing, when run from the packaged folder: | |||
ldd bin/do-not-directly-run-secondlife-bin | grep 'not found' | |||
LD_LIBRARY_PATH="lib" ldd bin/do-not-directly-run-secondlife-bin | grep 'not found' | |||
Note that if the above two commands return nothing, then there are no missing dependencies for that compilation of the viewer. | |||
=== Get source and "accessories" === | === Get source and "accessories" === |
Revision as of 21:18, 11 January 2009
Just another scripter about trying to make things better.
Also I'm another URU immigrant. Started playing Unti'l URU about 3 months after D'Mala was put up, now playing here after D'Mala was shutdown for Live. I love the Myst universe, but I have yet to pay for any online game. Even one that good.
Compiling on Gentoo AMD64
Needed packages
Make sure the following packages are installed:
- dev-libs/boost
- dev-util/scons
- >=media-libs/gstreamer-0.10
- media-libs/gst-plugins-base
(More will be found when I study my world file, and maybe when I rebuild my system... If you know a package is needed, by all means append it to the list!)
Possibles:
- ELFIO
- atk-1.0
- glib-2.0
- gtk-2.0
- llfreetype2
- pango-1.0
Where I got some of the list of possibles was by following the advice of Morgaine Dinova as posted in both my discussion area, and on SLDEV. Namely running the following command from my linden directory:
LD_LIBRARY_PATH="indra/viewer-linux-$(arch)-release/newview/packaged/lib" ldd indra/viewer-linux-$(arch)-release/newview/packaged/bin/do-not-directly-run-secondlife-bin | sed -r -e 's/(^[ \t]*)|( .*$)|(.*\/)//g' -e 's/\.so.*/\.so/' | xargs equery belongs -n
Other commands can be used to find out what libraries you are missing, when run from the packaged folder:
ldd bin/do-not-directly-run-secondlife-bin | grep 'not found' LD_LIBRARY_PATH="lib" ldd bin/do-not-directly-run-secondlife-bin | grep 'not found'
Note that if the above two commands return nothing, then there are no missing dependencies for that compilation of the viewer.
Get source and "accessories"
If this reads like a script, it's because that's what I built for myself and this was taken from the process I use there.
Also note that for the glh_linear step, you need to have app-text/xmlstarlet installed. You could pull the download source from install.xml yourself, but that's more complex. In the near future I hope to either no longer need that step, or to be able to simplify it even further.
- Make a directory to put all the stuff into...
- mkdir SLDev64
- cd SLDev64
- Get the source.
- mkdir linden
- svn checkout --non-interactive "https://svn.secondlife.com/svn/linden/trunk" linden/
- Get the latest artwork.
- file_url="$(grep -m 1 "^SLASSET_ART=" "linden/doc/asset_urls.txt" | cut -d= -f2)"
- file_name="$(basename "$file_url")"
- wget -nc "$file_url"
- unzip -oq "$file_name"
- Get the libs
- file_url="$(grep -m 1 "^SLASSET_LIBS_LINUXI386=" "linden/doc/asset_urls.txt" | cut -d= -f2)"
- file_name="$(basename "$file_url")"
- wget -nc "$file_url"
- tar -xf "$file_name"
- Get glh_linear. For some reason it's not auto-included when building stand-alone! VWR-9005
- file_url="$(xml select -t -c "//key[text()='glh_linear']/following-sibling::map[1]/key[text()='packages']/following-sibling::map[1]/key[text()='linux64']/following-sibling::map[1]/uri/text()" "linden/install.xml")"
- file_name="$(basename "$file_url")"
- wget -nc "$file_url"
- cd "linden"
- tar -xf "../$file_name"
- cd ..
- Now for a library that is not included by default, but is needed, NDOF. VWR-5297, VWR-10579 and [1]
- file_url="http://www.aaue.dk/~janoc/files/software/linux/spacenav/libndofdev-0.2.tar.gz"
- file_name="$(basename "$file_url")"
- wget -nc "$file_url"
- tar -xf "$file_name"
- cd "libndofdev"
- make
- cd ..
- mkdir "linden/libraries/include/ndofdev/"
- cp libndofdev/ndofdev_external.h "linden/indra/newview/"
- cp libndofdev/libndofdev.a "linden/libraries/include/ndofdev/"
- Finally, apply any patches to the source you feel like...
Building the viewer
Also from a process worked out in a script...
- Configure the tree
- cd "linden/indra"
- ./develop.py --standalone -t Release -N cmake
- Compile the viewer
- ./develop.py --standalone -t Release -N build
- cd ../..
And you should have a new client. At least it worked for me against SVN revision 1619... yay!