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.
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
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.
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.
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
Verify the bug as fixed against edison branch.
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.
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.
Created attachment 271 [details] error log when building x32
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
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.
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'}"
(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) ######
Created attachment 273 [details] do_configure fail for ppl
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
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
After installing the libgmp3-dev for Ubuntu, I could pass the build and x32 binaries are installed successfully. Verify the bug.
You shouldn't need libgmp3-dev, this sounds like a missing gmp-native dependency?
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