Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 251066 - app-text/ghostscript-gpl-8.63 does not parallel-install (forces MAKEOPTS=-j1)
Summary: app-text/ghostscript-gpl-8.63 does not parallel-install (forces MAKEOPTS=-j1)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Printing (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Printing Team
URL: http://bugs.debian.org/cgi-bin/bugrep...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-15 22:28 UTC by Nathan Phillip Brink (binki) (RETIRED)
Modified: 2011-05-06 15:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
installation log (ghostscript-gpl-8.63.log,1.22 MB, text/plain)
2008-12-15 22:31 UTC, Nathan Phillip Brink (binki) (RETIRED)
Details
my emerge info for 2008/12/17 (emerge--info.txt,7.20 KB, text/plain)
2008-12-17 21:14 UTC, Nathan Phillip Brink (binki) (RETIRED)
Details
Output of ebuild install after emerge failure (ghostscript-gpl_ebuild_install.log,15.79 KB, text/plain)
2008-12-18 10:57 UTC, Jouni Kosonen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2008-12-15 22:28:04 UTC
During the installation process of app-text/ghostscript-gpl-8.6[23], a file is copied to image/usr/share/ghostscript/8.63/lib, causing lib to become that file and not to be a directory. All subsequent copies of files into that folder get lost - except the last file copied ends up being named /usr/share/ghostscript/8.63/lib .
Therefore, no ghostcript commands I need to use work if I upgrade to one of these packages. This includes CUPS based printing and just using ps2pdf14:

$ ps2pdf14 alexander.ps
GPL Ghostscript 8.62: Can't find initialization file gs_init.ps.

$ cat /usr/share/ghostscript/8.62/lib 
/* XPM */
static char * gs_t_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
... (remaining output is cut - contains a nice picture of a flame :-) )

Reproducible: Always

Steps to Reproduce:
1. ARCH=amd64
2. ghostscript useflags: USE=X bindist cjk cups djvu gtk -jpeg2k
3. $ emerge =ghostscript-gpl-8.63
4. $ ps2pdf14 alexander.ps
Actual Results:  
GPL Ghostscript 8.62: Can't find initialization file gs_init.ps.


Expected Results:  
I expected the file to be converted...

The commands from ghostscript-gpl's install-script that create the image/usr/share/ghostscript/8.63/lib as a file rather than a folder are as follows:

