Community
cancel
Showing results for 
Search instead for 
Did you mean: 
mvemp
Novice
1,396 Views

aocl install fails in ubuntu18.04 with a10_ref bsp

I am using Ubuntu 18.04 in the host machine and succesfully initialized the opencl image in the a10gx board.

 

I am trying to run aocl install with a10_ref bsp but its apparently broken. Below is the error log.

 

Error log

root@manoj-inference-Workstation:/home/manoj/intelFPGA_pro/19.2/hld/board/a10_ref/linux64/driver# nano make_all.sh

root@manoj-inference-Workstation:/home/manoj/intelFPGA_pro/19.2/hld/board/a10_ref/linux64/driver# cd

root@manoj-inference-Workstation:~# aocl install

Do you want to setup the FCD at directory /opt/Intel/OpenCL/Boards [y/n] y

aocl install: Adding the board package /home/manoj/intelFPGA_pro/19.2/hld/board/a10_ref to the list of installed packages

aocl install: Setting up the FPGA Client Driver (FCD) to the system.

Install the FCD file to /opt/Intel/OpenCL/Boards

Installing the board package driver to the system.

aocl install: Running install from /home/manoj/intelFPGA_pro/19.2/hld/board/a10_ref/linux64/libexec

Looking for kernel source files in /lib/modules/5.0.0-23-generic/build

Using kernel source files from /lib/modules/5.0.0-23-generic/build

Building driver for BSP with name a10_ref

./make_all.sh: 45: ./make_all.sh: make: not found

aocl install: failed.

aocl install: Removing the board package /home/manoj/intelFPGA_pro/19.2/hld/board/a10_ref from the list of installed packages

aocl install: Removing FCD

 

Is there simple fix for this issue without downgrading my kernel to 16.04? It will be really helpful if someone can come up with a solution with simple tweak

 

 

 

0 Kudos
3 Replies
TLeng2
Beginner
661 Views

You need to Install the Build essentials first.

 

sudo apt-get install build-essential

 

./make_all.sh: 45: ./make_all.sh: make: not found

means it can not find make which is part of the Build System.

 

 

after that re run the setup

 

Greetings Thomas

mvemp
Novice
661 Views

Thank you for the answer. Now make file can find build system but i get following errors

root@manoj-inference-Workstation:~# aocl install

Do you want to setup the FCD at directory /opt/Intel/OpenCL/Boards [y/n] y

aocl install: Adding the board package /home/manoj/intelFPGA_pro/19.2/hld/board/a10_ref to the list of installed packages

aocl install: Setting up the FPGA Client Driver (FCD) to the system.

Install the FCD file to /opt/Intel/OpenCL/Boards

Installing the board package driver to the system.

aocl install: Running install from /home/manoj/intelFPGA_pro/19.2/hld/board/a10_ref/linux64/libexec

Looking for kernel source files in /lib/modules/5.0.0-23-generic/build

Using kernel source files from /lib/modules/5.0.0-23-generic/build

Building driver for BSP with name a10_ref

make: Entering directory '/usr/src/linux-headers-5.0.0-23-generic'

 CC [M] /tmp/opencl_driver_2UUR24/aclpci_queue.o

/tmp/opencl_driver_2UUR24/aclpci_queue.c: In function ‘queue_push’:

/tmp/opencl_driver_2UUR24/aclpci_queue.c:133:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]

  void* dest = queue_addr(q, loc);

  ^~~~

 CC [M] /tmp/opencl_driver_2UUR24/aclpci.o

/tmp/opencl_driver_2UUR24/aclpci.c: In function ‘aclpci_irq’:

/tmp/opencl_driver_2UUR24/aclpci.c:340:54: error: passing argument 2 of ‘send_sig_info’ from incompatible pointer type [-Werror=incompatible-pointer-types]

      int ret = send_sig_info(aclpci->signal_number, &aclpci->signal_info, aclpci->user_task);

                                                     ^

In file included from /tmp/opencl_driver_2UUR24/aclpci.c:53:0:

./include/linux/sched/signal.h:325:12: note: expected ‘struct kernel_siginfo *’ but argument is of type ‘struct siginfo *’

 extern int send_sig_info(int, struct kernel_siginfo *, struct task_struct *);

           ^~~~~~~~~~~~~

cc1: some warnings being treated as errors

scripts/Makefile.build:284: recipe for target '/tmp/opencl_driver_2UUR24/aclpci.o' failed

make[1]: *** [/tmp/opencl_driver_2UUR24/aclpci.o] Error 1

Makefile:1606: recipe for target '_module_/tmp/opencl_driver_2UUR24' failed

make: *** [_module_/tmp/opencl_driver_2UUR24] Error 2

make: Leaving directory '/usr/src/linux-headers-5.0.0-23-generic'

aocl install: failed.

aocl install: Removing the board package /home/manoj/intelFPGA_pro/19.2/hld/board/a10_ref from the list of installed packages

aocl install: Removing FCD

 

STyur
New Contributor I
661 Views

new linux kernel has some changes and remove some deprecated structs and methods. I had to make changes to the driver source files for a successful compilation.

~/intelFPGA_pro/19.2/hld/board/a10_ref/linux64/driver :

aclpci.c: - 340 int ret = send_sig_info(aclpci->signal_number, &aclpci->signal_info, aclpci->user_task); + 340 struct kernel_siginfo *tmp_alcpci_sig_inf = &aclpci->signal_info; + 341 int ret = send_sig_info(aclpci->signal_number, tmp_alcpci_sig_inf, aclpci->user_task); --- - 371 struct siginfo *info = &aclpci->signal_info; + 372 struct kernel_siginfo *info = &aclpci->signal_info; ============== aclpci.h: - 172 struct siginfo signal_info; - 173 struct siginfo signal_info_dma; + 172 struct kernel_siginfo signal_info; + 173 struct kernel_siginfo signal_info_dma; ============== aclpci_dma.c: - 75 #include <linux/time.h> + 75 #include <linux/ktime.h> --- - 270 struct timeval us_end_time; + 270 struct timespec64 us_end_time; --- - 287 do_gettimeofday(&us_end_time); + 287 ktime_get_ts64(&us_end_time); --- -289 useconds = us_end_time.tv_usec - d->m_us_dma_start_time.tv_usec; -290 ACL_VERBOSE_DEBUG (KERN_DEBUG "Last table transfer measured %06ld usec :: check seconds %ld should be zero", useconds, seconds); +289 useconds = us_end_time.tv_nsec - d->m_us_dma_start_time.tv_nsec; +290 ACL_VERBOSE_DEBUG (KERN_DEBUG "Last table transfer measured %06ld nsec :: check seconds %ld should be zero", useconds, seconds); --- -977 do_gettimeofday(&(d->m_us_dma_start_time)); +977 ktime_get_ts64(&(d->m_us_dma_start_time)); ============== aclpci_dma.h: -204 struct timeval m_us_dma_start_time; +204 struct timespec64 m_us_dma_start_time;      

 

 

Reply