Ubuntu 18.04 に eBUS SDK 5.1.5 をインストールする

Ubuntu 18.04 に eBUS SDK 5.1.5 をインストールする

最近PhotonFocusカメラを購入したのですが、ウブントゥ 18.04。 私は見たここそのために私が必要とするものEBUS SDK について6.x. ただし、ここバージョン 5.1.5 しかダウンロードできません。どのようなオプションがありますか?

バージョン 5.1.5 の .deb をインストールしようとすると、次の出力が表示されます。

(Reading database ... 468606 files and directories currently installed.)
Preparing to unpack eBUS_SDK_Ubuntu-x86_64-5.1.5-4563.deb ...
Removing /etc/ld.so.conf.d/eBUS_SDK.conf.
Reloading library path.
eBUS daemon is running: stopping the service.
Disabling automatic startup of eBUSd.
Removing /etc/init.d/eBUSd.
The /etc/udev/rules.d/80-drivers-eBUSSDK-28b7.rules rule has been removed.
The /etc/udev/rules.d/80-drivers-eBUSSDK-14fb.rules rule has been removed.
Cannot uninstall ebUniversalProForEthernet: it is not installed.
Unpacking ebus_sdk_ubuntu-x86_64 (5.1.5) over (5.1.5) ...
Setting up ebus_sdk_ubuntu-x86_64 (5.1.5) ...
Creating /etc/ld.so.conf.d/eBUS_SDK.conf.
Reloading library path.
*********************************************
  Build ebUniversalProForEthernet-x86_64.ko
*********************************************

Using output folder /opt/pleora/ebus_sdk/Ubuntu-x86_64/module
Using kernel from folder /lib/modules/4.15.0-65-generic/build
Invoking makefile to build the ebUniversalProForEthernet-x86_64.ko module
make: Entering directory '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet'
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-65-generic'
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/LFT_Module.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/NET_KMLRXPacket.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/NET_KMLUtil.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLEvent.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLGCCCompiler.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLInit.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLLock.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLMemory.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLMemoryMap.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLNetwork.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLString.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLSystem.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLRWLock.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTime.o
  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.o
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c: In function ‘OS_TimerCreate’:
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c:61:5: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
     init_timer( lTimer );
     ^~~~~~~~~~
     init_timers
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c:64:11: error: ‘struct timer_list’ has no member named ‘data’
     lTimer->data = ( unsigned long ) aTimer;
           ^~
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c:70:26: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
         lTimer->function = OS_TimerPeriodicInternalFunc;
                          ^
/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.c:74:26: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
         lTimer->function = OS_TimerInternalFunc;
                          ^
cc1: some warnings being treated as errors
scripts/Makefile.build:330: recipe for target '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.o' failed
make[2]: *** [/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/OS_KMLTimer.o] Error 1
Makefile:1571: recipe for target '_module_/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet' failed
make[1]: *** [_module_/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-65-generic'
Makefile:28: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet'
Error: *** Fail to create the module ebUniversalProForEthernet-x86_64.ko ***
Driver build failed, skipping installation.
Setting rp_filter mode to No source validation.
  For more information, read the RHEL knowledge note:
  https://access.redhat.com/knowledge/solutions/53031
Restarting network stack.
Configuring eBUSd for automatic startup.
Starting eBUS daemon.
The /etc/udev/rules.d/80-drivers-eBUSSDK-28b7.rules rule has been created.
The /etc/udev/rules.d/80-drivers-eBUSSDK-14fb.rules rule has been created.

Installation summary:
set_puregev_env script generation      [  OK  ]
Update libraries path                  [  OK  ]
eBUS Universal Pro driver build        [ FAIL ]
eBUS Universal Pro driver installation [ FAIL ]
set_rp_filter.sh configuration         [  OK  ]
eBUS daemon installation               [  OK  ]

Installation complete.
eBUS SDK installed in /opt/pleora/ebus_sdk/Ubuntu-x86_64

Processing triggers for libc-bin (2.27-3ubuntu1) ...

ドライバーのビルドも試みました:

miguel@miguel-ubuntu:/opt/pleora/ebus_sdk/Ubuntu-x86_64/module$ sudo ./build.sh --kernel=/usr/src/linux-headers-4.15.0-65

しかし、次のエラーが発生します。

*********************************************
  Build ebUniversalProForEthernet-x86_64.ko
*********************************************

Using output folder /opt/pleora/ebus_sdk/Ubuntu-x86_64/module
Using kernel from folder /usr/src/linux-headers-4.15.0-65
Invoking makefile to build the ebUniversalProForEthernet-x86_64.ko module
make: Entering directory '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet'
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-65'

  ERROR: Kernel configuration is invalid.
         include/generated/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.


  WARNING: Symbol version dump ./Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/LFT_Module.o
In file included from <command-line>:0:0:
././include/linux/kconfig.h:5:10: fatal error: generated/autoconf.h: No such file or directory
 #include <generated/autoconf.h>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.build:330: recipe for target '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/LFT_Module.o' failed
make[2]: *** [/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet/LFT_Module.o] Error 1
Makefile:1571: recipe for target '_module_/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet' failed
make[1]: *** [_module_/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-65'
Makefile:28: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/opt/pleora/ebus_sdk/Ubuntu-x86_64/module/ebUniversalProForEthernet'
Error: *** Fail to create the module ebUniversalProForEthernet-x86_64.ko ***

前もって感謝します。

答え1

私も同じ問題に遭遇しています。Pleora はバージョン 5 以降ではカーネル サポートを提供していません4.14。バージョン 6 にお金を払うか、カーネル モジュールに自分でパッチを当てるかのどちらかしかありません。カーネル モジュールにパッチを当てようとしていますが、変更がかなり多く、まだ成功していません。

答え2

カーネルバージョンの問題である可能性が高いです。私はBus SDKとUbuntu 16.04で同じ問題を抱えていました。解決策は4.1.0カーネルをダウンロードすることでした。 https://kernel.ubuntu.com/~kernel-ppa/mainline/

次のファイルをダウンロードしてください:

linux-ヘッダー-xxxxxx-generic-xxxxxx_amd64.deb

linux-ヘッダー-xxxxxx_all.deb

linux-image-xxxxxx-generic-xxxxxx_amd64.deb

他のカーネルをインストールする前に、module-init-tools を入手してください。 sudo apt install -y モジュールinit-tools

次に、ダウンロードしたカーネル ファイルがあるフォルダーに移動してインストールします (うまくいかない場合は、インストール順序を変更してください)。

sudo dpkg -i linux-headers-xxxxxx_all.deb

sudo dpkg -i linux-image-xxxxxx-generic-xxxxxx_amd64.deb

sudo dpkg -i linux-headers-xxxxxx-generic-xxxxxx_amd64.deb

新しいカーネルで起動するには、起動中に Shift キーを押して GRUB に入ります。サブメニューで新しいカーネルを選択し、起動を続行します。

eBUS SDKを再度インストールしてください

関連情報