There appears to be a bug in PyInstaller 2.0 that can cause it to omit
needed libraries on Linux. In bindepends.py, _getImports_ldd does this:
for line in compat.exec_command('ldd', pth).strip().splitlines():
m = lddPattern.search(line)
if m:
# Do important stuff ...
The strip() call removes both leading and trailing whitespace from the
entire string before splitting. But lddPattern explicitly looks for
leading spaces:
lddPattern = re.compile(r"\s+(.*?)\s+=>\s+(.*?)\s+\(.*\)")
So the first line of ldd's output is always ignored. Often we get lucky,
and this isn't an important library, but not always.
We fixed this locally by changing the strip() to rstrip(), but I'm not
sure that's the best fix. Is the strip() call needed at all? Would it be
better to fix the regex?
I can submit a patch for this once we figure out the right answer.
- Nathan
--
You received this message because you are subscribed to the Google Groups
"PyInstaller" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/pyinstaller?hl=en.