Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 282813 - sci-biology/hmmer-3.0_beta1 parallel make failure
Summary: sci-biology/hmmer-3.0_beta1 parallel make failure
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo Science Biology related packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-26 16:13 UTC by Jonathan Manning
Modified: 2009-08-30 19:51 UTC (History)
0 users

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


Attachments
Simple Makefile.in patch to include all objects (hmmer-3.0b1-parallel-make.patch,255 bytes, patch)
2009-08-26 16:25 UTC, Jonathan Manning
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Manning 2009-08-26 16:13:42 UTC
When a parallel make is run (-j > 1), some .o files are not included in libhmmer.a archive, and subsequent linking problems occur.

Example error (exact missing object varies):
make[1]: Entering directory `/var/tmp/portage/sci-biology/hmmer-3.0_beta1/work/hmmer-3.0b1/src'
x86_64-pc-linux-gnu-gcc -std=gnu99 -O2 -pipe -march=nocona -msse2 -DHAVE_CONFIG_H -Wl,-O1 -Wl,--as-needed -L../easel -L. -o hmmalign hmmalign.o -lhmmer -leasel   -lm
hmmalign.o: In function `main':
hmmalign.c:(.text+0xb97): undefined reference to `p7_Fail'
hmmalign.c:(.text+0xc3a): undefined reference to `p7_Fail'
hmmalign.c:(.text+0xd72): undefined reference to `p7_Fail'
./libhmmer.a(tracealign.o): In function `map_new_msa':
tracealign.c:(.text+0x55e): undefined reference to `p7_Die'
tracealign.c:(.text+0x693): undefined reference to `p7_Die'
./libhmmer.a(modelstats.o): In function `p7_MeanForwardScore':
modelstats.c:(.text+0x6c3): undefined reference to `p7_Die'
modelstats.c:(.text+0x6d4): undefined reference to `p7_Die'
modelstats.c:(.text+0x6e2): undefined reference to `p7_Die'
./libhmmer.a(modelstats.o):modelstats.c:(.text+0x6f3): more undefined references to `p7_Die' follow
collect2: ld returned 1 exit status
make[1]: *** [hmmalign] Error 1
make[1]: Leaving directory `/var/tmp/portage/sci-biology/hmmer-3.0_beta1/work/hmmer-3.0b1/src'
make: *** [all] Error 2

Here, error.o wasn't included. Relevant line is:
/usr/bin/ar rcv  libhmmer.a generic_msv.o generic_optacc.o generic_stotrace.o generic_viterbi.o generic_vtrace.o h2_io.o heatmap.o hmmer.o logsum.o modelconfig.o modelstats.o mpisupport.o seqmodel.o tracealign.o p7_alidisplay.o p7_bg.o p7_builder.o p7_domaindef.o p7_gmx.o p7_hmm.o p7_hmmfile.o p7_pipeline.o p7_prior.o p7_profile.o p7_spensemble.o p7_tophits.o p7_trace.o

Build is successful with 'make -j1', and that same ar line reads:
/usr/bin/ar rcv  libhmmer.a build.o emit.o errors.o evalues.o eweight.o generic_decoding.o generic_fwdback.o generic_null2.o generic_msv.o generic_optacc.o generic_stotrace.o generic_viterbi.o generic_vtrace.o h2_io.o heatmap.o hmmer.o logsum.o modelconfig.o modelstats.o mpisupport.o seqmodel.o tracealign.o p7_alidisplay.o p7_bg.o p7_builder.o p7_domaindef.o p7_gmx.o p7_hmm.o p7_hmmfile.o p7_pipeline.o p7_prior.o p7_profile.o p7_spensemble.o p7_tophits.o p7_trace.o


Fix is probably somewhere in src/Makefile, should be reported upstream.
Comment 1 Jonathan Manning 2009-08-26 16:25:26 UTC
Created attachment 202324 [details, diff]
Simple Makefile.in patch to include all objects

Simple change from $? to $^ in libhmmer.a Makefile rule sufficient to fix?
Works for me in several rounds. Was easily reproducible before.
Comment 2 Jonathan Manning 2009-08-26 16:49:02 UTC
Patch submitted upstream. 
On a related note, beta2 is available, and final 3.0 should be available soon.
Comment 3 Andrey Kislyuk (RETIRED) gentoo-dev 2009-08-30 19:51:37 UTC
I couldn't reproduce this. Added workaround to disable parallel make as advised by upstream.