diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 3a3055afffe0e93a16cac28567ebec6a29cff1ba..f6b4159b8d5d4bf5420981d6e7ef2d8fb2c43270 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -657,6 +657,19 @@ void QtcProcess::start() if (m_environment.size() == 0) qWarning("QtcProcess::start: Empty environment set when running '%s'.", qPrintable(m_command)); env = m_environment; + + // If the process environemnt has no libraryPath, + // Qt will copy creator's libraryPath into the process environment. + // That's brain dead, and we work around it +#if defined(Q_OS_UNIX) +# if defined(Q_OS_MAC) + static const char libraryPath[] = "DYLD_LIBRARY_PATH"; +# else + static const char libraryPath[] = "LD_LIBRARY_PATH"; +# endif + if (env.constFind(libraryPath) == env.constEnd()) + env.set(libraryPath, QLatin1String("")); +#endif QProcess::setEnvironment(env.toStringList()); } else { env = Environment::systemEnvironment();