Fix remaining issues with new packaging system (mostly Linux)
Thanks to Duncan Armundsen and Damian Zhaoying for the pointers (merges slightly with alchemy)
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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 "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><deviceinfo version=\"0.2\"><device><match key=\"info.product\" contains=\"3Dconnexion SpaceNavigator\"><merge key=\"input.x11_driver\" type=\"string\"></merge></match></device></deviceinfo>" > /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:
|
||||
|
||||
@@ -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
|
||||
-=-=-=-=-=-=-=-
|
||||
|
||||
@@ -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, <http://www.secondlife.com/>.
|
||||
* No significant known issues at this time.
|
||||
|
||||
|
||||
5. TROUBLESHOOTING
|
||||
|
||||
@@ -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}"\'
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user