Bug 1529 - [x32] x32 build broken due to kernel.org fetch failure
Summary: [x32] x32 build broken due to kernel.org fetch failure
Status: RESOLVED FIXED
Alias: None
Product: Meta-yocto
Classification: Build System, Metadata & Runtime
Component: meta-yocto (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.1
Assignee: Nitin Kamble
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2011-09-26 20:04 UTC by Jiajun Xu
Modified: 2011-10-14 10:28 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments
error log when building x32 (61.56 KB, text/plain)
2011-10-08 20:15 UTC, Jiajun Xu
no flags Details
do_configure fail for ppl (37.55 KB, text/plain)
2011-10-10 23:04 UTC, Jiajun Xu
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jiajun Xu 2011-09-26 20:04:58 UTC
meta-x32 commit: cb8383c8a222dffa5d77f289fd12901918967adc

Current x32 build needs to fetch source from kernel.org. Due to the site is down, we could not build x32.
Comment 1 Jiajun Xu 2011-09-26 20:07:04 UTC
Error log when building x32:

jxu49@vt-nhm4:~/osel/poky/x32$ bitbake core-image-minimal
Pseudo is not present but is required, building this first before the main build
Loading cache: 100% |############################################################################################################################################| ETA:  00:00:00
Loaded 236 entries from dependency cache.
NOTE: Error expanding variable do_patch########################################################################################################################  | ETA:  00:00:00
ERROR: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure for URL: 'None'. Fetch command export HOME="/home/jxu49"; export https_proxy="https://proxy01.pd.intel.com:911"; export ftp_proxy="ftp://proxy01.pd.intel.com:911"; export http_proxy="proxy01.pd.intel.com:911"; export GIT_CONFIG="/home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/usr/etc/gitconfig"; export PATH="/home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/usr/bin/x86_64-x32-poky-linux-gnux32:/home/jxu49/osel/poky/x32/tmp/sysroots/qemux86-64/usr/bin/crossscripts:/home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/usr/sbin:/home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/usr/bin:/home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/sbin:/home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux//bin:/home/jxu49/osel/poky/bitbake/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/jxu49/osel/poky/scripts"; git ls-remote git://git.kernel.org/pub/scm/linux/kernel/git/hjl/linux-2.6.38.y.git hjl/x32/master failed with signal 128, output:
2011/09/27 10:54:03 socat[27807] E getaddrinfo("git.kernel.org", "(null)", {1,2,1,6}, {}): No address associated with hostname
fatal: The remote end hung up unexpectedly

ERROR: Command execution failed: Exited with 1
Comment 2 Saul Wold 2011-09-27 09:34:42 UTC
If possible we can get a cached git tarball from Nitin, if he has one in his downloads area, and put that up on the autobuild to act as a mirror.
Comment 3 Nitin Kamble 2011-09-27 09:37:33 UTC
I was aware of this issue, was already looking at solutions for this. There are github urls we can use. I will update the x32 layer accordingly.
Comment 4 Nitin Kamble 2011-09-30 11:10:11 UTC
I fixed this issue by switching to the repository on github. And also updated the kernel version to 3.1.

Same issue is also present for gcc & glibc recipes in meta-x32, I am looking at them too.

Thanks,
Nitin
Comment 5 Jiajun Xu 2011-10-07 23:58:26 UTC
Verify the bug as fixed against edison branch.
Comment 6 Jiajun Xu 2011-10-08 00:26:14 UTC
Sorry, pls. ignore the above comment I post. The kernel fetch issue is resovled but there is still mirror issue for glibc, like Nitin mentioned.
So open the bug for the other recipes.
Comment 7 Jiajun Xu 2011-10-08 20:15:04 UTC
Hi Nitin,
Besides gcc and eglibc, I also find another 2 issues:
1. binutils-2.21.52.tar.bz2 checksum mismatch
2. ppl download URL changed: It should be http://bugseng.com/products/ppl/download/ftp/releases/0.11.2/ppl-0.11.2.tar.bz2 now. After I download ppl from the correct URL, it reports do_configure failed by needing GMP. You could check attached log for detailed error messages.
Comment 8 Jiajun Xu 2011-10-08 20:15:32 UTC
Created attachment 271 [details]
error log when building x32
Comment 9 Nitin Kamble 2011-10-09 09:02:55 UTC
I am aware of all these issues, and I have fixed them all. I am cleaning up the fixes/commits for making them public, will update the meta-x32 layer soon.

Thanks,
Nitin
Comment 10 Nitin Kamble 2011-10-10 11:49:40 UTC
I have fixed all these issues, and pushed the fixes to master branch of the meta-x32.git repository. so do git pull the meta-x32 layer to get the layer working again.
  I am able to build the core-image-minimal-x32 image with the edison branch and the meta-x32 layer. And also validated that the generated executable & libraries are indeed x32 binaries. so closing the bug for good now.
Comment 11 Nitin Kamble 2011-10-10 11:51:34 UTC
BTW you need these lines in local.conf to get x32 build working:

MACHINE = "qemux86-64"
DEFAULTTUNE = "x86-64-x32"
baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'}"
Comment 12 Jiajun Xu 2011-10-10 23:03:32 UTC
(In reply to comment #11)
> BTW you need these lines in local.conf to get x32 build working:
> MACHINE = "qemux86-64"
> DEFAULTTUNE = "x86-64-x32"
> baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or
> 'INVALID'), True) or 'lib'}"

