Bug 712 - Fail to build non-GPLv3 image
Summary: Fail to build non-GPLv3 image
Status: VERIFIED FIXED
Alias: None
Product: Meta-yocto
Classification: Build System, Metadata & Runtime
Component: meta-yocto (show other bugs)
Version: 1.0
Hardware: x86 Multiple
: High normal
Target Milestone: 1.0 M4
Assignee: Nitin Kamble
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2011-02-12 07:53 UTC by Jiajun Xu
Modified: 2011-03-24 05:38 UTC (History)
7 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jiajun Xu 2011-02-12 07:53:12 UTC
Testing Env:    
Host: Ubuntu 10.04 LTS
Kernel: 2.6.32-21-generic-pae
commit information: 66e6a9798e5462a6cd8dce22a400b81f1dcae88b

To build a non-GPLv3 image, we should add following line in local.conf: INCOMPATIBLE_LICENSE = "GPLv3". Then it should ignore GPLv3 package. But when I run it against latest tree, it fails to build the image by reporting NoProvider.

I guess there are two problems with variable "INCOMPATIBLE_LICENSE":
a) Poky build just skip these GPLv3 package instead of using a GPLv2 version for these package.
b) Native and cross compile packages are also checked but I think we should not check them.

Detail error is as below:
########
jxu49@vt-nhm4:~/osel/poky-gpl/build$ bitbake poky-image-sato
NOTE: Psyco JIT Compiler (http://psyco.sf.net) not available. Install it to increase performance.
Loading cache: 100% |############################################################################################################################################| ETA:  00:00:00
Loaded 901 entries from dependency cache.
NOTE: SKIPPING which because it's GPLv3+
NOTE: SKIPPING gzip because it's GPLv3+                                                                                                                          | ETA:  --:--:--
NOTE: SKIPPING bison because it's GPLv3
NOTE: SKIPPING readline because it's GPLv3+
NOTE: SKIPPING sed because it's GPLv3+
NOTE: SKIPPING gcc because it's GPLv3
NOTE: SKIPPING autoconf because it's GPLv2|GPLv3
NOTE: SKIPPING gcc-crosssdk-intermediate because it's GPLv3
NOTE: SKIPPING readline-nativesdk because it's GPLv3+
NOTE: SKIPPING mtools because it's GPLv3
NOTE: SKIPPING gperf because it's GPLv3+
NOTE: SKIPPING gcc-cross-canadian-i586 because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3
NOTE: SKIPPING mpfr because it's GPLv3&LGPLv3                                                                                                                    | ETA:  00:00:06
NOTE: SKIPPING gcc-crosssdk because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3                                                       | ETA:  00:00:02
NOTE: SKIPPING binutils-cross-canadian-i586 because it's GPLv3                                                                                                   | ETA:  00:00:02
NOTE: SKIPPING qt4-tools-nativesdk because it's LGPLv2.1 | GPLv3
NOTE: SKIPPING mpfr-nativesdk because it's GPLv3&LGPLv3                                                                                                          | ETA:  00:00:01
NOTE: SKIPPING gcc because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3
NOTE: SKIPPING gcc-runtime because it's GPLv3
NOTE: SKIPPING gawk because it's GPLv3
NOTE: SKIPPING qt4-x11-free because it's LGPLv2.1 | GPLv3
NOTE: SKIPPING gcc-crosssdk-initial because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3
NOTE: SKIPPING gcc-runtime-nativesdk because it's GPLv3
NOTE: SKIPPING gdb-cross-canadian-i586 because it's GPLv3+
NOTE: SKIPPING qt4-x11-free because it's LGPLv2.1 | GPLv3
NOTE: SKIPPING gdb because it's GPLv2&GPLv3&LGPLv2&LGPLv3
NOTE: SKIPPING contacts because it's GPLv2 & GPLv2+ & GPLv3+
NOTE: SKIPPING tar because it's GPLv3
NOTE: SKIPPING gnome-icon-theme because it's LGPLv3 | BY-SAv3
NOTE: SKIPPING m4 because it's GPLv3
NOTE: SKIPPING binutils-crosssdk because it's GPLv3
NOTE: SKIPPING lttng-control because it's GPLv3
NOTE: SKIPPING findutils because it's GPLv3+
NOTE: SKIPPING xz because it's GPLv2+ & GPLv3+ & LGPLv2.1+
NOTE: SKIPPING gcc-runtime because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3
NOTE: SKIPPING ubootchart because it's GPLv3
NOTE: SKIPPING ed because it's GPLv3+
NOTE: SKIPPING gcc-runtime-nativesdk because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3
NOTE: SKIPPING binutils because it's GPLv3
NOTE: SKIPPING qt4-embedded because it's LGPLv2.1 | GPLv3
NOTE: SKIPPING libgcc because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3
NOTE: SKIPPING libgcc-nativesdk because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3
NOTE: SKIPPING talloc because it's LGPLv3+
NOTE: SKIPPING coreutils because it's GPLv3+
NOTE: SKIPPING parted because it's GPLv3+
NOTE: SKIPPING diffutils because it's GPLv3+
NOTE: SKIPPING gettext because it's GPLv3
NOTE: SKIPPING gcc-cross-canadian-i586 because it's GPLv3
NOTE: SKIPPING gmp because it's LGPLv3&GPLv3
NOTE: SKIPPING gettext-nativesdk because it's GPLv3#######################                                                                                       | ETA:  00:00:01
NOTE: SKIPPING gst-ffmpeg because it's GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )                                                          | ETA:  00:00:00
NOTE: SKIPPING grep because it's GPLv3
NOTE: SKIPPING gmp-nativesdk because it's LGPLv3&GPLv3###################################################################                                        | ETA:  00:00:00
NOTE: SKIPPING gcc-crosssdk-initial because it's GPLv3
NOTE: SKIPPING patch because it's GPLv3
NOTE: SKIPPING msmtp because it's GPLv3
NOTE: SKIPPING contacts because it's GPLv2 & GPLv2+ & GPLv3+
NOTE: SKIPPING rsync because it's GPLv3+
NOTE: SKIPPING cpio because it's GPLv3
NOTE: SKIPPING gcc-crosssdk because it's GPLv3#################################################################################                                  | ETA:  00:00:00
NOTE: SKIPPING bash because it's GPLv3+
NOTE: SKIPPING binutils because it's GPLv3
NOTE: SKIPPING qt4-tools-nativesdk because it's LGPLv2.1 | GPLv3
NOTE: SKIPPING qt4-embedded because it's LGPLv2.1 | GPLv3
NOTE: SKIPPING gcc-crosssdk-intermediate because it's GCC RUNTIME LIBRARY EXCEPTION & GPLv2 & GPLv3 & LGPLv2.1 & LGPLv3
Parsing recipes: 100% |##########################################################################################################################################| Time: 00:00:00
Parsing of 797 .bb files complete (706 cached, 91 parsed). 1000 targets, 99 skipped, 0 masked, 0 errors.

OE Build Configuration:
BB_VERSION        = "1.11.0"
METADATA_BRANCH   = "(nobranch)"
METADATA_REVISION = "66e6a9798e5462a6cd8dce22a400b81f1dcae88b"
TARGET_ARCH       = "i586"
TARGET_OS         = "linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "0.9+snapshot-20110212"
TARGET_FPU        = ""

NOTE: Resolving any missing task queue dependencies
NOTE: Runtime target 'task-poky-boot' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['task-poky-boot', 'virtual/i586-poky-linux-compilerlibs']
ERROR: Required build target 'poky-image-sato' has no buildable providers.
Missing or unbuildable dependency chain was: ['poky-image-sato', 'task-poky-boot', 'virtual/i586-poky-linux-compilerlibs']
ERROR: Nothing PROVIDES 'virtual/i586-poky-linux-compilerlibs'
ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/command.py", line 102, in runAsyncCommand
    commandmethod(self.cmds_async, self, options)
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/command.py", line 200, in buildTargets
    command.cooker.buildTargets(pkgs_to_build, task)
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/cooker.py", line 729, in buildTargets
    taskdata.add_unresolved(localdata, self.status)
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/taskdata.py", line 534, in add_unresolved
    self.remove_buildtarget(targetid)
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/taskdata.py", line 491, in remove_buildtarget
    self.fail_fnid(fnid, missing_list)
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/taskdata.py", line 476, in fail_fnid
    self.remove_runtarget(target, missing_list)
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/taskdata.py", line 517, in remove_runtarget
    self.fail_fnid(fnid, missing_list)
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/taskdata.py", line 471, in fail_fnid
    self.remove_buildtarget(target, missing_list)
  File "/home/jxu49/osel/poky-gpl/bitbake/lib/bb/taskdata.py", line 501, in remove_buildtarget
    raise bb.providers.NoProvider(target)
NoProvider: poky-image-sato
########
Comment 1 Saul Wold 2011-03-08 13:35:53 UTC
Build will work for poky-image-minimal and should work for poky-image-basic.  There are 3 recipes that need to be gplv2, m4 bison, util-linux.
Comment 2 Nitin Kamble 2011-03-17 07:34:04 UTC
I have already sent pull requests for GPLv2 versions of m4 & bison recipes. I will check the status of util-linux recipe.

Thanks,
Nitin
Comment 3 Nitin Kamble 2011-03-17 11:06:18 UTC
coreutils was failing while building poky-image-basic. Have a fix for it now.
Comment 4 Nitin Kamble 2011-03-18 10:45:40 UTC
util-linux fix also has sent out to the mailing list.
Comment 5 Nitin Kamble 2011-03-18 16:34:11 UTC
All the commits are in the master branch now.
Comment 6 Nitin Kamble 2011-03-18 16:36:59 UTC
Saul's & Nitin's commites are gone in the master branch, and this bug can be closed now.
Comment 7 Jiajun Xu 2011-03-24 05:38:57 UTC
With gold build, I could build non-GPLv3 for both poky-image-minimal and poky-image-basic now. So verify the bug as fixed now.

branch: bernard/poky master tree
meta-intel commit: 83384c3e83d69245dfe19e36b2a64c8973ad8462
poky commit: 82af8b9fb6d6d1439943fd15b8a75c0e663e4a45