Bug 7237

Summary: Fail to build gnutls if the build directory including string "bak"
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Yi Zhao <yi.zhao>
Component: coreAssignee: Saul Wold <sgw>
Status: VERIFIED FIXED QA Contact: Yi Zhao <yi.zhao>
Severity: normal    
Priority: Low CC: alexandru.c.georgescu, ke.zou, meta.mr.watcher, meta.watcher, yi.zhao, zhangle.yang
Version: 1.8   
Target Milestone: 1.8 M3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: Regression (Used to work)
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
log.do_compile
none
config.status
none
log.do_configure none

Description Yi Zhao 2015-01-23 03:19:18 UTC
Git rev: master/d9d5b8b499af3ae01a1e33d0d3969c54c2d4ab1b

Steps:
1. Create a build directory which its name including string "bak"
  $ source oe-init-build-env build-bak  (or build-bitbake, bak1, etc.)

2. bitbake gnutls

Error message:
#######################
...
| /buildarea1/poky/build-bak/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/psk.c:41:26: fatal error: psktool-args.h: No such file or directory
|  #include <psktool-args.h>
|                           ^
| compilation terminated.
| make[4]: *** [psk.o] Error 1
| make[4]: *** Waiting for unfinished jobs....
| /buildarea1/poky/build-bak/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/certtool-cfg.c: In function 'get_rand_int_value':
| /buildarea1/poky/build-bak/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/certtool-cfg.c:1104:3: warning: right shift count >= width of type
|    default_serial[0] = default_serial_int >> 32;
|    ^
| make[4]: Leaving directory `/buildarea1/poky/build-bak/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/build/src'
| make[3]: *** [all-recursive] Error 1
| make[3]: Leaving directory `/buildarea1/poky/build-bak/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/build/src'
| make[2]: *** [all] Error 2
| make[2]: Leaving directory `/buildarea1/poky/build-bak/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/build/src'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/buildarea1/poky/build-bak/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/build'
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /buildarea1/poky/build-bak/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/temp/log.do_compile.25011)
ERROR: Task 6 (/buildarea1/poky/meta/recipes-support/gnutls/gnutls_3.3.11.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 450 tasks of which 0 didn't need to be rerun and 1 failed.
No currently running tasks (450 of 457)

Summary: 1 task failed:
##################

Please see the attachment for the full log.

I simply guessed this issue is causeed by command line "sed 's/.bak//g'" in configure.ac.
Comment 1 Yi Zhao 2015-01-23 08:31:24 UTC
Created attachment 2363 [details]
log.do_compile
Comment 2 Saul Wold 2015-01-27 20:44:38 UTC
Interesting! I think this is kind of low, I did try to reproduce this and saw 
that the "srcdir" in configure and config,status was reported at ".", if you 
can provide your config.status file (which contains srcdir) along with the 
log.do_configure log, that will help possibly identify the issue further.

Any additional information such as your host machine / OS might be helpful.
Comment 3 Yi Zhao 2015-01-28 06:29:39 UTC
Created attachment 2372 [details]
config.status
Comment 4 Yi Zhao 2015-01-28 06:35:29 UTC
Created attachment 2373 [details]
log.do_configure

In log.do_configure, I found the following error messages:
##########################
checking whether not wanting optional option args... yes
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/certtool-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/cli-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/cli-debug-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/danetool-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/ocsptool-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/p11tool-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/psktool-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/serv-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/srptool-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/tpmtool-args.c': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/certtool-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/cli-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/cli-debug-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/danetool-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/ocsptool-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/p11tool-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/psktool-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/serv-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/srptool-args.h': No such file or directory
cp: cannot create regular file '/buildarea2/yzhao1/poky/build/tmp/work/i586-poky-linux/gnutls/3.3.11-r1/gnutls-3.3.11/src/tpmtool-args.h': No such file or directory
checking for ssize_t... yes
#################################

My build directory is build-bak/, but in the above error messages, you could see the directory is replaced with "poky/build/tmp", not "poky/build-bak/tmp".

My host OS is Ubuntu 14.04 x86_64:
$ uname  -a
Linux pek-usp-14 3.13.0-44-generic #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Comment 5 Saul Wold 2015-01-29 14:45:47 UTC
Apparently Robert fixed this while I was not looking!

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=32fb1de468341a470c18c609c61c55ddbbc0ee48
Comment 6 Yi Zhao 2015-02-04 08:02:23 UTC
Verified with 1.8 M2 rc2 build.
Git rev: master/22c38e2d8a058619e3d05534b5e830b750aa4241