]> code.ossystems Code Review - openembedded-core.git/commitdiff
readline-native: Fix builds on tumbleweed
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 9 Oct 2019 17:02:31 +0000 (18:02 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 9 Oct 2019 21:28:32 +0000 (22:28 +0100)
OpenSuse's libreadline has extra symbol information which upsets our uninative
loader as our libreadline is missing symbols with the appropriate versions.

The simplest solution is to add the version information as they're harmless.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/readline/readline-8.0/rl-native.map [new file with mode: 0644]
meta/recipes-core/readline/readline.inc

diff --git a/meta/recipes-core/readline/readline-8.0/rl-native.map b/meta/recipes-core/readline/readline-8.0/rl-native.map
new file mode 100644 (file)
index 0000000..5e7d49c
--- /dev/null
@@ -0,0 +1,12 @@
+READLINE_6.3 {
+    rl_change_environment;
+    rl_clear_history;
+    rl_executing_key;
+    rl_executing_keyseq;
+    rl_filename_stat_hook;
+    rl_history_substr_search_backward;
+    rl_history_substr_search_forward;
+    rl_input_available_hook;
+    rl_print_last_kbd_macro;
+    rl_signal_event_hook;
+};
index e9665228dc2f798ab44c720ac4925e96f03c79bf..07f54a76f18885c36b5549675f643a3e69a1e8bf 100644 (file)
@@ -43,3 +43,8 @@ do_install_append () {
 BBCLASSEXTEND = "native nativesdk"
 
 CONFFILES_${PN} += "${sysconfdir}/inputrc"
+
+# OpenSuse injects versions into libreadline leading to conficits between our native one and theirs
+# see their spec file for where this is injected. Extra versioning is harmless so we just do the same.
+SRC_URI_append_class-native = " file://rl-native.map"
+LDFLAGS_append_class-native = " -Wl,--version-script=${WORKDIR}/rl-native.map"
\ No newline at end of file