Browse Source

Increase verbosity and leave the first line in a try to solve #5

master
probonopd 8 years ago
committed by GitHub
parent
commit
43e8640d90
  1. 13
      shared/shared.cpp

13
shared/shared.cpp

@ -141,19 +141,24 @@ LddInfo findDependencyInfo(const QString &binaryPath)
return info; return info;
} }
static const QRegularExpression regexp(QStringLiteral( static const QRegularExpression regexp(QStringLiteral("^.+ => (.+) \\("));
"^.+ => (.+) \\("));
QString output = ldd.readAllStandardOutput(); QString output = ldd.readAllStandardOutput();
QStringList outputLines = output.split("\n", QString::SkipEmptyParts); QStringList outputLines = output.split("\n", QString::SkipEmptyParts);
if (outputLines.size() < 2) { if (outputLines.size() < 2) {
if (output.contains("statically linked") == false){ if (output.contains("statically linked") == false){
LogError() << "Could not parse objdump output:" << output; LogError() << "Could not parse ldd output:" << output;
} }
return info; return info;
} }
outputLines.removeFirst(); // remove line containing the binary path foreach (QString outputLine, outputLines) {
LogDebug() << "ldd outputLine:" << outputLine;
if (outputLine.contains("not found")){
LogError() << "ldd outputLine:" << outputLine;
}
}
if (binaryPath.contains(".so.") || binaryPath.endsWith(".so")) { if (binaryPath.contains(".so.") || binaryPath.endsWith(".so")) {
const auto match = regexp.match(outputLines.first()); const auto match = regexp.match(outputLines.first());
if (match.hasMatch()) { if (match.hasMatch()) {

Loading…
Cancel
Save