[LU-6474] Jenkins reports missing conftest.c while running ./configure Created: 17/Apr/15  Updated: 25/Sep/17  Resolved: 25/Sep/17

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

Type: Bug Priority: Minor
Reporter: Olaf Faaland Assignee: Jian Yu
Resolution: Cannot Reproduce Votes: 0
Labels: None
Environment:

Building remotely on onyx-2-sdc1-sles11sp3-x8664 (x86_64 sles11sp3 sles11-x86_64 sles11-lab lab _sles11)
workspace /var/lib/jenkins/workspace/lustre-reviews/arch/x86_64/build_type/server/distro/sles11sp3/ib_stack/inkernel


Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Apparently a problem prevented configure from creating small files during a build.

Configure starts reporting "conftest.c: No such file or directory" at line 2569 in the console output, after output for the AES test.
https://build.hpdd.intel.com/job/lustre-reviews/31594/arch=x86_64,build_type=server,distro=sles11sp3,ib_stack=inkernel/console

It appears that the file could not be created because of some environmental problem such as insufficient space on the filesystem.
The problem is transient. It did not occur again when the patch was
re-submitted after rebasing (patch set 7).

This occurred after many, many successful tests, such as checking for HMAC and SHA1 kernel support. All or most of the tests seem to use the same mechanism of creating a conftest.c using the here-document redirection syntax, and then attempting to compile it. The filenames and build/test code in configure are identical for passing tests and the one encountering an error.

configure: Lustre kernel checks
==============================================================================
checking whether to enable Lustre pinger support... yes                       
checking whether to enable data checksum support... yes                       
checking whether to enable a write with the health check... no                
checking whether to enable lru self-adjusting... yes                          
checking whether to enable 'llite_lloop' module... yes
checking for name_to_handle_at... no
configure: WARNING: file handle and related syscalls are not supported
checking if Linux kernel was built with CONFIG_CRYPTO in or as module... yes
checking if Linux kernel was built with CONFIG_CRYPTO_HMAC in or as module... yes
checking if Linux kernel was built with CONFIG_CRYPTO_SHA1 in or as module... yes
checking if Linux kernel was built with CONFIG_CRYPTO_AES in or as module... sed: can't read conftest.c: No such file or directory
no
configure: WARNING:

Lustre remote client require that CONFIG_CRYPTO_AES is enabled in your kernel.

checking whether to enable gss/krb5 support... auto
checking whether to enable gss keyring backend... auto
checking if Linux kernel was built with CONFIG_KEYS in or as module... ./configure: line 17689: conftest.c: No such file or directory
./configure: line 17692: conftest.c: No such file or directory
./configure: line 17693: conftest.c: No such file or directory
./configure: line 17697: conftest.c: No such file or directory
./configure: line 17698: conftest.c: No such file or directory
sed: can't read conftest.c: No such file or directory

This occurred while building a patch against a utility, llog_reader.



 Comments   
Comment by Peter Jones [ 19/Apr/15 ]

Jian

Could you please help with this one?

Thanks

Peter

Comment by Jian Yu [ 20/Apr/15 ]

Hi Olaf,

All or most of the tests seem to use the same mechanism of creating a conftest.c using the here-document redirection syntax, and then attempting to compile it.

On the current master branch, I did not see conftest.c was created anywhere by using the here-document redirection syntax. Could you please point a place to me?

Comment by Jian Yu [ 20/Apr/15 ]

Ah, I see. The conftest.c is created by the following line in config/lustre-build-linux.m4:

[AC_LANG_CONFTEST([AC_LANG_SOURCE([$1])])]

And the autoconf macros are defined as follows

Autoconf provides a set of macros that can be used to generate test source files. They are written to be language generic, i.e., they actually depend on the current language (see Language Choice) to “format” the output properly.

— Macro: AC_LANG_CONFTEST (source)
Save the source text in the current test source file: conftest.extension where the extension depends on the current language.

Note that the source is evaluated exactly once, like regular Autoconf macro arguments, and therefore (i) you may pass a macro invocation, (ii) if not, be sure to double quote if needed.

— Macro: AC_LANG_SOURCE (source)
Expands into the source, with the definition of all the AC_DEFINE performed so far.
Comment by Jian Yu [ 20/Apr/15 ]

It seems we need add AC_LANG(C) before AC_LANG_CONFTEST to make sure using extension .c instead of other language.

Comment by Olaf Faaland [ 20/Apr/15 ]

Hi Jian,

Why would the extension change in the middle of a run of configure? It looks to me like the extension is fixed unless you use AC_LANG, AC_LANG_

{PUSH,POP,ASSERT}

, or AC_REQUIRE_CPP, none of which appear in our code.

Also, this did not occur with other patches or other even builds against other distros for this patch.

So I'm unsure that the problem is not calling AC_LANG(C).

-Olaf

Comment by Jian Yu [ 25/Apr/15 ]

Hi Brian and Dmitry,
Could you please give me some hints to this conftest.c: No such file or directory issue? Thank you.

Comment by Dmitry Eremin (Inactive) [ 27/Apr/15 ]

Most probably the issue was with local file system. conftest.c is generated on the fly by configure script. If it cannot write that there are no space on disk or issue with permissions.

Comment by Jian Yu [ 28/Apr/15 ]

Thank you, Dmitry. So, it looks like a sporadic issue. Let's see if there will be more instances occur.

Comment by Jian Yu [ 26/Mar/16 ]

Hi Olaf,

Do you still hit the conftest.c: No such file or directory issue in this ticket?

Comment by Olaf Faaland [ 25/Sep/17 ]

Dmitry's explanation makes sense to me, too.
I haven't pushed many patches (if any) in the last year, so no need to keep this ticket open for me.

Comment by Peter Jones [ 25/Sep/17 ]

ok - thanks Olaf

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