Difference between revisions of "User:Cron Stardust"
(→Get source and "accessories": LibNDOFDev hit with big stick...) |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Just another scripter about trying to make things better. | Just another scripter about trying to make things better. | ||
== Compiling on Gentoo AMD64 == | |||
Note, that the below tends to get stale rapidly... And I'm not all that great with keeping non-inline documentation up-to-date on my own... | |||
(Note that all this is now EXTREMELY stale, and won't work... I'm leaving it here for now though in case it might be handy later.) | |||
=== Needed packages === | === Needed packages === | ||
Line 9: | Line 10: | ||
Make sure the following packages are installed: | Make sure the following packages are installed: | ||
* dev-libs/boost | * dev-libs/boost | ||
* >=media-libs/gstreamer-0.10 | * >=media-libs/gstreamer-0.10 | ||
* media-libs/gst-plugins-base | * media-libs/gst-plugins-base | ||
* /dev-libs/expat (seems to link against both libexpat.so.1 AND the older libexpat.so.0... Had to create a symlink to an edition of libexpat.so.0 in /usr/lib/ from a copy I found floating in another package on my system...) | |||
(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!) | (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!) | ||
Line 22: | Line 23: | ||
* llfreetype2 | * llfreetype2 | ||
* pango-1.0 | * pango-1.0 | ||
No longer needed: | |||
* dev-util/scons - dependency removed near viewer version 1.21, or so I've heard... | |||
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' | |||
If the above two commands do not return anything when run, then you have no missing packages. | |||
=== Get source and "accessories" === | === Get source and "accessories" === | ||
Line 58: | Line 71: | ||
#* cd .. | #* cd .. | ||
#* mkdir "linden/libraries/include/ndofdev/" | #* mkdir "linden/libraries/include/ndofdev/" | ||
#* cp libndofdev/ndofdev_external.h "linden/ | #* cp libndofdev/ndofdev_external.h "linden/libraries/include/ndofdev/" | ||
#* cp libndofdev/libndofdev.a "linden/libraries/ | #* cp libndofdev/libndofdev.a "linden/libraries/$(arch)-linux/lib_release_client/" | ||
# Finally, apply any patches to the source you feel like... | # Finally, apply any patches to the source you feel like... | ||
#* For me this was needed: [https://jira.secondlife.com/browse/VWR-9499 VWR-9499] | #* For me this was needed: [https://jira.secondlife.com/browse/VWR-9499 VWR-9499] | ||
Line 70: | Line 83: | ||
# Configure the tree | # Configure the tree | ||
#* cd "linden/indra" | #* cd "linden/indra" | ||
#* ./develop.py --standalone -t Release -N | #* ./develop.py --standalone -t Release -N cmake | ||
# Compile the viewer | |||
#* ./develop.py --standalone -t Release -N build | |||
#* cd ../.. | #* cd ../.. | ||
And you should | And you should have a new client. At least it worked for me against SVN revision 1619... yay! |
Latest revision as of 22:26, 7 June 2011
Just another scripter about trying to make things better.
Compiling on Gentoo AMD64
Note, that the below tends to get stale rapidly... And I'm not all that great with keeping non-inline documentation up-to-date on my own... (Note that all this is now EXTREMELY stale, and won't work... I'm leaving it here for now though in case it might be handy later.)
Needed packages
Make sure the following packages are installed:
- dev-libs/boost
- >=media-libs/gstreamer-0.10
- media-libs/gst-plugins-base
- /dev-libs/expat (seems to link against both libexpat.so.1 AND the older libexpat.so.0... Had to create a symlink to an edition of libexpat.so.0 in /usr/lib/ from a copy I found floating in another package on my system...)
(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
No longer needed:
- dev-util/scons - dependency removed near viewer version 1.21, or so I've heard...
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'
If the above two commands do not return anything when run, then you have no missing packages.
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.
- 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/libraries/include/ndofdev/"
- cp libndofdev/libndofdev.a "linden/libraries/$(arch)-linux/lib_release_client/"
- 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!