Я использую poky для создания BSP для моей платы DE0-Nano-SoC.я получил следующую ошибку.Пожалуйста помоги мне с этим.
После использования bitbake virtual / bootloader я получил следующее:
Я использую poky для сборки BSP для моей платы DE0-Nano-SoC.я получил следующую ошибку.Пожалуйста помоги мне с этим.
После использования bitbake virtual / bootloader я получил следующие данные:
Pseudo is not present but is required, building this first before the main build
ERROR: Execution of event handler 'external_linaro_toolchain_version_handler' failed
Traceback (most recent call last):
File "external_linaro_toolchain_version_handler(e)", line 12, in external_linaro_toolchain_version_handler(e=<bb.event.ConfigParsed object at 0x7fba3998b4d0>)
File "external-linaro-toolchain-versions.inc", line 4, in elt_get_gdb_version(d=<bb.data_smart.DataSmart object at 0x7fba3a726fd0>)
NameError: global name 'CmdError' is not defined
WARNING: Host distribution "Ubuntu 16.04.5 LTS" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |#############################################################################################################################| ETA: 00:00:00
Loaded 1162 entries from dependency cache.
Parsing recipes: 100% |###########################################################################################################################| Time: 00:00:00
Parsing of 854 .bb files complete (852 cached, 2 parsed). 1163 targets, 111 skipped, 0 masked, 0 errors.
Build Configuration:
BB_VERSION = "1.16.0"
TARGET_ARCH = "arm"
TARGET_OS = "linux-gnueabi"
MACHINE = "socfpga_cyclone5"
DISTRO = "poky"
DISTRO_VERSION = "1.3"
TUNE_FEATURES = "armv7a vfp neon callconvention-hard cortexa9"
TARGET_FPU = "vfp-neon"
meta
meta-yocto
meta-yocto-bsp
meta-yocto-bsp
meta-linaro
meta-altera = "<unknown>:<unknown>"
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: do_compile (see /home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/temp/log.do_compile.15455 for further information)
ERROR: Logfile of failure stored in: /home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/temp/log.do_compile.15455
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 4
| make all-recursive
| make[1]: Entering directory '/home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/pkg-config-0.25'
| Making all in glib-1.2.10
| make[2]: Entering directory '/home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/pkg-config-0.25/glib-1.2.10'
| make all-recursive
| make[3]: Entering directory '/home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/pkg-config-0.25/glib-1.2.10'
| Making all in .
| make[4]: Entering directory '/home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/pkg-config-0.25/glib-1.2.10'
| ./x86_64-linux-libtool --tag=CC --mode=link gcc -isystem/home/andy/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -Wall -D_REENTRANT -L/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -L/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath-link,/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath,/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-O1 -o testglib testglib.o libglib.la
| ./x86_64-linux-libtool --tag=CC --mode=link gcc -isystem/home/andy/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -Wall -D_REENTRANT -L/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -L/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath-link,/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath,/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-O1 -o testgdate testgdate.o libglib.la
| ./x86_64-linux-libtool --tag=CC --mode=link gcc -isystem/home/andy/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -Wall -D_REENTRANT -L/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -L/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath-link,/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath,/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-O1 -o testgdateparser testgdateparser.o libglib.la
| x86_64-linux-libtool: link: gcc -isystem/home/andy/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -Wall -D_REENTRANT -Wl,-rpath-link -Wl,/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link -Wl,/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath -Wl,/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath -Wl,/home/andy/build/tmp/sysroots/x86_64-linux/lib -Wl,-O1 -o testgdate testgdate.o -L/home/andy/build/tmp/sysroots/x86_64-linux/usr/lib -L/home/andy/build/tmp/sysroots/x86_64-linux/lib ./.libs/libglib.a
| ./.libs/libglib.a(gdate.o): In function `g_bit_nth_lsf':
| gdate.c:(.text+0x240): multiple definition of `g_bit_nth_lsf'
| testgdate.o:testgdate.c:(.text+0x0): first defined here
| ./.libs/libglib.a(gdate.o): In function `g_bit_nth_msf':
| gdate.c:(.text+0x270): multiple definition of `g_bit_nth_msf'
| testgdate.o:testgdate.c:(.text+0x30): first defined here
| ./.libs/libglib.a(gdate.o): In function `g_bit_storage':
| gdate.c:(.text+0x2b0): multiple definition of `g_bit_storage'
| testgdate.o:testgdate.c:(.text+0x70): first defined here
| ./.libs/libglib.a(gmem.o): In function `g_bit_nth_lsf':
| gmem.c:(.text+0x50): multiple definition of `g_bit_nth_lsf'
.
.
.
.
.
| ./.libs/libglib.a(gslist.o): In function `g_bit_storage':
| gslist.c:(.text+0x160): multiple definition of `g_bit_storage'
| testgdateparser.o:testgdateparser.c:(.text+0x70): first defined here
| collect2: error: ld returned 1 exit status
| Makefile:484: recipe for target 'testgdateparser' failed
| make[4]: *** [testgdateparser] Error 1
| make[4]: Leaving directory '/home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/pkg-config-0.25/glib-1.2.10'
| Makefile:562: recipe for target 'all-recursive' failed
| make[3]: *** [all-recursive] Error 1
| make[3]: Leaving directory '/home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/pkg-config-0.25/glib-1.2.10'
| Makefile:395: recipe for target 'all' failed
| make[2]: *** [all] Error 2
| make[2]: Leaving directory '/home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/pkg-config-0.25/glib-1.2.10'
| Makefile:580: recipe for target 'all-recursive' failed
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory '/home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/pkg-config-0.25'
| Makefile:345: recipe for target 'all' failed
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see /home/andy/build/tmp/work/x86_64-linux/pkgconfig-native-0.25-r5/temp/log.do_compile.15455 for further information)
ERROR: Task 27 (virtual:native:/home/andy/yocto/meta/recipes-devtools/pkgconfig/pkgconfig_0.25.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 53 tasks of which 52 didn't need to be rerun and 1 failed.
No currently running tasks (47 of 63)
Summary: 1 task failed:
virtual:native:/home/andy/yocto/meta/recipes-devtools/pkgconfig/pkgconfig_0.25.bb, do_compile
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
local.conf
#
# 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 don'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:
#
# For a quadcore, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
# be appropriate for example.
PARALLEL_MAKE = "-j 4"
# Build into the tmp directory, not tmp-eglibc
TCLIBCAPPEND = ""
#
# Machine Selection
#
# You need to select a specific machine to target the build with. There are a selection
# 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 ??= "socfpga_vt"
MACHINE ??= "socfpga_cyclone5"
#
# Where to place downloads
#
# During a first build the system will download many differernt 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 through 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 chages 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 complation 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"
# As an exable of a subclass there is a "bleeding" egde policy configuration
# where many versions are set to the absolute latest code from the upstream
# source control systems. This is just mentioned here an 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 for suitable of development
# e.g. ssh root access has a blank password
# There are other application targets that can be uses here too, see
# meta/classes/core-image.bbclass and meta/recipes-core/tasks/task-core.bb 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:
# - '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 ?= "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, oot test case under sanity suite and
# toolchain tests
#TEST_SCEN = "sanity bat sanity:boot toolchain"
#
# Because of the QEMU booting slowness issue(see bug #646 and #618), autobuilder
# may suffer a timeout issue when running sanity test. We introduce variable
# TEST_SERIALIZE here to reduce the time on sanity test. It is by default set
# to 1. This will start image and run cases in the same image without reboot
# or kill. 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 to use xterm.
#
# Examples of the occasions this may happen are when resolving patches which cannot
# be applied, to use the devshell or the kernel menuconfig
#
# If you do not use (or have installed) xterm you will need to
# uncomment these variables and set them to the terminal you wish to use
#
# Supported shell prefixes for *_TERMCMD and *_TERMCMDRUN are:
# GNOME, SCREEN, XTERM and KONSOLE
# Note: currently, Konsole support only works for KDE 3.x due to the way
# newer Konsole versions behave
#TERMCMD = "${XTERM_TERMCMD}"
#TERMCMDRUN = "${XTERM_TERMCMDRUN}"
# 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"
# This saves disk space, but appears to trigger a bug where do_rm_work happens too early
# when virtual/kernel is still compiling kernel modules and thus kernel build fails
#INHERIT += "rm_work"
# Premirrors reduces download time and bandwidth usage by downloading files from
# alternate locations, especially from internal file/web servers.
SOURCE_MIRROR_URL = "file:///opt/altera-linux/sources/"
INHERIT += "own-mirrors"
# Disable the network connectivity check
CONNECTIVITY_CHECK_URIS = ""
#
# IMAGE_INSTALL - Setting these will override the list of packages installed in the
# filesystems. This default list of packages can be found in meta-altera/recipes-core/images
#
#ALTERA_IMAGE_INSTALL = "initramfs-altera busybox base-passwd base-files tinylogin sysvinit initscripts"
#ALTERA_MINIMAL_IMAGE_INSTALL = ""
#
# INITRAMFS_IMAGE - this selects what filesystem you want as an initramfs. Not setting
# this will cause no initramfs to be built into uImage. After setting this for the
# first time sure to run bitbake -f -c configure virtual/kernel in order to set Linux
# to build with an initramfs. Same goes for clearing this.
#INITRAMFS_IMAGE = "altera-image-minimal"
#
# Setting the following variables will enable the use of the Linaro toolchain. If not set
# you will build using gcc built by Yocto. EXTERNAL_TOOLCHAIN must be set to the path
# where the linaro toolchain exists and should have subdirectories named lib, bin, etc
#
TCLIBC = "external-linaro-toolchain"
TCMODE = "external-linaro"
EXTERNAL_TOOLCHAIN = "/opt/altera-linux/linaro/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux"
bblayers.conf
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "6"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
/home/andy/yocto/meta \
/home/andy/yocto/meta-yocto \
/home/andy/yocto/meta-yocto-bsp \
/home/andy/yocto/meta-yocto-bsp \
/home/andy/yocto/meta-linaro \
/home/andy/yocto/meta-altera \
"