./src/instcopy -c -m 644 ./contrib/japanese/dmp_init.ps /var/tmp/portage/app-text/ghostscript-gpl-8.63/image//usr/share/ghostscript/8.63/lib || exit 1
./src/instcopy -c -m 644 ./contrib/japanese/dmp_site.ps /var/tmp/portage/app-text/ghostscript-gpl-8.63/image//usr/share/ghostscript/8.63/lib || exit 1
./src/instcopy -c -m 644 ./contrib/japanese/escp_24.src /var/tmp/portage/app-text/ghostscript-gpl-8.63/image//usr/share/ghostscript/8.63/lib || exit 1
for f in ./contrib/uniprint/*.upp; do \
            ./src/instcopy -c -m 644 $f /var/tmp/portage/app-text/ghostscript-gpl-8.63/image//usr/share/ghostscript/8.63/lib || exit 1; \
        done

They are run before the mkdir command is run:

mkdir -p /var/tmp/portage/app-text/ghostscript-gpl-8.63/image//usr/share/ghostscript/8.63/lib
mkdir: cannot create directory `/var/tmp/portage/app-text/ghostscript-gpl-8.63/image//usr/share/ghostscript/8.63/lib': File exists
make: [install-libdata] Error 1 (ignored)


I tried running with USE=-cjk , but it still copied files from contrib/japanese/* before making the directory
Comment 1 Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2008-12-15 22:31:10 UTC
Created attachment 175375 [details]
installation log

search this log for the string '8.63/lib'. The first 10 hits will yield the excerpts from the log I posted in my first comment.
This was with USE=cjk, but USE=-cjk yielded essentially the same thing.
Comment 2 Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2008-12-17 12:37:46 UTC
0Oops - I left USE=cjk in the summary even though it doesn't affect this bug
Comment 3 Timo Gurr (RETIRED) gentoo-dev 2008-12-17 16:33:22 UTC
Please also attach your emerge --info and the output of:
grep DESTDIR /usr/portage/app-text/ghostscript-gpl/ghostscript-gpl-8.63.ebuild

Strange thing is your build.log seems to miss the make -jX DESTDIR line.

>>> Install ghostscript-gpl-8.63 into /var/tmp/portage/app-text/ghostscript-gpl-8.63/image/ category app-text
make -j2 DESTDIR=/var/tmp/portage/app-text/ghostscript-gpl-8.63/image/ install-so install 
mkdir -p /var/tmp/portage/app-text/ghostscript-gpl-8.63/image//usr/share
Comment 4 Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2008-12-17 21:14:03 UTC
(In reply to comment #3)
> Please also attach your emerge --info and the output of:
> grep DESTDIR /usr/portage/app-text/ghostscript-gpl/ghostscript-gpl-8.63.ebuild

Thanks for the help. Output of grep is small enough to throw here:

 $ grep DESTDIR /usr/portage/app-text/ghostscript-gpl/ghostscript-gpl-8.63.ebuild
        emake DESTDIR="${D}" install-so install || die "emake install failed"
        emake DESTDIR="${D}" install || die "emake ijs install failed"
Comment 5 Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2008-12-17 21:14:57 UTC
Created attachment 175647 [details]
my emerge info for 2008/12/17
Comment 6 Timo Gurr (RETIRED) gentoo-dev 2008-12-17 21:52:49 UTC
Please retry with saner *FLAGS, for example "-O2 -pipe -march=athlon64".
Comment 7 Jouni Kosonen 2008-12-18 10:54:22 UTC
Happened here too, even with CFLAGS="-O2 -pipe" MAKEOPTS="-j5 -l6" .
Appears to be a parallelization failure, since simply running ebuild install after the failure succeeded; this time the 
mkdir -p /var/tmp/portage/app-text/ghostscript-gpl-8.63/image//usr/share/ghostscript/8.63/lib
got run before the for loop instcopying files in the directory.

Comment 8 Jouni Kosonen 2008-12-18 10:57:08 UTC
Created attachment 175708 [details]
Output of ebuild install after emerge failure
Comment 9 Timo Gurr (RETIRED) gentoo-dev 2008-12-18 16:04:28 UTC
Could you please edit the ebuild in src_install() to include -j1 please?
-emake DESTDIR="${D}" install-so install || die "emake install failed"
+emake -j1 DESTDIR="${D}" install-so install || die "emake install failed"
After that do
ebuild ghostscript-gpl-8.63.ebuild digest && emerge ghostscript-gpl --oneshot
and report back if that fixes it for you. Thanks in advance.
Comment 10 Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2008-12-18 21:53:43 UTC
(In reply to comment #9)
> Could you please edit the ebuild in src_install() to include -j1 please?
> -emake DESTDIR="${D}" install-so install || die "emake install failed"
> +emake -j1 DESTDIR="${D}" install-so install || die "emake install failed"
> After that do
> ebuild ghostscript-gpl-8.63.ebuild digest && emerge ghostscript-gpl --oneshot
> and report back if that fixes it for you. Thanks in advance.
> 
I made this change and it installs cleanly. Thanks for this fix: I can leave my MAKEOPTS alone and get parallel building still. I wish I had remembered that parallel builds cause problems like this a week ago.
Comment 11 Timo Gurr (RETIRED) gentoo-dev 2009-01-16 21:01:01 UTC
Thanks for testing guys, workaround in place for ghostscript-gpl-8.63-r1. Still needs to be fixed upstream though.
Comment 12 Xake 2010-09-14 05:23:14 UTC
I canot reproduce with 8.71, is this bug still present for you guys if you remove -j1 from emake install in the ebuild?
Comment 13 Justin Lecher (RETIRED) gentoo-dev 2011-05-06 15:51:35 UTC
Version in question was removed from the tree