Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Novice
873 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
Highlighted
Beginner
138 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

0 Kudos
Highlighted
Novice
138 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

 

0 Kudos
Highlighted
New Contributor I
138 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;