Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 246373 - dev-libs/judy-1.0.4 fails build race condition with -j>1
Summary: dev-libs/judy-1.0.4 fails build race condition with -j>1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal
Assignee: Peter Volkov (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-11 05:15 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2008-11-11 19:41 UTC (History)
1 user (show)

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


Attachments
emerge --info > file (emerge--info,3.98 KB, text/plain)
2008-11-11 05:18 UTC, Kent Fredric (IRC: kent\n) (RETIRED)
Details
paludis --info judy::gentoo > file (paludis--info-judy::gentoo,24.73 KB, text/plain)
2008-11-11 05:19 UTC, Kent Fredric (IRC: kent\n) (RETIRED)
Details
inherit autotools too (judy-1.0.4-ebuild.patch,595 bytes, patch)
2008-11-11 19:27 UTC, Jeroen Roovers (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2008-11-11 05:15:02 UTC
At the end of the compilation, it would appear some phases create rules for other phases of the "doc" dirs processing, and results in a build failure. 

cd man/man3; ln -s JudySL_funcs JudySLFreeArray
cd man/man3; ln -s JudySL JSLFA
cd man/man3; ln -s JudyL_funcs JudyLPrevEmpty
../tool/jhton ext/JudyHS_3.htm | grep -v '^[   ]*$' | sed -e 's/\.C//' > man/man3/JudyHS
cd man/man3; ln -s JudyL_funcs JudyLCount
../tool/jhton ext/JudyHS_funcs_3.htm | grep -v '^[   ]*$' | sed -e 's/\.C//' > man/man3/JudyHS_funcs
make[2]: *** No rule to make target `man/man3/JudyLByCount', needed by `all-am'.  Stop.
make[2]: *** Waiting for unfinished jobs....
cd man/man3; ln -s JudyHS JHSG 
cd man/man3; ln -s JudyL_funcs JudyLByCount
cd man/man3; ln -s JudyHS_funcs JudyHSGet
cd man/man3; ln -s JudyHS JHSI
cd man/man3; ln -s JudyL_funcs JudyLFreeArray
cd man/man3; ln -s JudyHS_funcs JudyHSIns


I delved into the problem and hacked the ebuild up a few times and found that -j1 solves this problem for the doc dir. 

I also found this novel way ( that works ) to build to docs with -j1 and the rest of it with -j(n) without it breaking. 

src_compile() { 

	econf
	cd "${S}/doc" 
	emake -j1 || die "emake failed"
	cd "${S}"
	emake || die "emake failed"
}

I have however noted something odd:

<>> [obj] /usr/lib64/debug/usr/lib64/libJudy.so.1.0.3.debug
<>> [obj] /usr/lib64/libJudy.so.1.0.3

Not sure if that is a bug or not.
Comment 1 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2008-11-11 05:18:24 UTC
( also note, the specific error that it brings up with a failure problem is semi-random due to the race condition deal ) 

Comment 2 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2008-11-11 05:18:55 UTC
Created attachment 171396 [details]
emerge --info > file
Comment 3 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2008-11-11 05:19:29 UTC
Created attachment 171398 [details]
paludis --info judy::gentoo > file
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2008-11-11 19:27:32 UTC
Created attachment 171452 [details, diff]
inherit autotools too

It seems to be going wrong much earlier on:

>>> Unpacking source...
>>> Unpacking Judy-1.0.4.tar.gz to /var/tmp/portage/dev-libs/judy-1.0.4/work
 * Applying judy-1.0.4-parallel-make.patch ...
  [ ok ]
/var/tmp/portage/dev-libs/judy-1.0.4/temp/environment: line 2352: eautomake: command not f
ound
 * Running elibtoolize in: Judy-1.0.4
 * Applying install-sh-1.5.4.patch ...
 * Applying portage-1.5.10.patch ...
 * Applying max_cmd_len-1.5.20.patch ...
 * Applying sed-1.5.6.patch ...
>>> Source unpacked.
Comment 5 Peter Volkov (RETIRED) gentoo-dev 2008-11-11 19:41:01 UTC
Fixed in the tree. Build issue, no revision bump necessary.