
Недавно я приобрел камеру PhotonFocus и хочу использовать ее сУбунту 18.04. Я виделздесьчто для этого мне нужноeBUS SDK6.x. Однако, изздесьЯ могу скачать только версию 5.1.5. Какие у меня есть варианты?
При попытке установить .deb версии 5.1.5 я получаю следующий вывод:
(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-headers-xxxxxx-generic-xxxxxx_amd64.deb
linux-headers-xxxxxx_all.deb
linux-image-xxxxxx-generic-xxxxxx_amd64.deb
Перед установкой другого ядра получите module-init-tools: sudo apt install -y module-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.