Builds on yocto will fail (do_install: will not overwrite just-created)

Bug #1778612 reported by Tae-Young Kwon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HPLIP
In Progress
Undecided
Unassigned

Bug Description

I am trying to upgrade the hplip version of meta-openembedded.

I am using hplip as yocto.
        yocto: https://www.yoctoproject.org/
hplip is included in meta-openembedded and the current version is 3.12.6.
        hplip(meta-openembedded): http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb?h=master
I am going to upgrade my recipe to 3.18.6.

However, in the do_install step, the following error occurs.
| /home/tykwon/yocto/build/tmp/hosttools/install: will not overwrite just-created '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP/hp-910.ppd.gz' with 'ppd/hpcups/hp-910.ppd.gz'
| /home/tykwon/yocto/build/tmp/hosttools/install: will not overwrite just-created '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP/hp-915.ppd.gz' with 'ppd/hpcups/hp-915.ppd.gz'
| /home/tykwon/yocto/build/tmp/hosttools/install: will not overwrite just-created '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP/hp-amp.ppd.gz' with 'ppd/hpcups/hp-amp.ppd.gz'
| /home/tykwon/yocto/build/tmp/hosttools/install: will not overwrite just-created '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP/hp-business_inkjet_1000.ppd.gz' with 'ppd/hpcups/hp-business_inkjet_1000.ppd.gz'
| /home/tykwon/yocto/build/tmp/hosttools/install: will not overwrite just-created '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP/hp-business_inkjet_1100.ppd.gz' with 'ppd/hpcups/hp-business_inkjet_1100.ppd.gz'
| /home/tykwon/yocto/build/tmp/hosttools/install: will not overwrite just-created '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP/hp-business_inkjet_1200.ppd.gz' with 'ppd/hpcups/hp-business_inkjet_1200.ppd.gz'
| /home/tykwon/yocto/build/tmp/hosttools/install: will not overwrite just-created '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP/hp-business_inkjet_2200.ppd.gz' with 'ppd/hpcups/hp-business_inkjet_2200.ppd.gz'
| /home/tykwon/yocto/build/tmp/hosttools/install: will not overwrite just-created '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP/hp-business_inkjet_2230.ppd.gz' with 'ppd/hpcups/hp-business_inkjet_2230.ppd.gz'
| Makefile:7899: recipe for target 'install-dist_ppdDATA' failed
| make[1]: *** [install-dist_ppdDATA] Error 1
| make[1]: Leaving directory '/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/hplip-3.18.6'
| Makefile:8517: recipe for target 'install-am' failed
| make: *** [install-am] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_install (log file is located at /home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/temp/log.do_install.16858)
ERROR: Task (/home/tykwon/yocto/poky/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.18.6.bb:do_install) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1664 tasks of which 1663 didn't need to be rerun and 1 failed.

The attachment do_install_log.txt is a full log.

I have verified the version of hplip by subdividing it.
Up to 3.17.10 is compiled and error starts from 3.17.11.
From 3.17.10 to 3.17.11, I tried to find the cause by testing in commit units.
However, there is no such source for users like me.

When manually cross-compiling hplip without using yocto, the error did not occur.
Is there a good way to resolve this error?

I'm sorry I do not have enough English.

Regards
Kwon

Revision history for this message
Tae-Young Kwon (xoduddk123) wrote :
description: updated
Revision history for this message
Tae-Young Kwon (xoduddk123) wrote :

I have debugged comparing 3.17.10 and 3.17.11.
hplip-3.17.11 added createPPD.sh.

In yocto, build through the following steps.
        do_fetch -> de_unpack -> do_configure -> do_compile -> do_install
It looks like you are running createPPD.sh in the do_compile (make) step.
createPPD.sh edits cups_drv.inc.

The odd thing is that when createPPD.sh is run, "ppd/hpcups/*.ㅔpd.gz" is added to the cups_drv.inc file.
cups_ppd_printers = \
   ppd/hpcups/*.ppd.gz \
   ppd/hpcups/apollo-2100.ppd.gz \
   ppd/hpcups/apollo-2150.ppd.gz \
   ppd/hpcups/apollo-2200.ppd.gz \
   ppd/hpcups/apollo-2500.ppd.gz \
"ppd/hpcups/*.ppd.gz" is also added to the Makefile.

This causes the "ppd/hpcups/*.ppd.gz" file to be created in the ppd folder in the do_install step.
tykwon:HP$
tykwon:HP$ pwd
/home/tykwon/yocto/build/tmp/work/armv7ahf-vfp-poky-linux-gnueabi/hplip/3.18.6-r1/image/usr/share/ppd/HP
tykwon:HP$ ls
*.ppd.gz hp-deskjet_4530_series.ppd.gz hp-laserjet_5100_series-ps.ppd.gz hp-officejet_7100_series.ppd.gz
apollo-2100.ppd.gz hp-deskjet_460.ppd.gz hp-laserjet_5200-pcl3.ppd.gz hp-officejet_7110_series.ppd.gz
apollo-2150.ppd.gz hp-deskjet_4610_series.ppd.gz hp-laserjet_5200-ps.ppd.gz hp-officejet_7200_series.ppd.gz
apollo-2200.ppd.gz
tykwon:HP$
tykwon:HP$ ls -al \*.ppd.gz
-rw-r--r-- 1 tykwon tykwon 0 6월 26 14:31 *.ppd.gz
tykwon:HP$

I have modified createPPD.sh to solve this problem.
Remove the text "ppd/hpcups/*.ppd.gz" from the cups_drv.inc file.

Attachments are related pictures and patch files.

Revision history for this message
Tae-Young Kwon (xoduddk123) wrote :
Revision history for this message
Tae-Young Kwon (xoduddk123) wrote :
Revision history for this message
srinivas (srinivas5) wrote :

Hi Tae-Young Kwon,

Good to know issue got resolved with the patch. Please let us know if you face any further issues.

Thanks,
Srinivas Teja.

Ayushi (ayushi18)
Changed in hplip:
status: New → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.