Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't compile QAT on Fedora31 #1497

Closed
wawryk opened this issue Jul 16, 2020 · 7 comments
Closed

Can't compile QAT on Fedora31 #1497

wawryk opened this issue Jul 16, 2020 · 7 comments
Assignees
Labels
3rd party issue Issue with software components outside of SPDK

Comments

@wawryk
Copy link

wawryk commented Jul 16, 2020

Install log:

./test/common/config/vm_setup.sh -t "qat"
Last metadata expiration check: 0:00:50 ago on Thu 16 Jul 2020 02:03:16 PM CEST.
Package systemd-devel-243.8-1.fc31.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
--2020-07-16 14:04:09--  https://01.org/sites/default/files/downloads//qat1.7.l.4.10.0-00014.tar.gz
Resolving proxy-chain.intel.com (proxy-chain.intel.com)... 163.33.7.140
Connecting to proxy-chain.intel.com (proxy-chain.intel.com)|163.33.7.140|:911... connected.
Proxy request sent, awaiting response... 200 OK
Length: 5589683 (5.3M) [application/x-gzip]
Saving to: ‘STDOUT’

-                                                100%[========================================================================================================>]   5.33M  1.74MB/s    in 3.1s

2020-07-16 14:04:14 (1.74 MB/s) - written to stdout [5589683/5589683]

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gawk... (cached) gawk
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... none
checking for cc... cc
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking whether cc understands -c and -o together... yes
checking dependency style of cc... none
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for C compiler vendor... gnu
checking for a sed that does not truncate output... /usr/bin/sed
checking for C compiler version... 9.3.1
checking for C++ compiler vendor... gnu
checking for C++ compiler version... 9.3.1
checking how to run the C preprocessor... cc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking libudev.h usability... yes
checking libudev.h presence... yes
checking for libudev.h... yes
checking for libudev... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking utmpx.h usability... yes
checking utmpx.h presence... yes
checking for utmpx.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for int8_t... yes
checking for pid_t... yes
checking for C/C++ restrict keyword... __restrict
checking for size_t... yes
checking for ssize_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for uint8_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking for alarm... yes
checking for getpagesize... (cached) yes
checking for gettimeofday... yes
checking for memmove... yes
checking for memset... yes
checking for mkdir... yes
checking for munmap... yes
checking for rmdir... yes
checking for select... yes
checking for strerror... yes
checking for strtol... yes
checking for strtoul... yes
checking for strtoull... yes
checking for kernel sources... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
make[1]: Entering directory '/home/sys_sgci/QAT/quickassist/qat'
make -C /lib/modules/5.7.7-100.fc31.x86_64/build M=/home/sys_sgci/QAT/quickassist/qat modules
make[2]: Entering directory '/usr/src/kernels/5.7.7-100.fc31.x86_64'
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c3xxx/adf_drv.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.o
  LD [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c3xxx/qat_c3xxx.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c3xxxvf/adf_drv.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.o
  LD [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c3xxxvf/qat_c3xxxvf.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c62x/adf_drv.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.o
  LD [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c62x/qat_c62x.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c62xvf/adf_drv.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.o
  LD [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_c62xvf/qat_c62xvf.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_cfg.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_isr.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_ctl_drv.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_dev_mgr.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_dev_err.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_init.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_accel_engine.o
  CC [M]  /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.o
/home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c: In function ‘adf_slot_reset’:
/home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c:306:2: error: implicit declaration of function ‘pci_cleanup_aer_uncorrect_error_status’ [-Werror=implicit-function-declaration]
  306 |  pci_cleanup_aer_uncorrect_error_status(pdev);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[5]: *** [scripts/Makefile.build:267: /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.o] Error 1
make[4]: *** [scripts/Makefile.build:488: /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat/qat_common] Error 2
make[3]: *** [scripts/Makefile.build:488: /home/sys_sgci/QAT/quickassist/qat/drivers/crypto/qat] Error 2
make[2]: *** [Makefile:1732: /home/sys_sgci/QAT/quickassist/qat] Error 2
make[2]: Leaving directory '/usr/src/kernels/5.7.7-100.fc31.x86_64'
make[1]: *** [Makefile:89: modules] Error 2
make[1]: Leaving directory '/home/sys_sgci/QAT/quickassist/qat'
make: *** [Makefile:1560: qat-driver-all] Error 2

Kernel: 5.7.7-100.fc31.x86_64
gcc:

gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

QAT download link: https://01.org/sites/default/files/downloads//qat1.7.l.4.10.0-00014.tar.gz

@changpe1 changpe1 added the 3rd party issue Issue with software components outside of SPDK label Jul 20, 2020
@peluse peluse added the Bug Scrub Discuss at next bug scrub label Jul 20, 2020
@peluse
Copy link
Contributor

peluse commented Jul 20, 2020

The correct support path for things like this is to email "dev@dpdk.org" with the details.

@Seth5141 Seth5141 self-assigned this Jul 20, 2020
@mikeBashStuff
Copy link
Contributor

@mikeBashStuff
Copy link
Contributor

mikeBashStuff commented Jul 21, 2020

So technically, this could be fixed by simply renaming the function to pci_aer_clear_nonfatal_status, however,
the old issue with timespec, which was reported here #1396, is unfortunately still present.

That said, applying both, the rename, and the patch that I got while working on issue under fedora30, everything seems to compile quite nicely. The question is if we really want to proceed with having QAT under our 5.x kernels (the number of knows issues in the release notes is quite long and I just wonder if 5.x kernels receive proper coverage when the driver is tested).

@tomzawadzki tomzawadzki added this to To do on next bug scrub in Bug scrub Jul 28, 2020
@tomzawadzki tomzawadzki removed the Bug Scrub Discuss at next bug scrub label Jul 28, 2020
@tomzawadzki
Copy link
Contributor

[Bug scrub] @mikeBashStuff any update on submitting the details to dev@dpdk.org ?

@tomzawadzki tomzawadzki moved this from To do on next bug scrub to 28.07 in Bug scrub Jul 28, 2020
@mikeBashStuff
Copy link
Contributor

mikeBashStuff commented Jul 29, 2020

@tomzawadzki There hasn't been any. The last information I got is that the issue spotted in #1396 will probably be fixed in the release scheduled for September.

@tomzawadzki tomzawadzki moved this from 28.07 to To do on next bug scrub in Bug scrub Aug 11, 2020
@tomzawadzki
Copy link
Contributor

@tomzawadzki
Copy link
Contributor

[Bug scrub] The set of patches above resolves the compilation issue. CI is now updated with Fedora 31.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3rd party issue Issue with software components outside of SPDK
Projects
None yet
Development

No branches or pull requests

6 participants