Sorry, was busy with something else.

Thanks for the hint. I think, i found the reason: The Links is already broken 
on install. Its part of the Autotools Install of the eudev project 
(src/libudev/Makefile.in):

> 
> 
> 
> install-exec-hook:
> libname=libudev.so; if test "$(libdir)" != "$(rootlibdir)"; then \
> $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
> so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
> so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\)\?[^/]\+,..,g')
> && \
> $(LN_S) -f $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name
> $(DESTDIR)$(libdir)/$$libname && \
> mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
> fi
> 
> 

In Case of nativesdk, this leads to bad results, as all of these paths a 
prefixed with default SDK path (/opt/plat_sdk/sysroots/x86_64-platsdk-linux in 
my case):

> 
> 
> 
> libname=libudev.so; if test
> "/opt/plat_sdk/sysroots/x86_64-platsdk-linux/usr/lib" !=
> "/opt/plat_sdk/sysroots/x86_64-platsdk-linux/lib"; then \
> /home/admin/workspaces/yocto/build/tmp/hosttools/mkdir -p
> /home/admin/workspaces/yocto/build/tmp/work/x86_64-nativesdk-platsdk-linux/nativesdk-eudev/3.2.14/image/opt/plat_sdk/sysroots/x86_64-platsdk-linux/lib
> && \
> so_img_name=$(readlink
> /home/admin/workspaces/yocto/build/tmp/work/x86_64-nativesdk-platsdk-linux/nativesdk-eudev/3.2.14/image/opt/plat_sdk/sysroots/x86_64-platsdk-linux/usr/lib/$libname)
> && \
> so_img_rel_target_prefix=$(echo
> /opt/plat_sdk/sysroots/x86_64-platsdk-linux/usr/lib | sed
> 's,\(^/\)\?[^/]\+,..,g') && \
> ln -s -f
> $so_img_rel_target_prefix/opt/plat_sdk/sysroots/x86_64-platsdk-linux/lib/$so_img_name
> /home/admin/workspaces/yocto/build/tmp/work/x86_64-nativesdk-platsdk-linux/nativesdk-eudev/3.2.14/image/opt/plat_sdk/sysroots/x86_64-platsdk-linux/usr/lib/$libname
> && \
> mv
> /home/admin/workspaces/yocto/build/tmp/work/x86_64-nativesdk-platsdk-linux/nativesdk-eudev/3.2.14/image/opt/plat_sdk/sysroots/x86_64-platsdk-linux/usr/lib/$libname.*
> /home/admin/workspaces/yocto/build/tmp/work/x86_64-nativesdk-platsdk-linux/nativesdk-eudev/3.2.14/image/opt/plat_sdk/sysroots/x86_64-platsdk-linux/lib;
> \
> fi
> 
> 

That path seems to be replaced in all symlinks when SDK is installed to a 
different location than default - thats the reason for the individual bad 
symlinks.
As a workaround i just replace the symlink with the correct one. This is very 
dirty, but it works and i do not have to patch eudev:

> 
> 
> 
> do_install:append:class-nativesdk() {
> # Workaround to fix libudev.so symlink in nativesdk
> ln -s -f ../../lib/$(basename $(readlink -f ${D}${libdir}/libudev.so))
> ${D}${libdir}/libudev.so.new
> rm -f ${D}${libdir}/libudev.so
> mv ${D}${libdir}/libudev.so.new ${D}${libdir}/libudev.so
> }
> 
> 
> 

Thanks for help!
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#63286): https://lists.yoctoproject.org/g/yocto/message/63286
Mute This Topic: https://lists.yoctoproject.org/mt/106368600/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to