what the custom script has done is only adding the build dir (which include the 'python' symlink) into the 'PATH', only that. AND: integrate the oe-init-build-env and bitbake together. indeed, no modification.
using it, I can build anything with one command (call the script), without it, I must call init env script manually. archlinux: latest poky: latest build: clean (> 4times) indeed, the possibility you mentioned has been excluded by my test. you can build it succcessfully. what arch of arch you are using? x86 or x86-64? what about the local.conf? are you using the same as mine?. both of them from my side is x86-64. I doubt 'ld', only because of my test. the attachment 'testgconf.sh' contain the root cause of the problem. and I attached the local.conf I have used, just remove the 'SOURCE_MIRROR_URL' if test it. you can run it to check the output, before that, you should change the two var in the head of it: POKY_DIR="/media/pangu/optimus" COMPILE_DIR="/media/pangu/lsbt" in it, the modification I have done (modify 'PATH') has been removed. maybe you can run it success, but you can check the 'libXrandr.so.2' line in the output, if it like: found libXrandr.so.2 at /usr/lib/../lib/libXrandr.so.2 that is the problem, even you success, it has problem. you can paste your output in the email. let's check it. the version of libxrandr on my host is 1.3.2-2. On Wed, 2012-03-28 at 18:06 +0800, Jack Mitchell wrote: > On 28/03/12 10:21, Ni Qingliang wrote: > > no echo again? > > > > what's the problem? > > > > am I wrong? where? > > > > On Tue, 2012-03-27 at 18:09 +0800, 倪庆亮 wrote: > >> thanks your reply, indeed, this is not the first email thread about the > >> gconf compile problem. it in there only because of no echo. > >> > >> I have installed python2, and made a symlink in the build directory, and > >> exported to the env var PATH. > >> > >> this is the script I used to build (located in the build directory): > >> #!/bin/bash > >> loc_dir="`pwd`" > >> . ${loc_dir}/../optimus/oe-init-build-env ${loc_dir} > >> export PATH="${loc_dir}:$PATH" > >> bitbake $@ > >> > >> OS: x86-64 arch / desktop env: gnome 3.2 > >> local.conf ( modified section ): > >> MACHINE ??= "qemux86-64" > >> DISTRO ?= "poky-lsb" > >> SOURCE_MIRROR_URL = "http://10.10.20.149/optimussources/" > >> INHERIT += "own-mirrors" > >> BB_GENERATE_MIRROR_TARBALLS = "0" > >> INHERIT += "rm_work" > >> CCACHE = "" > >> > >> when build gconf, got error: > >> /usr/lib/../lib/libXrandr.so.2: undefined reference to > >> `memcpy@GLIBC_2.14' > >> when 'do_compile' at sanity-check step. > >> > >> the log of do_compile is attached, here is the last cmd (only reserve > >> rpath): > >> ../x86_64-poky-linux-libtool ... -Wl,-rpath -Wl,/usr/lib/../lib > >> > >> the libXrandr.so.2 (depended by the libgtk/libgdk) not appear in the > >> command explicitly. > >> > >> I have add --verbose in the command, and found the ld find it in the > >> host's rootfs, but it should search it in the sysroot arg. > >> > >> If remove the rpath arg or with the rpath arg prefixed by sysroot arg, I > >> can build success. (wich will search the libXrandr in the sysroot arg > >> correctly) > >> > >> so I think the error is focused on the `ld' which should search in the > >> sysroot arg at first for implicit dependended libs, but not host's > >> rootfs. > >> > >> > >> > >> On Tue, 2012-03-27 at 16:49 +0800, Jack Mitchell wrote: > >>> On 27/03/12 03:33, Ni Qingliang wrote: > >>>> who are using archlinux? I want to talk about gconf compile fail > >>>> problem. > >>>> > >>>> > >>> I use Archlinux for OE/Yocto, could you post your error so we can get an > >>> idea of the problem you are having? > >>> > >>> One note for Archlinux is that it ships Python 3 as default, to you must > >>> install Python2 from the repositories then symlink python2 to python in > >>> /usb/bin. > >>> > >>> Regards, > >>> > > I'm not 100% sure what the issue is. How come you are using a custom > build script and not the one bundled with OE? I'm not an expert by any > stretch of the imagination but by not using the given initialisation > scripts leaves me completely out of ideas as you're running a custom > setup which I couldn't possibly know the extent of. > > All I can really comment on is that Yocto builds fine and consistently > with Archlinux using the latest packages (I update nearly everyday) so > the only issue I can see is that your build setup script doesn't cut the > mustard. Have you tried a completely clean build with only the bare git > clone and no modifications? > > Regards, > -- Yi Qingliang niqingli...@insigma.com.cn https://niqingliang2003.wordpress.com
testgconf.sh
Description: testgconf.sh
# # This file is your local configuration file and is where all local user settings # are placed. The comments in this file give some guide to the options a new user # to the system might want to change but pretty much any configuration option can # be set in this file. More adventurous users can look at local.conf.extended # which contains other examples of configuration which can be placed in this file # but new users likely won't need any of them initially. # # Lines starting with the '#' character are commented out and in some cases the # default values are provided as comments to show people example syntax. Enabling # the option is a question of removing the # character and making any change to the # variable as required. # # Parallelism Options # # These two options control how much parallelism BitBake should use. The first # option determines how many tasks bitbake should run in parallel: # BB_NUMBER_THREADS = "4" # # The second option controls how many processes make should run in parallel when # running compile tasks: # #PARALLEL_MAKE = "-j 4" # # For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would # be appropriate for example. # # Machine Selection # # You need to select a specific machine to target the build with. There are a selection # of emulated machines available which can boot and run in the QEMU emulator: # #MACHINE ?= "qemuarm" #MACHINE ?= "qemumips" #MACHINE ?= "qemuppc" #MACHINE ?= "qemux86" #MACHINE ?= "qemux86-64" # # There are also the following hardware board target machines included for # demonstration purposes: # #MACHINE ?= "atom-pc" #MACHINE ?= "beagleboard" #MACHINE ?= "mpc8315e-rdb" #MACHINE ?= "routerstationpro" # # This sets the default machine to be qemux86 if no other machine is selected: MACHINE ??= "qemux86-64" # # Where to place downloads # # During a first build the system will download many different source code tarballs # from various upstream projects. This can take a while, particularly if your network # connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you # can preserve this directory to speed up this part of subsequent builds. This directory # is safe to share between multiple builds on the same machine too. # # The default is a downloads directory under TOPDIR which is the build directory. # #DL_DIR ?= "${TOPDIR}/downloads" # # Where to place shared-state files # # BitBake has the capability to accelerate builds based on previously built output. # This is done using "shared state" files which can be thought of as cache objects # and this option determines where those files are placed. # # You can wipe out TMPDIR leaving this directory intact and the build would regenerate # from these files if no changes were made to the configuration. If changes were made # to the configuration, only shared state files where the state was still valid would # be used (done using checksums). # # The default is a sstate-cache directory under TOPDIR. # #SSTATE_DIR ?= "${TOPDIR}/sstate-cache" # # Where to place the build output # # This option specifies where the bulk of the building work should be done and # where BitBake should place its temporary files and output. Keep in mind that # this includes the extraction and compilation of many applications and the toolchain # which can use Gigabytes of hard disk space. # # The default is a tmp directory under TOPDIR. # #TMPDIR = "${TOPDIR}/tmp" # # Default policy config # # The distribution setting controls which policy settings are used as defaults. # The default value is fine for general Yocto project use, at least initially. # Ultimately when creating custom policy, people will likely end up subclassing # these defaults. # DISTRO ?= "poky-lsb" # As an example of a subclass there is a "bleeding" edge policy configuration # where many versions are set to the absolute latest code from the upstream # source control systems. This is just mentioned here as an example, its not # useful to most new users. # DISTRO ?= "poky-bleeding" # # Package Management configuration # # This variable lists which packaging formats to enable. Multiple package backends # can be enabled at once and the first item listed in the variable will be used # to generate the root filesystems. # Options are: # - 'package_deb' for debian style deb files # - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) # - 'package_rpm' for rpm style packages # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" # We default to rpm: PACKAGE_CLASSES ?= "package_rpm" # # SDK/ADT target architecture # # This variable specified the architecture to build SDK/ADT items for and means # you can build the SDK packages for architectures other than the machine you are # running the build on (i.e. building i686 packages on an x86_64 host._ # Supported values are i686 and x86_64 #SDKMACHINE ?= "i686" # # Extra image configuration defaults # # The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated # images. Some of these options are added to certain image types automatically. The # variable can contain the following options: # "dbg-pkgs" - add -dbg packages for all installed packages # (adds symbol information for debugging/profiling) # "dev-pkgs" - add -dev packages for all installed packages # (useful if you want to develop against libs in the image) # "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) # "tools-debug" - add debugging tools (gdb, strace) # "tools-profile" - add profiling tools (oprofile, exmap, lttng valgrind (x86 only)) # "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) # "debug-tweaks" - make an image suitable for development # e.g. ssh root access has a blank password # There are other application targets that can be used here too, see # meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. # We default to enabling the debugging tweaks. EXTRA_IMAGE_FEATURES = "debug-tweaks" # # Additional image features # # The following is a list of additional classes to use when building images which # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics # - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended USER_CLASSES ?= "buildstats image-mklibs image-prelink" # # Runtime testing of images # # The build system can test booting virtual machine images under qemu (an emulator) # after any root filesystems are created and run tests against those images. To # enable this uncomment this line #IMAGETEST = "qemu" # # This variable controls which tests are run against virtual images if enabled # above. The following would enable bat, boot the test case under the sanity suite # and perform toolchain tests #TEST_SCEN = "sanity bat sanity:boot toolchain" # # Because of the QEMU booting slowness issue (see bug #646 and #618), the # autobuilder may suffer a timeout issue when running sanity tests. We introduce # the variable TEST_SERIALIZE here to reduce the time taken by the sanity tests. # It is set to 1 by default, which will boot the image and run cases in the same # image without rebooting or killing the machine instance. If it is set to 0, the # image will be copied and tested for each case, which will take longer but be # more precise. #TEST_SERIALIZE = "1" # # Interactive shell configuration # # Under certain circumstances the system may need input from you and to do this it # can launch an interactive shell. It needs to do this since the build is # multithreaded and needs to be able to handle the case where more than one parallel # process may require the user's attention. The default is iterate over the available # terminal types to find one that works. # # Examples of the occasions this may happen are when resolving patches which cannot # be applied, to use the devshell or the kernel menuconfig # # Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none # Note: currently, Konsole support only works for KDE 3.x due to the way # newer Konsole versions behave #OE_TERMINAL = "auto" # By default disable interactive patch resolution (tasks will just fail instead): PATCHRESOLVE = "noop" # # Shared-state files from other locations # # As mentioned above, shared state files are prebuilt cache data objects which can # used to accelerate build time. This variable can be used to configure the system # to search other mirror locations for these objects before it builds the data itself. # # This can be a filesystem directory, or a remote url such as http or ftp. These # would contain the sstate-cache results from previous builds (possibly from other # machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the # cache locations to check for the shared objects. #SSTATE_MIRRORS ?= "\ #file://.* http://someserver.tld/share/sstate/ \n \ #file://.* file:///some/local/dir/sstate/" # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to # track the version of this file when it was generated. This can safely be ignored if # this doesn't mean anything to you. CONF_VERSION = "1" SOURCE_MIRROR_URL = "http://10.10.20.149/optimussources/" INHERIT += "own-mirrors" BB_GENERATE_MIRROR_TARBALLS = "0" INHERIT += "rm_work" CCACHE = ""
_______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto