Difference between revisions of "User:Cron Stardust"

From Second Life Wiki
Jump to navigation Jump to search
(→‎Needed packages: Following advice from Morgaine Dinova and adding the commands to see library dependencies.)
(→‎Get source and "accessories": Moved the target locations for the NDOF header and library file to a better suited location.)
Line 23: Line 23:
* 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:
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
     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


Line 30: Line 30:
   LD_LIBRARY_PATH="lib" 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.
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" ===
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.
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...
# Make a directory to put all the stuff into...
Line 69: Line 67:
#* cd ..
#* cd ..
#* mkdir "linden/libraries/include/ndofdev/"
#* mkdir "linden/libraries/include/ndofdev/"
#* cp libndofdev/ndofdev_external.h "linden/indra/newview/"
#* cp libndofdev/ndofdev_external.h "linden/libraries/include/ndofdev/"
#* cp libndofdev/libndofdev.a "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...
# 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]

Revision as of 18:13, 2 February 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'

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.

  1. Make a directory to put all the stuff into...
    • mkdir SLDev64
    • cd SLDev64
  2. Get the source.
  3. 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"
  4. 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"
  5. 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 ..
  6. Now for a library that is not included by default, but is needed, NDOF. VWR-5297, VWR-10579 and [1]
  7. Finally, apply any patches to the source you feel like...
    • For me this was needed: VWR-9499
    • Also this fixes an issue with using NVidia OpenGL headers: VWR-9557
    • And to fix CMake to handle the location for NDOFDEV: VWR-10579

Building the viewer

Also from a process worked out in a script...

  1. Configure the tree
    • cd "linden/indra"
    • ./develop.py --standalone -t Release -N cmake
  2. 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!