1 |
I can't answer why it works in this particular case, but the generic |
2 |
answer is that using a -j greater than one risks the launching of a job |
3 |
that requires some output of another job not yet completed, or even |
4 |
run. I suspect if you hunt through the build log, you will find the |
5 |
missing file now created before it is used. If you look at the |
6 |
specific line that created the file, you probably won't find it in the |
7 |
log of the build that failed. My assumption is that assuring correct |
8 |
ordering of tasks during a build is non-trivial in some (many?) cases, |
9 |
and instead of configuring make (or whatever build system is used) to |
10 |
do so, the developers just assume -j1. I'm pretty sure there are (or |
11 |
used to be) some ebuilds which explicitly override and -j greater than |
12 |
one, in cases where it is known to frequently fail. Again, if you're |
13 |
looking for the reason this is so - I can't help. |
14 |
|
15 |
Jack |
16 |
|
17 |
On 2020.05.07 19:20, Victor Ivanov wrote: |
18 |
> In case anyone encounters the same issue, the problem was solved by |
19 |
> single threaded build using MAKEOPTS="-j1". No other config changes. |
20 |
> |
21 |
> Why this works but not otherwise remains a mystery. I also had the |
22 |
> same |
23 |
> problem earlier today with dev-python/matplotlib-2.2.2-r1 except the |
24 |
> linker was complaining about an incompatible version of libc. Again |
25 |
> solved by -j1 and no other config modifications. |
26 |
> |
27 |
> I have sometimes experienced this with some packages but exceptionally |
28 |
> rarely which is why it's not on usually on my "to try" list. If anyone |
29 |
> has any insights as to why this might be happening (in general), I |
30 |
> would |
31 |
> be grateful and happy to expand my knowledge :) |
32 |
> |
33 |
> Cheers, |
34 |
> Victor |
35 |
> |
36 |
> On 07/05/2020 15:53, Victor Ivanov wrote: |
37 |
> > Ah, thanks for pointing this out! It appears I'm blind ... |
38 |
> > |
39 |
> > It's rather surprising though, as sci-libs/lapack was neither |
40 |
> upgraded |
41 |
> > nor rebuilt. Since sci-libs/scipy wasn't upgraded either it ought to |
42 |
> > link just fine as it had previously been built against the same |
43 |
> version |
44 |
> > of sci-libs/lapack. I'm quite baffled. |
45 |
> > |
46 |
> > Rebuilding sci-libs/lapack didn't help and neither did ~amd64 |
47 |
> keywording |
48 |
> > it. The error remains the same, which would make sense as there's |
49 |
> not |
50 |
> > really a new version of sci-libs/lapack. |
51 |
> > |
52 |
> > Cheers, |
53 |
> > Victor |
54 |
> > |
55 |
> > On 07/05/2020 15:04, Peter Humphrey wrote: |
56 |
> >> On Thursday, 7 May 2020 14:31:41 BST Victor Ivanov wrote: |
57 |
> >>> Hi all, |
58 |
> >>> |
59 |
> >>> For some reason SciPy fails to compile after today's Python 3.6 -> |
60 |
> >>> Python 3.7 global update. It was the only package that failed out |
61 |
> of all. |
62 |
> >>> |
63 |
> >>> Normally build.log (attached) is helpful enough to get me to |
64 |
> resolve the |
65 |
> >>> issue. However, it fails with a surprisingly unhelpful message |
66 |
> during a |
67 |
> >>> call to gfortran. Or maybe I'm unable to spot the proper error |
68 |
> message. |
69 |
> >> |
70 |
> >> Isn't this the cause? |
71 |
> >> |
72 |
> >> x86_64-pc-linux-gnu-gcc: |
73 |
> /var/tmp/portage/sci-libs/scipy-1.1.0/temp/tmpeyMzsQ/ |
74 |
> >> source.c |
75 |
> >> |
76 |
> /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: |
77 |
> >> /var/tmp/portage/sci-libs/scipy-1.1.0/temp/ccGtNhqg.o: in function |
78 |
> `main': |
79 |
> >> source.c:(.text.startup+0x8c): undefined reference to `cblas_ddot' |
80 |
> >> collect2: error: ld returned 1 exit status |
81 |
> >> |
82 |
> > |
83 |
> |
84 |
> |