Attempt to obey pre-existing RPATHs, #52
This commit is contained in:
@@ -752,11 +752,13 @@ void changeIdentification(const QString &id, const QString &binaryPath)
|
|||||||
// FIXME: Split along ":" characters, check each one, only append to LD_LIBRARY_PATH if not already there
|
// FIXME: Split along ":" characters, check each one, only append to LD_LIBRARY_PATH if not already there
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
QString oldPath = env.value("LD_LIBRARY_PATH");
|
QString oldPath = env.value("LD_LIBRARY_PATH");
|
||||||
|
if (not oldPath.contains(oldRpath)){
|
||||||
QString newPath = oldRpath + ":" + oldPath; // FIXME: If we use a ldd replacement, we still need to observe this path
|
QString newPath = oldRpath + ":" + oldPath; // FIXME: If we use a ldd replacement, we still need to observe this path
|
||||||
// FIXME: Directory layout might be different for system Qt; cannot assume lib/ to always be inside the Qt directory
|
// FIXME: Directory layout might be different for system Qt; cannot assume lib/ to always be inside the Qt directory
|
||||||
LogDebug() << "Added to LD_LIBRARY_PATH:" << newPath;
|
LogDebug() << "Added to LD_LIBRARY_PATH:" << newPath;
|
||||||
setenv("LD_LIBRARY_PATH",newPath.toUtf8().constData(),1);
|
setenv("LD_LIBRARY_PATH",newPath.toUtf8().constData(),1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
LogNormal() << "Changing rpath in" << binaryPath << "to" << id;
|
LogNormal() << "Changing rpath in" << binaryPath << "to" << id;
|
||||||
runPatchelf(QStringList() << "--set-rpath" << id << binaryPath);
|
runPatchelf(QStringList() << "--set-rpath" << id << binaryPath);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user