When the length of the tmpdir is longer than 400, there is an error when run "apt-get update": Method file has died unexpectedly! This is caused by the following code in apt-pkg/acquire-method.cc: // AcqMethod::URIStart - Indicate a download is starting /*{{{*/ // --------------------------------------------------------------------- /* */ void pkgAcqMethod::URIStart(FetchResult &Res) { if (Queue == 0) abort(); char S[1024] = ""; char *End = S; End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str()); if (Res.Size != 0) End += snprintf(End,sizeof(S)-4 - (End - S),"Size: %lu\n",Res.Size); if (Res.LastModified != 0) End += snprintf(End,sizeof(S)-4 - (End - S),"Last-Modified: %s\n", TimeRFC1123(Res.LastModified).c_str()); if (Res.ResumePoint != 0) End += snprintf(End,sizeof(S)-4 - (End - S),"Resume-Point: %lu\n", Res.ResumePoint); strcat(End,"\n"); if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) exit(100); } The S[1024] is not enough when the tmpdir is very long, assign a bigger value would fix the problem, for example, 2048.
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=12c8d9d4512cd9159ba862a4f7cf8608d4b57e65
the build dir is "/home/yocto/test_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto/test_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto_yocto" ,which length equals 400. run "bitbake core-image-minimal", no error during build.
test env : host :Fedora 17 x86_64 git info : eb0cb7e8234f5d2e5623406e9660be91cf52f65e git branch: poky/master