无法为我的DE0-Nano-SoC板构建引导程序和内核映像

时间:2018-10-02 12:29:39

标签: yocto intel-fpga soc

我正在使用poky为我的DE0-Nano-SoC板构建BSP。我收到以下错误。请帮助我。

使用bitbake虚拟/引导程序后,我得到了这些:

我正在使用poky为我的DE0-Nano-SoC板构建BSP。我收到以下错误。请帮助我。

使用bitbake虚拟/引导程序后,我得到了这些:

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 \
  "

1 个答案:

答案 0 :(得分:0)

  

/ home / andy / yocto / meta-yocto-bsp \

在您的bblayers.conf中重复了