diff --git a/indra/llvfs/lldir_linux.cpp b/indra/llvfs/lldir_linux.cpp
index e3090d8c5..7139cf95d 100644
--- a/indra/llvfs/lldir_linux.cpp
+++ b/indra/llvfs/lldir_linux.cpp
@@ -93,15 +93,18 @@ LLDir_Linux::LLDir_Linux()
#else
mAppRODataDir = tmp_str;
#endif
- std::string::size_type build_dir_pos = mExecutableDir.rfind("/indra/viewer-linux-");
+ std::string::size_type build_dir_pos = mExecutableDir.rfind("/build-linux-");
if (build_dir_pos != std::string::npos)
{
// ...we're in a dev checkout
mSkinBaseDir = mExecutableDir.substr(0, build_dir_pos) + "/indra/newview/skins";
- llinfos << "Running in dev checkout with mSkinBaseDir "
- << mSkinBaseDir << llendl;
+ if (LLFile::isdir(mSkinBaseDir))
+ llinfos << "Running in dev checkout with mSkinBaseDir "
+ << mSkinBaseDir << LL_ENDL;
+ else
+ mSkinBaseDir = "";
}
- else
+ if (mSkinBaseDir.empty())
{
// ...normal installation running
mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";
diff --git a/indra/llvfs/lldir_win32.cpp b/indra/llvfs/lldir_win32.cpp
index 9a580d50f..6aaa5126d 100644
--- a/indra/llvfs/lldir_win32.cpp
+++ b/indra/llvfs/lldir_win32.cpp
@@ -130,7 +130,7 @@ LLDir_Win32::LLDir_Win32()
{
w_str[size] = '\0';
mExecutablePathAndName = utf16str_to_utf8str(llutf16string(w_str));
- S32 path_end = mExecutablePathAndName.find_last_of('\\');
+ size_t path_end = mExecutablePathAndName.find_last_of('\\');
if (path_end != std::string::npos)
{
mExecutableDir = mExecutablePathAndName.substr(0, path_end);
@@ -156,6 +156,8 @@ LLDir_Win32::LLDir_Win32()
mAppRODataDir = mWorkingDir;
+// if (mExecutableDir.find("indra") == std::string::npos)
+
// *NOTE:Mani - It is a mistake to put viewer specific code in
// the LLDir implementation. The references to 'skins' and
// 'llplugin' need to go somewhere else.
@@ -168,20 +170,9 @@ LLDir_Win32::LLDir_Win32()
mAppRODataDir = mExecutableDir;
}
- llinfos << "mAppRODataDir = " << mAppRODataDir << llendl;
+// LL_INFOS() << "mAppRODataDir = " << mAppRODataDir << LL_ENDL;
- std::string::size_type build_dir_pos = mExecutableDir.rfind("indra" + mDirDelimiter);
- if (build_dir_pos != std::string::npos)
- {
- // ...we're in a dev checkout
- mSkinBaseDir = mExecutableDir.substr(0, build_dir_pos) + "indra" + mDirDelimiter + "newview" + mDirDelimiter + "skins";
- llinfos << "Running in dev checkout with mSkinBaseDir " << mSkinBaseDir << llendl;
- }
- else
- {
- // ...normal installation running
- mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";
- }
+ mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";
// Build the default cache directory
mDefaultCacheDir = buildSLOSCacheDir();
diff --git a/indra/newview/linux_tools/client-readme-joystick.txt b/indra/newview/linux_tools/client-readme-joystick.txt
index 997a8b08e..4f89a73cc 100644
--- a/indra/newview/linux_tools/client-readme-joystick.txt
+++ b/indra/newview/linux_tools/client-readme-joystick.txt
@@ -41,7 +41,7 @@ applications such as the Second Life Viewer, as follows:
* Ubuntu or Gentoo Linux Configuration:
For a quick start, you can simply paste the following line into a terminal
before plugging in your SpaceNavigator - this only needs to be done once:
- sudo bash -c 'echo KERNEL==\"event[0-9]*\", SYSFS{idVendor}==\"046d\", SYSFS{idProduct}==\"c626\", SYMLINK+=\"input/spacenavigator\", GROUP=\"plugdev\", MODE=\"664\" >> /etc/udev/rules.d/91-spacenavigator.rules'
+ sudo bash -c 'echo KERNEL==\"event[0-9]*\", SYSFS{idVendor}==\"046d\", SYSFS{idProduct}==\"c626\", SYMLINK+=\"input/spacenavigator\", GROUP=\"plugdev\", MODE=\"664\" > /etc/udev/rules.d/91-spacenavigator-LL.rules ; echo "" > /etc/hal/fdi/policy/3Dconnexion_SpaceNavigator_LL.fdi'
For more comprehensive Linux SpaceNavigator configuration information please
see the section 'Installing SpaceNavigator without the official driver' here:
diff --git a/indra/newview/linux_tools/client-readme-voice.txt b/indra/newview/linux_tools/client-readme-voice.txt
index 0637e9d17..53f1ac5b5 100644
--- a/indra/newview/linux_tools/client-readme-voice.txt
+++ b/indra/newview/linux_tools/client-readme-voice.txt
@@ -22,18 +22,10 @@ REQUIREMENTS
-=-=-=-=-=-=
* A headset/microphone supported by your chosen version of Linux
-* The ALSA sound system (you probably already have this -
- i.e. the alsa-base and alsa-utils packages on Ubuntu)
-
-Success with Linux Voice support has been reported on the following
-systems:
-* Ubuntu 6.06 (Dapper) with Intel ICH5/CMI9761A+ audio chipset
-* Ubuntu 6.06 (Dapper) with SigmaTel STAC2997 audio chipset
-* Ubuntu 6.06 (Dapper) with Creative EMU10K1 audio chipset
-* Ubuntu 7.04 (Feisty) with USB Plantronics headset
-* Ubuntu 7.04 (Feisty) with Intel HDA audio chipset
-* Fedora Core 6 with (unknown) audio chipset
-* Ubuntu 8.04 (Hardy) with (unknown) audio chipset
+* At this time, the PulseAudio audio system is recommended; this software
+ is already part of most modern (2009+) Linux desktop systems. Alternatively,
+ the ALSA audio system may be used on systems installed from around
+ 2007 onwards (again this is likely already installed on your system).
TESTING YOUR SETTINGS
-=-=-=-=-=-=-=-=-=-=-
@@ -45,8 +37,8 @@ when you speak.
KNOWN PROBLEMS
-=-=-=-=-=-=-=
-* The 'Input Level' meter in the Voice Chat Device Settings dialog
- does not respond to audio input.
+* Compatibility with old ALSA-based audio systems (such as Ubuntu Dapper
+ from 2006) is poor.
TROUBLESHOOTING
-=-=-=-=-=-=-=-
diff --git a/indra/newview/linux_tools/client-readme.txt b/indra/newview/linux_tools/client-readme.txt
index f9f60c833..656c7dc97 100644
--- a/indra/newview/linux_tools/client-readme.txt
+++ b/indra/newview/linux_tools/client-readme.txt
@@ -55,10 +55,13 @@ Minimum requirements:
is required. If you are running a 64-bit Linux distribution then
you will need its 32-bit compatibility environment installed, but
this configuration is not currently supported.
+ * PulseAudio or ALSA Linux system sound software. A recent PulseAudio
+ is the recommended configuration; see README-linux-voice.txt for more
+ information.
* Video/Graphics Card:
o nVidia GeForce 2, GeForce 4mx, or better (recommend one of the
following: 6700, 6800, 7600, 7800, 7900, 8400, 8500, 8600,
- 8800, Go 7400, Go 7600, Go 7800, Go 7900)
+ 8800, Go 7400, Go 7600, Go 7800, Go 7900, +)
o OR ATI Radeon 8500, 9250, or better
(nVidia cards are recommended for the Linux client)
@@ -97,10 +100,7 @@ you wish.
4. KNOWN ISSUES
-=-=-=-=-=-=-=-
-* UPDATING - when the client detects that a new version of Second Life
- is available, it will ask you if you wish to download the new version.
- This option is not implemented; to upgrade, you should manually download a
- new version from the Second Life web site, .
+* No significant known issues at this time.
5. TROUBLESHOOTING
diff --git a/indra/newview/linux_tools/handle_secondlifeprotocol.sh.in b/indra/newview/linux_tools/handle_secondlifeprotocol.sh.in
index 54d20279e..770f7ae37 100755
--- a/indra/newview/linux_tools/handle_secondlifeprotocol.sh.in
+++ b/indra/newview/linux_tools/handle_secondlifeprotocol.sh.in
@@ -11,7 +11,7 @@ if [ -z "$URL" ]; then
fi
RUN_PATH=`dirname "$0" || echo .`
-cd "${RUN_PATH}"
+cd "${RUN_PATH}/.."
exec ./@VIEWER_BRANDING_ID@ -url \'"${URL}"\'
diff --git a/indra/newview/linux_tools/install.sh.in b/indra/newview/linux_tools/install.sh.in
index 17a837fbb..2bfd6d192 100755
--- a/indra/newview/linux_tools/install.sh.in
+++ b/indra/newview/linux_tools/install.sh.in
@@ -77,7 +77,7 @@ function root_install()
install_to_prefix "$install_prefix"
mkdir -p /usr/local/share/applications
- ${install_prefix}/refresh_desktop_app_entry.sh
+ ${install_prefix}/etc/refresh_desktop_app_entry.sh
}
function install_to_prefix()
diff --git a/indra/newview/linux_tools/refresh_desktop_app_entry.sh.in b/indra/newview/linux_tools/refresh_desktop_app_entry.sh.in
index b865b4df0..66b8b90aa 100755
--- a/indra/newview/linux_tools/refresh_desktop_app_entry.sh.in
+++ b/indra/newview/linux_tools/refresh_desktop_app_entry.sh.in
@@ -3,7 +3,7 @@
SCRIPTSRC=`readlink -f "$0" || echo "$0"`
RUN_PATH=`dirname "${SCRIPTSRC}" || echo .`
-install_prefix=${RUN_PATH}
+install_prefix=${RUN_PATH}/..
function install_desktop_entry()
{
diff --git a/indra/newview/linux_tools/wrapper.sh.in b/indra/newview/linux_tools/wrapper.sh.in
index 40719f8d1..60c92485d 100755
--- a/indra/newview/linux_tools/wrapper.sh.in
+++ b/indra/newview/linux_tools/wrapper.sh.in
@@ -109,10 +109,10 @@ echo "Running from ${RUN_PATH}"
cd "${RUN_PATH}"
# Re-register the secondlife:// protocol handler every launch, for now.
-./register_secondlifeprotocol.sh
+./etc/register_secondlifeprotocol.sh
# Re-register the application with the desktop system every launch, for now.
-./refresh_desktop_app_entry.sh
+./etc/refresh_desktop_app_entry.sh
## Before we mess with LD_LIBRARY_PATH, save the old one to restore for
## subprocesses that care.
@@ -144,10 +144,10 @@ fi
export VIEWER_BINARY='@VIEWER_BRANDING_ID@-do-not-run-directly'
BINARY_TYPE=$(expr match "$(file -b bin/$VIEWER_BINARY)" '\(.*executable\)' | sed -e 's/ / /g')
-if [ "${BINARY_TYPE}" == "ELF 64-bit LSB executable" ]; then
- SL_ENV+='LD_LIBRARY_PATH="`pwd`/lib64:`pwd`/lib32:$LD_LIBRARY_PATH"'
+if [ "${BINARY_TYPE}" == "ELF 32-bit LSB executable" ]; then
+ SL_ENV+='LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"'
else
- SL_ENV+='LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"'
+ SL_ENV+='LD_LIBRARY_PATH="`pwd`/lib64:`pwd`/lib32:$LD_LIBRARY_PATH"'
fi
export SL_CMD='$LL_WRAPPER bin/$VIEWER_BINARY'
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 4079eb7bf..06eead15a 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -900,7 +900,7 @@ class Linux_x86_64Manifest(LinuxManifest):
def construct(self):
super(Linux_x86_64Manifest, self).construct()
- if (not self.standalone()) and self.prefix(src="../packages/lib/release", alt_build="../packages/libraries/x86_64-linux/lib/release", dst="lib"):
+ if (not self.standalone()) and self.prefix(src="../packages/lib/release", alt_build="../packages/libraries/x86_64-linux/lib/release", dst="lib64"):
self.path("libapr-1.so*")
self.path("libaprutil-1.so*")
@@ -933,9 +933,9 @@ class Linux_x86_64Manifest(LinuxManifest):
self.path("libboost_system-mt.so.*")
self.path("libboost_thread-mt.so.*")
- self.end_prefix("lib")
+ self.end_prefix("lib64")
- if (not self.standalone()) and self.prefix(src='', alt_build="../packages/lib/release", dst="lib"):
+ if (not self.standalone()) and self.prefix(src='', alt_build="../packages/lib/release", dst="lib64"):
self.add_extra_libraries()
self.end_prefix()