DREAMER

[bitbake] error, QA Issue: glibc-locale: Files/directories were installed but not shipped in any package: (solved) 본문

프로그래밍/YOCTO

[bitbake] error, QA Issue: glibc-locale: Files/directories were installed but not shipped in any package: (solved)

연소민 2023. 3. 23. 10:19
728x90
반응형

기존 dunfell branch의 yocto 3.1에서 busybox관련 동작을 확인하기 위해 sumo branch의 yocto 2.5를 빌드 중이다.

 

다음과 같은 에러가 발생하여서 해결 중이다.

QA Issue: glibc-locale: Files/directories were installed but not shipped in any package:

 

몇몇 구글링의 결과로는 install된 파일들이 어느 패키지에 포함되어야 하는지 지정해주지 않아 발생하는 문제라고 한다.

glibc-locale_2.27.bb 파일에 해당 부분을 추가하여 빌드하라고 한다.

FILES_${PN} += "/usr/share/i18n/charmaps/*"
FILES_${PN} += "/usr/share/i18n/locales"
FILES_${PN} += "/usr/lib/gconv"
FILES_${PN} += "/usr/share/i18"

또는 DISTRO_FEATURES에 feature을 추가해서 해결했다는 사람도 있고, usbhost를 추가하여 해결하였다는 사람도 있다.

DISTRO_FEATURES_append = " feature usbhost"

어떤 방법을 해봐도 동일한 에러가 발생한다.

 

일단 맨처음 방법인 FILES_에 path 추가는 아래의 단계를 거쳐서 이미 설정되어있음을 확인할 수 있다.

$ bitbake -e glibc-locale | grep ^FILES_

결과

FILES_SOLIBSDEV="/lib/lib*.so /usr/lib/lib*.so"
FILES_glibc-gconv="/usr/lib/gconv/*"
FILES_glibc-locale="/usr/bin/* /usr/sbin/* /usr/libexec/* /usr/lib/lib*.so.* /etc /com /var /bin/* /sbin/* /lib/*.so.* /lib/udev /usr/lib/udev /lib/udev /usr/lib/udev /usr/share/glibc /usr/lib/glibc/* /usr/share/pixmaps /usr/share/applications /usr/share/idl /usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers"
FILES_glibc-locale-bin="/usr/bin/* /usr/sbin/*"
FILES_glibc-locale-dbg="/usr/lib/debug /usr/src/debug"
FILES_glibc-locale-dev="/usr/include /lib/lib*.so /usr/lib/lib*.so /usr/lib/*.la /usr/lib/*.o /usr/lib/pkgconfig /usr/share/pkgconfig /usr/share/aclocal /lib/*.o /usr/lib/glibc/*.la /lib/*.la"
FILES_glibc-locale-doc="/usr/share/doc /usr/share/man /usr/share/info /usr/share/gtk-doc /usr/share/gnome/help"
FILES_glibc-locale-locale="/usr/share/locale"
FILES_glibc-locale-staticdev="/usr/lib/*.a /lib/*.a /usr/lib/glibc/*.a"
FILES_localedef="/usr/bin/localedef"

내 경우는 이미 경로가 잘 들어가있다.

 

최후의 방법

glibc-locale.inc의 install을 삭제한다.

#do_install () {
#	mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir}
#	if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then
#		cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${bindir}/* ${D}${bindir}
#	fi
#	if [ -n "$(ls ${LOCALETREESRC}/${localedir})" ]; then
#		mkdir -p ${D}${localedir}
#		cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${localedir}/* ${D}${localedir}
#	fi
#	if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then
#		cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir}
#	fi
#	if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then
#		cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir}
#	fi
#	if [ -e ${LOCALETREESRC}/${datadir}/locale ]; then
#		cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/locale ${D}${datadir}
#	fi
#	cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/SUPPORTED ${WORKDIR}
#}

모두 주석처리 하였다. 빌드는 성공. core-image-minimal 플래시 완료.

어떠한 부작용이 발생하는지는 추후 추가해야한다.

728x90
반응형
Comments