Notice: Trying to access array offset on value of type bool in /srv/www/vhosts/openpandora.org/domains/bugs.openpandora.org/httpdocs/scripts/details.php on line 649 FS#228 : libpnd must be linked to libstdc++

OpenPandora Main OS

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Core
  • Operating System Release 1 (Zaxxon)
  • Severity Low
  • Reported Version Hotfix 5
Attached to Project: OpenPandora Main OS
Opened by Randy Heydon - 03.04.2011
Last edited by Jeff - 24.05.2011

FS#228 - libpnd must be linked to libstdc++

Run "ldd -r /usr/lib/libpnd.so.1", and a number of undefined symbols are listed. These become a problem when attempting to load libpnd in Python. I imagine it could be a problem when attempting to load libpnd in other languages as well. This can be worked around with "LD_PRELOAD=/usr/lib/libstdc++.so" before running a Python program that loads libpnd. But it can be worked around more easily by linking libstdc++ during compile. Adding "-lstdc++" to line 41 of libpnd's Makefile does it. I'd add a patch, but the attach file button isn't working for me. Still, a simple fix, right?
Closed by  Jeff
24.05.2011 15:42
Reason for closing:  Not a bug
Additional comments about closing:  "Not a bug" for now; maybe later will update libpnd Makefile, but hate to introduce subtle little changes and risk blowing something up. Woot for workaround!
Randy Heydon commented on 23.05.2011 20:52
It turns out that this can be worked around quite simply within Python itself, so I'll say no further changes are needed to libpnd. All that's required is to load libstdc++.so.6 with mode RTLD_GLOBAL before loading libpnd. In Python, this can be done as: cpp = ctypes.CDLL('libstdc++.so.6', mode=ctypes.RTLD_GLOBAL) pnd = ctypes.CDLL('libpnd.so.1')

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing