Age | Commit message (Collapse) | Author | Files |
|
Use MLPREFIX to fix:
| cat: /path/to/sysroots/lib32-qemux86-64/sysroot-providers/virtual_libc: No such file or directory
[YOCTO #7924]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The use of TCLIBC in TOOLCHAIN_NEED_CONFIGSITE_CACHE is problematic
since a multilib may have both uclibc and glibc for different multilibs
yet switching between them doesn't change TCLIBC. This would result
in "lib32-glibc" being attempted when lib32 was actually uclibc.
The fix here is to use the virtual providers which bitbake switches
to point correctly at the right things.
This does mean we need to resolve virtual providers but we can do this using
sysroot-providers.
[YCOTO #7607]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Single quotes prevent expansion of $sdkpathnative$bindir.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
In multilib and baremetal configurations, this variable can cause a variety of
problems due to the use of TCLIBC. At least allowing it to be overriden
is a start and allows various configurations to avoid the issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
To add some flexibility to setting up the paths for the toolchain,
add some parameters. This initial use will be in order to point at
the buildsystem toolchain copied in by copy_buildsystem.py.
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
It is necessary to have an SDK for developers who build their software with
ccache to speed up the compilation. Without resolving this, unfortunately the
compilation will fail for them.
Signed-off-by: Laszlo Papp <lpapp@kde.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
When building the U-Boot the lack of a proper sysroot can trigger
following error:
,----
| arm-poky-linux-gnueabi-ld.bfd: cannot find -lgcc
| make[2]: *** [examples/standalone/hello_world] Error 1
| make[1]: *** [examples/standalone] Error 2
| make: *** [examples] Error 2
`----
Guillaume Fournier has posted a very complete analysis of the
problem[1].
1. https://lists.yoctoproject.org/pipermail/meta-freescale/2014-November/011270.html
The use of KCFLAGS makes the build of U-Boot work out of box, now that
it uses the Linux kernel build system.
Reported-by: Guillaume Fournier <gfournier@brioconcept.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
[YOCTO #6951]
The TOOLCHAIN_CONFIGSITE_SYSROOTCACHE value was defaulting to the nativesdk
path and not the associated target path. Set the value in toolchain-scripts
to the target path.
Be sure to set the MLPREFIX within the meta-environment script as multilibs
are processed.
Update the config_site file name to use -BPN- not PN. Otherwise the
environment processing can't find the correct filename.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
In a similar way to the previous script which adds support for native
environment scripts, this adds support for target environment scripts
too.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Sometimes we require extra environment settings to be available on the
environment for proper SDK work. This were done, in past, using
'_append' tasks however with the split of the environment in a
canadian package this has been broken.
The easier and more flexible solution is to use environment subscripts
which are sources by the main script. These are now looked at:
$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh
and sourced.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There was an error in the previous fix for the powerpc toolchain issue, this
should correct it (and simplify the code too).
[YOCTO #6490]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When we build a general toolchain script we should add all the OS
variants to PATH, not just the current one. This is because some can
cross reference each other and if the triplet prefixed ld can't be found
for example, you recieve strange errors.
Doing this resolves bugs exposed during SDK testing.
[YOCTO #6490]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There was still duplicated code in toolchain-scripts, this further cleans
up the functions to remove it. The now unused includedir parameter is also
dropped.
The final scripts do end up reordered slightly and the sysroot is parametrised
for the IDE scripts which is an improvement but should have no functional
difference.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The code was clearly broken and isn't used, even by meta-darwin so we
might as well remove it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
and the for_installer variant
Having two scripts which do basically the same thing is a nightmare. This merges
them together. It also makes the sysroot location a variable in its own right
which may be more useful for end users wanting to change sysroot.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There was a fix missing from a previous commit:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=20a86e16bc54b74fbdb2a3a407d54210ea262925
since there was another section of toolchain-scripts needing updating.
This patch fixes the missing reference and unbreaks the ADT toolchain.
[YOCTO #5340]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The cross-canadian compilers are now build once per architecture but were being
installed into tune specific locations which is incorrect. This adjusts things
so they are make TARGET_ARCH specific. We gain the tune specific parts from the
target sysroot which remains tune specific, the compiler and tools are independent
ot that.
binutils/gcc require sysroot options but since we reset at runtime, these shouldn't
have dependencies in the sstate checksums. They are therefore also excluded.
With these patches, switching machines does not result in a rebuild of *-cross-canadian
and the compiler is correctly located and referenced in the target images.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
when compiling the linux kernel manually. users need to set CROSS_COMPILE separately.
adding the CROSS_COMPILE variable will be nice for using.
Signed-off-by: Zongchun Yu <b40527@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
build external kernel module using SDK
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
When relocating the SDK, applications using python will search for
python modules in the default location and will fail to start.
The below errors are thrown by gdb, for example:
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
In order to overcome this, add the PYTHONHOME variable to the
environment-setup script for both standalone toolchain and
adt-installer. No need to do that for meta-ide-support environment
script since this toolchain does not get relocated.
[YOCTO #3839]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
some packages use M4 variable from environment and sometimes
its hardcoded to /usr/bin/m4 if not found in environment. Lets
define it such that it is picked from path
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
TARGET_PREFIX already has the dash included.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
will make autotools look for arm-none-linux-gnueabi--ar instead of arm-none-linux-gnueabi-ar.
Signed-off-by: Martin Ertsaas <mertsas@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
[YOCTO #2761]
This patch fixed the issue that after "bitbake meta-ide-support" and try to start qemu and it will fail. This is due to the meta-ide-support lacking dependency for qemu native and ended up using qemu under /usr/bin. Fix the issue by adding dependency for qemu native in meta-ide-support and also add the path info in the environment-setup script.
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
The build system passes specific TUNE (fundamental) flag values to various
tools instead of using a shell wrapper or similar. It is important that the
build system and ADT/SDK match the behaviors exactly, or we are likely to
have differences in the way build-system and external components are built
leading to configuration, compilation and/or run-time problems.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In order to enable basic multilib support for the export of an SDK
image, a number of minor changes had to be made:
The value of MULTIMACH_TARGET_SYS needs to be variable. This way we
can define the value to the appropriate multilib. (Also in some cases
the default PACKAGE_ARCH is set to MACHINE_ARCH which is incorrect for
the SDK.) Add a companion REAL_MULTIMACH_TARGET_SYS, based on code
from meta-environment, to allow for this.
We have to convert the do_populate_sdk into a python call, and then
break up the previous items into three parts.
* Image construction
* Setup of environment files
* Generation of the tarball
Then we can iterate over the multilibs to populate the environment files.
Finally, matching changes were needed in the toolchain-scripts file. And
what I presume is an optimization of immediate evaluation for
TOOLCHAIN_CONFIGSITE_NOCACHE and ..._SYSROOTCACHE needed to be done at
runtime, otherwise the wrong values may be used.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Fixed bug [YOCTO #2159] by correctly populate the libc's siteconfig
files.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
unecessarily machine specific
basehash changed from 30e97f9eeed1df8488b62b4fb47a3a0c to 72ea9a277e6599ae9052b169b9a94f1b
Variable TOOLCHAIN_CONFIGSITE_SYSROOTCACHE value changed from
/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/share/x86_64-oe-linux_config_site.d
to
/OE/oe-core/tmp-eglibc/sysroots/qemux86-64copy/usr/share/x86_64-oe-linux_config_site.d
Variable TIME value changed from 084543 to 085638
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
|
env case
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
This class currently only works with eglibc. Since
it adds dependencies explicitly on eglibc when using
uclibc this creates problems. So we make sure that
it checks for TCLIBC to determine system C library
in use
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
This is the result of running the following over the metadata:
sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
[YOCTO #892]
Modify the function toolchain_create_sdk_siteconfig to collect the
cached site config files which are specified by
TOOLCHAIN_NEED_CONFIGSITE_CACHE in runtime.
Also added task dependency to ensure the cached site config files are
generated.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
This is comming from x32 need to pass special parameters to ld & as.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
[YOCTO #1306] Fixing.
Added and unified version related variables in all environment files
generated by package meta-toolchain, meta-ide-support,
meta-environment-xxx.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
Fixed [BUGID #1299]. OLD_MULTIMACH_TARGET_SYS is no longer available.
Use new recipe-scope variable REAL_MULTIMACH_TARGET_SYS instead.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
correct libtool 2.4
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
[YOCTO #908] Added CPPFLAGS into the environment file and added
--sysroot to it.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
[YOCTO #808] Added --sysroot to LDFALGS in environment files.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
moving common code between populate_sdk.bbclass and meta-environment.bb
into toolchain-script.bbclass.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
Added missing --with-libtool-sysroot and --sysroot in environment files.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
This commit changes the sysroots path to be machine specific.
Changes includes:
1) STAGING_DIR_TARGET and STRAGING_DIR_HOST points to machine specific
paths.
2) task stamp files. Adding ${MACHINE} info into stamp files for
do_populate_sysroots and do_package tasks. Add a BB_STAMPTASK_BLACKLIST
to keep native, nativesdk, crosssdk, and cross-canadian stamp unchanged.
3) siteconfig path. Separate the site config path for different machines
to avoid one machine adopting the cache file of another machine.
4) sstate. Add machine name to sstate manifest file.
Change relocation code for sstate paths since sysroot is machine.
Keep native, nativesdk, crosssdk, and cross-canadian unchanged.
5) toolchain scripts. Change the environment path to point to machine
specific sysroots in toolchain scripts bbclass.
6) Relocate la files when populating to a different machine of the same
architecture.
7) Exclude STAGING_DIR_TARGET and STAGING_DIR_HOST parameter from sstate
siginfo since they contain ${MACHINE} information.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
|
[BUGID #651]. c++ include dir is no longer needed in the environment
files due to commit f13cb20.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
environment files.
[BUGID #565] Fixing bug #565, added package of
meta-environment-${TARGET_ARCH} for environment files used by
cross-canadian toolchain.
Also corrected the situation of empty config site file for target.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
This change didn't work as expected as ld.so.cache doesn't preseve any search
path ordering, therefore revert the change.
This reverts commit b2c3ce6d17520d43b10777dd306449876cb40819.
|