Difference between revisions of "User:Cron Stardust"

From Second Life Wiki
Jump to navigation Jump to search
(→‎Get source and "accessories": Added note that xmlstarlet is required.)
 
(4 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.


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 ==
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.)


== Compiling on Gentoo AMD64 ==


=== 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
* dev-util/scons
* >=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" ===
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 60: Line 71:
#* 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]

Latest revision as of 23: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.

  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!