[LU-9102] Header files are missing from EL7 which needed by the posix test suite Created: 10/Feb/17  Updated: 23/Mar/17  Resolved: 23/Mar/17

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.10.0
Fix Version/s: Lustre 2.10.0

Type: Bug Priority: Critical
Reporter: Sarah Liu Assignee: Sarah Liu
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-6707 EL7 client cannot find loop device fo... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

This is a related issue with LU-6707, in that ticket, we are going to only resolve the loop device problem. This ticket is for tracking the missing header files of EL7 which needed by our POSIX test suite.

related comments from the patch https://review.whamcloud.com/#/c/15130/

The patch fixes the loop device issue, but posix test hit another issue on RHEL 7 node:

userintf.c:592:25: fatal error: sys/stropts.h: No such file or directory

Could you please update the prep() function in lustre/tests/posix/posix.cfg to make it find those header files on RHEL 7 node
Using mpss as header is definitely not the way to go because mpss might not be built in the future. The fact that this header doesn't exist in latest distro because it's outdated. posix test is very old and should be looked at and modify if it's not actively supported
The LSB-VSX POSIX test suite in http://www.opengroup.org/testing/linux-test/lsb-vsx.html has not been updated since 2004. If we still use this test suite, we have to modify the codes to remove the using of stropts.h and xtitypes.h. Or we have to evaluate other POSIX test suite.

It looks like both of the above two ways will not work in a short time. So, this patch is just a workaround to make posix test suite work on RHEL 7.1 disro right away.
Are stropts.h and xtitypes.h headers that are actually needed, or are they obsolete?  It might be possible to either provide empty headers just to make the code compile (if they don't provide anything useful for a modern system), or just extract the headers from some old system (hopefully GPL?) and include them directly with the POSIX sources, instead of this hack to install MPSS.

I see from https://bugzilla.redhat.com/show_bug.cgi?id=656245 that this has been removed for RHEL 6 also, so it looks like they are obsolete and empty stubs could be used?  According to http://sourceforge.net/p/watchdog/bugs/11/ the "#include <stropts.h>" should be changed to "#include <sys/ioctl.h>".

It looks like the right answer is to install the "compat-glibc-headers" package and get these headers from there.
Line 134:

(style) tabs for indentation

Is there a reason why we rebuild the POSIX test suite for every test run?  I could imagine there is some benefit if this was being built from within Lustre (even if it might take a while longer) so that we are testing the filesystem code, but otherwise it just seems better to build a .rpm file once for each distro and then install that on the test nodes as needed.


 Comments   
Comment by Gerrit Updater [ 23/Feb/17 ]

Wei Liu (wei3.liu@intel.com) uploaded a new patch: https://review.whamcloud.com/25606
Subject: LU-9102 test: Include specific headers needed by Posix suite
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 4b51b1dda28b7125726b4d63516c1368d6493261

Comment by Minh Diep [ 07/Mar/17 ]

Hi sarah could you show me a report that posix failing because missing header file?

Comment by Sarah Liu [ 07/Mar/17 ]

Minh, please refer to the patch of LU-6707: https://review.whamcloud.com/#/c/15130/

comment made by YuJian on June 12/2015 for patch set 1
She provided a hack by installing another rpm which contains the missing headers but you thought it was too risky.

Comment by Gerrit Updater [ 23/Mar/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/25606/
Subject: LU-9102 test: Include specific headers needed by Posix suite
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: db8699e0c9401e27f9c6018163674c7c3a0c7273

Comment by Peter Jones [ 23/Mar/17 ]

Landed for 2.10

Generated at Sat Feb 10 02:23:15 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.