Age | Commit message (Collapse) | Author |
|
This is using the aarch64 port to make it work, which is at version
u161b15.
We also add one patch to make this work with musl, too.
Because the aarch64 port is fetched from a different
repository, the version specific include has been split so
as to have all common parts (URIs, patches, configuration
bits) in one single file, and version specific bits
(checksum, mercurial commit ID), in another file, to
ease maintenance, and make distinguishing easier.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
This currently uses a hand-crafted solution to distinguish
between common, native-only and and target-only patches.
That is a bit hard to follow as patches are being applied in
strange order, and is also non-standard.
Instead, we can just use bitbake variable overrides. This
makes it much easier to work with this recipe, as:
* it is clear in which order patches are going to be applied by
looking at the recipe
* it is clear which patches are meant to be common, for build,
or target
* old patches that are still lying around in WORKDIR (e.g.
because rm_work is not enabled), but that have been removed
from SRC_URI are no longer incorrectly applied
* if patches fail to apply, we know exactly which patch has
failed
* we can use PATCHTOOL = without any ill effects
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
X11 wrappers are currently being deleted using a custom
do_patch[postfuncs]. This is confusing to say the least,
as e.g. naming implies this is done after ./configure
has run.
At the moment, this also happens halfway through
patches have been applied, i.e. some patches are being
applied, then the X11 wrappers are deleted, then
more patches are being applied.
Streamline this so that the unneeded wrappers are
removed as part of do_unpack[postfuncs].
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
- openjdk8-fix-zero-mode-crash.patch was a backport -> dropped
- remaining patches -> refreshed
- license checksum change due to address change in license file
(see patch)
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
OpenJDK's build system just doesn't support it (it somehow picks
compiler flags for am64 builds, which are invalid for aarch64).
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
We get a bitbake warning during recipe building complaining about
unsupported architectures unconditionally. That check is relevant
only for shark builds, so it is quite confusing for non-shark
builds.
Make the warning conditional on whether shark builds are enabled
or not.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
When using the linaro cross toolchain GCCVERSION is set to "linaro-6.2%", i.e.
the first char is not GCC's major version.
Thus needed compiler options for GCC 6 are not set.
Fix at least this case by stripping GCCVERSION up to the first numeric char.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 1fbdc60eaccaa29c2942d479f8068b722e7b5bf3)
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
gcc < 6"
This reverts commit 6801f6d4e19c88dabd5a02dfbbf69a2dcc8e079c.
|
|
The patch recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-adlc-flags.patch
had tried to fix this issue, and it tried to filter out the TARGET_FLAGS/TARGET_
CXXFLGAS, but for the flags such as "-fno-lifetime-dse" was added to CFLAGS/CXXFLAGS,
directly, thus that patch failed to filter it out.
To fix this issue, it's better to add those GCC version specific flags to BUILD_CFLAGS/
BUILD_CXXFLAGS and TARGET_CFLAGS/TARGET_CXXFLAGS separatedly, thus that patch can work
as expected.
Signed-off-by: Fupan Li <fupan.li@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
Code is (on my opinion) simpler, making use of the dumpversion flag, instead of calling the pre-processor via a pipe.
Flag has been tested on both clang gcc:
ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-4.8 -dumpversion
4.8
ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-4.9 -dumpversion
4.9.3
ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-5 -dumpversion
5.4.1
ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-6 -dumpversion
6.4.0
ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-7 -dumpversion
7
ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ clang-4.0 -dumpversion
4.2.1
Without this patch:
WARNING:
/home/ricardo/curro/qt5022/build-qt5022-pyro/repo/yocto/../java/recipes-core/openjdk/openjdk-8-native_102b14.bb:
Unable to export ${CXXFLAGS}: Failure expanding variable CXXFLAGS,
expression was
-isystem/home/ricardo/curro/qt5022/build-qt5022-pyro/build/tmp/work/x86_64-linux/openjdk-8-native/102b14-r0/recipe-sysroot-native/usr/include
-O2 -pipe -D_GLIBCXX_USE_CXX11_ABI=0 ${@version_specific_cflags(d)}
${@jdk_cpp_options(d)} which triggered exception IndexError: string
index out of range
WARNING:
/home/ricardo/curro/qt5022/build-qt5022-pyro/repo/yocto/../java/recipes-core/openjdk/openjdk-8-native_102b14.bb:
Unable to export ${CFLAGS}: Failure expanding variable CFLAGS,
expression was
-isystem/home/ricardo/curro/qt5022/build-qt5022-pyro/build/tmp/work/x86_64-linux/openjdk-8-native/102b14-r0/recipe-sysroot-native/usr/include
-O2 -pipe -Wno-error=deprecated-declarations
${@version_specific_cflags(d)} ${@jdk_cpp_options(d)} which triggered
exception IndexError: string index out of range
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
OpenJDK does not build properly with GCC7. Add the same workaround that
we have for GCC6.
Without this patch:
| #
| # A fatal error has been detected by the Java Runtime Environment:
| #
| # SIGSEGV (0xb) at pc=0x00007fcad0efcd5b, pid=17206, tid=0x00007fcab264c700
| #
| # JRE version: OpenJDK Runtime Environment (8.0_102-b14) (build 1.8.0_102-internal-b14)
| # Java VM: OpenJDK 64-Bit Server VM (25.102-b14 mixed mode linux-amd64 compressed oops)
| # Problematic frame:
| # V [libjvm.so+0x78bd5b] Node::Node(unsigned int)+0x2b
| #
| # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
| #
| # An error report file with more information is saved as:
| # /home/ricardo/curro/qt5022/build-qt5022-pyro/build/tmp/work/x86_64-linux/openjdk-8-native/102b14-r0/build/hs_err_pid17206.log
| [thread 140508549912320 also had an error]
|
| [error occurred during error reporting , id 0xb]
|
| #
| # If you would like to submit a bug report, please visit:
| # http://bugreport.java.com/bugreport/crash.jsp
| #
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
bb.data.getVar was removed, need to use the modern mechanism.
Signed-off-by: Cody P Schafer <dev@codyps.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
Simplifies duplicated implementation across multiple recipes that all
inherited from java.bbclass.
Previously implementation was not flexible in supporting other make
job-limiting flags (like -l for load) that are typically passed in
through PARALLEL_MAKE. (OpenJDK doesn't know about these other flags
that might have gotten tagged on after the value for -j.)
Signed-off-by: Kyle Russell <bkylerussell@gmail.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
During my recipe parsing, GCCVERSION in the cross case seems to
be 'l' this leads to a ValueError during recipe parsing. Therefore
check type before trying to parse the version flag.
Signed-off-by: Sven Ebenfeld <sven.ebenfeld@vaillant-group.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
When GCC is at version 4 or 5, parsing the recipe fails with:
ERROR: ExpansionError during parsing
.../ostro-os/meta-java/recipes-core/openjdk/openjdk-8_72b05.bb
...
bb.data_smart.ExpansionError: Failure expanding variable CFLAGS,
expression was -O2 -pipe -g -feliminate-unused-debug-types
-fdebug-prefix-map=.../ostro-os/build/tmp-glibc/work/corei7-64-ostro-
linux/openjdk-8/72b05-r0=/usr/src/debug/openjdk-8/72b05-r0
-fdebug-prefix-map=.../ostro-os/build/tmp-glibc/sysroots/x86_64-linux=
-fdebug-prefix-map=.../ostro-os/build/tmp-glibc/sysroots/intel-corei7-64=
-fstack-protector-strong -D_FORTIFY_SOURCE=2
${ <at> version_specific_cflags(d)} -Wno-error=deprecated-declarations which
triggered exception TypeError: can only join an iterable
That's because FLAGS_GCC<version> may be unset, thus leading to
d.getVar() returning None and ''.join(extraflags) failing.
The join() is also redundant: extraflags already is a string. It
happened to work because Python treats a string as sequence of
single-character strings, and thus ''.join() re-created the original
string.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
Some supported hosts still use GCC 4.X. These don't support the flags
needed to make GCC 6 work, so check the GCC version and add appropriate
compiler flags.
This implementation will append flags for any gcc version, but it's only
used for GCC 6 right now.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
Previously if PARALLEL_MAKE changed, so did the task signature
for do_configure. Use vardepsvalue so that the signature remains
constant.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
GCC 6 sets the default C++ standard to C++14 and introduces dead store
elimination by default. OpenJDK 8 is not ready for either of these
changes, so set the C++ standard back to gnu++98 and disable dead
store elimination.
Switched to using --with-extra-cflags, cxxflags, and ldflags. The added
patch fixes building when using those flags, and are needed to get
CFLAGS into the JDK build in the native case.
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
The OpenJDK builds did not include the update version and build number
leading to problems when applications check for the minimum needed version.
This commit fixes it by adding the update version and build number to the
configure parameters.
Signed-off-by: Bernhard Dick <bernhard@bdick.de>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
Replace all instances of base_contains with bb.utils.contains to avoid
warnings.
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
This adds openjdk-8 for native and target builds and allows a stripped
openjre-8 being built as well instead of trying to cherry-pick jre
components from jdk-image.
The recipes allow building openjdk-8 with or without:
* x11
* cups
* alsa/pulseaudio
and let packager enable unlimited-crypto, if desired.
To support certificate based java libraries, cacerts is created based on
ca-certificates from OE-core.
Since there can be only one PROVIDES for virtual/java-native and virtual/javac-native,
move the provides to openjdk-8-native (I think everyone agrees it's a better
choice than ecj-bootstrap-native).
Plus: Applying a fix from openjdk-9 repository which fixes build issues using gcc5
Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|