Does openssl10 work for anyone in real-world scenarios? I was trying to fix at least some of the failures reported in last bitbake world status: http://lists.openembedded.org/pipermail/openembedded-core/2017-August/140829.html
But in most recipes if you update DEPENDS to use openssl10, it will get openssl (1.1) somewhere in dependency tree as well, e.g. like qtbase through python3: OE qemux86@ ~/build/oe-core $ grep " -> \"openssl.*do_populate_sysroot" task-depends.dot "qtbase.do_prepare_recipe_sysroot" -> "openssl10.do_populate_sysroot" "openssl10.do_prepare_recipe_sysroot" -> "openssl-native.do_populate_sysroot" "python3-native.do_prepare_recipe_sysroot" -> "openssl-native.do_populate_sysroot" "python3.do_prepare_recipe_sysroot" -> "openssl.do_populate_sysroot" and then do_prepare_recipe_sysroot fails, because both dependencies provid libssl.a: ERROR: qtbase-5.9.0+gitAUTOINC+f6b36eaafe-r0 do_prepare_recipe_sysroot: Error executing a python function in exec_python_func() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:extend_recipe_sysroot(d) 0003: File: '/OE/build/oe-core/openembedded-core/meta/classes/staging.bbclass', lineno: 510, function: extend_recipe_sysroot 0506: dest = newmanifest[l] 0507: if l.endswith("/"): 0508: staging_copydir(l, targetdir, dest, seendirs) 0509: continue *** 0510: staging_copyfile(l, targetdir, dest, postinsts, seendirs) 0511: 0512: for f in fixme: 0513: if f == '': 0514: staging_processfixme(fixme[f], recipesysroot, recipesysroot, recipesysrootnative, d) File: '/OE/build/oe-core/openembedded-core/meta/classes/staging.bbclass', lineno: 151, function: staging_copyfile 0147: os.symlink(linkto, dest) 0148: #bb.warn(c) 0149: else: 0150: try: *** 0151: os.link(c, dest) 0152: except OSError as err: 0153: if err.errno == errno.EXDEV: 0154: bb.utils.copyfile(c, dest) 0155: else: Exception: FileExistsError: [Errno 17] File exists: '/OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl/usr/lib/libssl.a' -> '/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot/usr/lib/libssl.a' ERROR: qtbase-5.9.0+gitAUTOINC+f6b36eaafe-r0 do_prepare_recipe_sysroot: Function failed: extend_recipe_sysroot ERROR: Logfile of failure stored in: /OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/temp/log.do_prepare_recipe_sysroot.6496 ERROR: Task (/OE/build/oe-core/meta-qt5/recipes-qt/qt5/qtbase_git.bb:do_prepare_recipe_sysroot) failed with exit code '1' And not just libssl.a, they both provide also identically named pkg-config files: openssl.pc, libcrypto.pc, libssl.pc OE qemux86@ ~/build/oe-core $ find /OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl10/ | grep pc /OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl10/usr/lib/pkgconfig/openssl.pc /OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl10/usr/lib/pkgconfig/libcrypto.pc /OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl10/usr/lib/pkgconfig/libssl.pc OE qemux86@ ~/build/oe-core $ find /OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl | grep pc /OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl/usr/lib/pkgconfig/openssl.pc /OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl/usr/lib/pkgconfig/libcrypto.pc /OE/build/oe-core/tmp-glibc/sysroots-components/i586/openssl/usr/lib/pkgconfig/libssl.pc So you cannot just select which openssl implementation you want for given component, unless it's very simple component with small dependency tree.
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core