私はUbuntuの16.04にインストールするため、これらのインストール手順に従っLabJack製品のhttps://labjack.com/products/u12liblabjackusb.so:未定義のシンボル:DigitalIO
をインストールし、ライブラリの問題を得ました。 https://labjack.com/support/software/installers/exodriver/mac-and-linux/in-depth-build-instructions
次のコードは、私がDigitalIOの実装を探しまわってたliblabjackusb.so
$ python
>>> import u12
>>> d =u12.U12()
>>> d.digitalIO(idNum=-1, demo=0, trisD=3, trisIO=0, stateD=0, stateIO=0, updateDigital=1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.linux-x86_64/egg/u12.py", line 2506, in digitalIO
def getFirmwareVersion(self, idNum=None):
File "/usr/lib/python2.7/ctypes/__init__.py", line 375, in __getattr__
func = self.__getitem__(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 380, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/local/lib/liblabjackusb.so: undefined symbol: DigitalIO
にDigitalIOための未定義シンボルに私をもたらし、私はljacklm.hとljacklm.cでそれを見つけました。
$cd ljacklm/libljacklm
$ nm ljacklm.o | grep DigitalIO
0000000000007489 T DigitalIO
$ nm libljacklm.so.1.20.2 | grep DigitalIO
00000000000091a9 T DigitalIO
これは、libが正しく生成されたことを示しています。
DigitalIO関数の宣言と実装がないため、u12.pyはliblabjackusb.soをどのようにロードしますか? (u12.py行348を参照)。関数_loadLinuxSo()は、liblabjackusb.soの代わりにlibljacklm.soをロードする必要がありますか?
これはバグですか?
誰かがこれに遭遇しましたか?
彼らのgithubプロジェクトでバグの問題をオープンしました。 – LAL