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

Make on SPDK fails with meson on RHEL/CentOS8 on 20.07 #1608

Closed
smijolovic opened this issue Oct 3, 2020 · 6 comments
Closed

Make on SPDK fails with meson on RHEL/CentOS8 on 20.07 #1608

smijolovic opened this issue Oct 3, 2020 · 6 comments
Labels
Sighting Waiting on Submitter currently waiting on input from submitter

Comments

@smijolovic
Copy link

smijolovic commented Oct 3, 2020

./configure --enable-debug --without-isal --with-iscsi-initiator --with-rdma --disable-tests --with-crypto
make

Message: drivers/mempool/ring: Defining dependency "mempool_ring"
Library IPSec_MB found: YES
drivers/crypto/aesni_mb/meson.build:13:1: ERROR: Could not get define 'IMB_VERSION_STR'

A full log can be found at /home/rpmbuild/nimbus8/mayastor-build/mayastor-0.4.0/Mayastor/spdk-sys/spdk/dpdk/build-tmp/meson-logs/meson-log.txt
make[1]: *** [Makefile:149: /home/rpmbuild/nimbus8/mayastor-build/mayastor-0.4.0/Mayastor/spdk-sys/spdk/dpdk/build-tmp] Error 1
make: *** [/home/rpmbuild/nimbus8/mayastor-build/mayastor-0.4.0/Mayastor/spdk-sys/spdk/mk/spdk.subdirs.mk:44: dpdkbuild] Error 2

Log shows:
Library IPSec_MB found: YES
Running compile:
Working directory: /home/rpmbuild/nimbus8/mayastor-build/tmp/tmp9el0bz2b
Command line: cc /home/rpmbuild/nimbus8/mayastor-build/tmp/tmp9el0bz2b/testfile.c -pipe -D_FILE_OFFSET_BITS=64 -E -P -O0

Code:

    #include<intel-ipsec-mb.h>
    #ifndef IMB_VERSION_STR
    # define IMB_VERSION_STR
    #endif
    "MESON_GET_DEFINE_DELIMITER"

IMB_VERSION_STR
Compiler stdout:

Compiler stderr:
/home/rpmbuild/nimbus8/mayastor-build/tmp/tmp9el0bz2b/testfile.c:2:17: fatal error: intel-ipsec-mb.h: No such file or directory
#include<intel-ipsec-mb.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.

drivers/crypto/aesni_mb/meson.build:13:1: ERROR: Could not get define 'IMB_VERSION_STR'

The file is in the spdk directory:
[rpmbuild@localhost spdk]$ find . -name intel-ipsec-mb.h
./intel-ipsec-mb/intel-ipsec-mb.h

20.04.1 and below makes clean...meson and these build systems aren't exactly making things easier.

@smijolovic smijolovic changed the title building SPDK fails with meson on RHEL/CentOS8 on 20.07 Make on SPDK fails with meson on RHEL/CentOS8 on 20.07 Oct 3, 2020
@tomzawadzki tomzawadzki added this to To do on next bug scrub in Bug scrub Oct 6, 2020
@tomzawadzki
Copy link
Contributor

[Bug scrub] @smijolovic Could you please try latest SPDK as well to confirm ?
We are in process of establishing separate Jenkins job to verify CentOS8 and will be able to check that particular setup. So far we've not encountered this issue. @mikeBashStuff please update with the status when the job is up and running.

@tomzawadzki tomzawadzki moved this from To do on next bug scrub to 06.10 in Bug scrub Oct 6, 2020
@mikeBashStuff
Copy link
Contributor

Couple of things to note:

/configure --enable-debug --without-isal --with-iscsi-initiator --with-rdma --disable-tests --with-crypto

This particular build would require nasm package in version >= 2.14 which centos8 doesn't provide in its repos (epel, elrepo repos don't provide it either) so I am guessing it's been manually installed on the system through some 3rd-party rpm (or from source maybe). Otherwise, ./configure would simply fail. This is something that our tests would not cover.

That said, I've run the build against latest master (v20.07-rc1-541-g057c92e3d) and v20.07 (1a527e5) on our Centos8 testing image, covering this particular setup and the entire spectrum of the autobuild tests - everything worked just fine.
Also, this fatal error: intel-ipsec-mb.h: No such file or directory is quite peculiar since this header file should be present directly under intel-ipsec-mb submodule. So with that in mind, I would suggest to get a fresh clone of the SPDK repo with all submodules properly initialized and then try to compile once more.

@tomzawadzki tomzawadzki added the Waiting on Submitter currently waiting on input from submitter label Oct 9, 2020
@smijolovic
Copy link
Author

Upgraded to nasm 2.15.05 and still see the same issue:

Message: drivers/mempool/ring: Defining dependency "mempool_ring"
Running compile:
Working directory: /home/rpmbuild/nimbus8/spdk-build/spdk-20.07.x/tmp/tmp6nr8ynqi
Command line: cc -L/home/rpmbuild/nimbus8/spdk-build/spdk-20.07.x/spdk/intel-ipsec-mb -L/home/rpmbuild/nimbus8/spdk-build/spdk-20.07.x/spdk/isa-l/.libs /home/rpmbuild/nimbus8/spdk-build/spdk-20.07.x/
tmp/tmp6nr8ynqi/testfile.c -pipe -D_FILE_OFFSET_BITS=64 -o /home/rpmbuild/nimbus8/spdk-build/spdk-20.07.x/tmp/tmp6nr8ynqi/output.exe -Wl,--start-group -lisal -O0 -lIPSec_MB -Wl,--end-group -Wl,--allow
-shlib-undefined

Code:
int main(int argc, char **argv) { return 0; }
Compiler stdout:

Compiler stderr:

Library IPSec_MB found: YES
Running compile:
Working directory: /home/rpmbuild/nimbus8/spdk-build/spdk-20.07.x/tmp/tmp592d2jbu
Command line: cc /home/rpmbuild/nimbus8/spdk-build/spdk-20.07.x/tmp/tmp592d2jbu/testfile.c -pipe -D_FILE_OFFSET_BITS=64 -E -P -O0

Code:

    #include<intel-ipsec-mb.h>
    #ifndef IMB_VERSION_STR
    # define IMB_VERSION_STR
    #endif
    "MESON_GET_DEFINE_DELIMITER"

IMB_VERSION_STR
Compiler stdout:

Compiler stderr:
/home/rpmbuild/nimbus8/spdk-build/spdk-20.07.x/tmp/tmp592d2jbu/testfile.c:2:17: fatal error: intel-ipsec-mb.h: No such file or directory
#include<intel-ipsec-mb.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.

drivers/crypto/aesni_mb/meson.build:13:1: ERROR: Could not get define 'IMB_VERSION_STR'

Make command line links to the intel-ipsec-mb directory...which is where the header file is....but still errors out.

@mikeBashStuff
Copy link
Contributor

@smijolovic Have you tried to nuke the repo, clone it fresh, update submodules, and then try to compile? Asking since I simply cannot reproduce it on my own setup (testing it against latest master and directly on top of v20.07 ref).

@changpe1
Copy link
Contributor

[Bug Scrub] I'm going to close this issue, you can reopen it if the issue still exists.

@pkpathak
Copy link

sudo -E dnf install intel-ipsec-mb.x86_64 intel-ipsec-mb-devel.x86_64 should address it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Sighting Waiting on Submitter currently waiting on input from submitter
Projects
None yet
Development

No branches or pull requests

5 participants