Hi Nitin,
I pull the latest x32 layer and set the configures as you mentioned above. And then I meet a ppl configure error as below:

######
checking for uint_fast32_t... yes
checking for uint_fast64_t... yes
checking for uintptr_t... yes
checking for ld used by GCC... ld
checking if the linker (ld) is GNU ld... yes
checking for shared library run path origin... done
checking how to link with libgmp... /home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/usr/lib/libgmp.so -Wl,-rpath -Wl,/home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/usr/lib
checking how to link with libgmpxx... -lgmpxx /home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/usr/lib/libgmp.so -Wl,-rpath -Wl,/home/jxu49/osel/poky/x32/tmp/sysroots/i686-linux/usr/lib
checking for the GMP library version 4.1.3 or above... no
configure: error: Cannot find GMP version 4.1.3 or higher.
GMP is the GNU Multi-Precision library:
see http://www.swox.com/gmp/ for more information.
When compiling the GMP library, do not forget to enable the C++ interface:
add --enable-cxx to the configuration options.
ERROR: oe_runconf failed
ERROR: Function 'do_configure' failed (see /home/jxu49/osel/poky/x32/tmp/work/i686-linux/ppl-native-0.11.2-r0/temp/log.do_configure.21988 for further information)
######
Comment 13 Jiajun Xu 2011-10-10 23:04:04 UTC
Created attachment 273 [details]
do_configure fail for ppl
Comment 14 Nitin Kamble 2011-10-11 09:42:00 UTC
I think the issue is you do not have gmp & gnp-devel packages installed on your build system.

My my fedora 14 build system see these gmp packages are installed.

$ rpm -qa | grep gmp
gmp-devel-4.3.1-7.fc14.x86_64
gmp-4.3.1-7.fc14.x86_64
Comment 15 Nitin Kamble 2011-10-11 11:29:46 UTC
I tested again, and it is working fine for me. the meta-x32 layer with edison branch is building the core-image-minimal-x32 image fine.

Thanks,
Nitin
Comment 16 Jiajun Xu 2011-10-12 00:00:21 UTC
After installing the libgmp3-dev for Ubuntu, I could pass the build and x32 binaries are installed successfully.
Verify the bug.
Comment 17 Richard Purdie 2011-10-14 05:41:40 UTC
You shouldn't need libgmp3-dev, this sounds like a missing gmp-native dependency?
Comment 18 Nitin Kamble 2011-10-14 10:28:55 UTC
I found out that gmp-native was not generating the libgmpxx.so file needed by ppl-native, hence even though gmp-native was a dependency it was not enough.

I fixed this issue by fixing the gmp-native recipe to also build the needed libgmpxx.so file now. Now ppl-native can build even when gmp-devel is not installed on the build system. 
  I have pushed the fix on the meta-x32 layer here: http://git.yoctoproject.org/cgit/cgit.cgi/experimental/meta-x32/commit/?h=yocto1.1&id=18e15b2350f8161c4f9b2dc10611aef79f914847

Thanks,
Nitin