Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 421499 - [(incomplete?) PATCH] www-client/httrack-3.45.4 fails to build with parallel make
Summary: [(incomplete?) PATCH] www-client/httrack-3.45.4 fails to build with parallel ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sebastian Pipping
URL:
Whiteboard:
Keywords: PATCH
: 421587 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-06-16 22:40 UTC by Oliver McFadden
Modified: 2012-06-22 20:51 UTC (History)
1 user (show)

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


Attachments
httrack_j1.txt (httrack_j1.txt,188.13 KB, text/plain)
2012-06-16 22:40 UTC, Oliver McFadden
Details
httrack_j6.txt (httrack_j6.txt,90.71 KB, text/plain)
2012-06-16 22:41 UTC, Oliver McFadden
Details
httrack-3.45.4-parallel.patch (incomplete) (httrack-3.45.4-parallel.patch,3.78 KB, patch)
2012-06-19 19:52 UTC, Sebastian Pipping
Details | Diff
build.log (with httrack-3.45.4-parallel.patch applied) (build.log,167.73 KB, text/plain)
2012-06-22 20:32 UTC, Sebastian Pipping
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver McFadden 2012-06-16 22:40:39 UTC
Created attachment 315553 [details]
httrack_j1.txt

Attempting to emerge www-client/httrack-3.45.4 will fail with MAKEOPTS="-j6" set in /etc/make.conf (see attachment httrack_j6.txt,) however commenting out MAKEOPTS and emerging the same ebuild succeeds (see attachment httrack_j1.txt)

The problem appears to be caused by missing or incorrect dependencies in the source Makefiles, allowing the build to proceed before the 'httrack' library has compiled. Obviously serial make avoids this problem.

> ...
> libtool: link: x86_64-pc-linux-gnu-gcc -shared  .libs/htsjava.o   -L/usr/lib -lpthread -ldl -lhttrack -lz  -march=native -mmmx -msse -msse2 -msse3 -msse4.1 -msse4.2 -mssse3 -Wl,-O1 -Wl,--as-needed   -Wl,-soname -Wl,libhtsjava.so.2 -o .libs/libhtsjava.so.2.0.45
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lhttrack
> ...

I suspect this should probably be filed against httrack upstream, but since it's a Gentoo issue, I'm filing it here first.
Comment 1 Oliver McFadden 2012-06-16 22:41:09 UTC
Created attachment 315555 [details]
httrack_j6.txt
Comment 2 Oliver McFadden 2012-06-16 22:48:24 UTC
A suggested workaround is to disable parallel make for this ebuild via package.env:

> echo "www-client/httrack httrack.conf" >> /etc/portage/package.env
> echo "MAKEOPTS=-j1" > /etc/portage/env/httrack.conf

A better solution would be to patch the ebuild to strip MAKEOPTS, until it's fixed upstream. Unfortunately I do not have a patch for either.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2012-06-17 15:05:21 UTC
*** Bug 421587 has been marked as a duplicate of this bug. ***
Comment 4 Sebastian Pipping gentoo-dev 2012-06-19 19:52:53 UTC
Created attachment 315795 [details, diff]
httrack-3.45.4-parallel.patch (incomplete)

Attached is what I have so far.  For some reasons src_install fails now, any help welcome.
Comment 5 Oliver McFadden 2012-06-21 02:30:54 UTC
(In reply to comment #4)
> Created attachment 315795 [details, diff] [details, diff]
> httrack-3.45.4-parallel.patch (incomplete)
> 
> Attached is what I have so far.  For some reasons src_install fails now, any
> help welcome.

Could you attach the compilation log file with your patch applied?
Comment 6 Sebastian Pipping gentoo-dev 2012-06-22 20:32:48 UTC
Created attachment 315993 [details]
build.log (with httrack-3.45.4-parallel.patch applied)

(In reply to comment #5)
> Could you attach the compilation log file with your patch applied?

Sure.  Before I unclear what the error even was.  Now I spotted that

/usr/bin/install: will not overwrite just-created ‘/var/tmp/portage/www-client/httrack-3.45.4/image//usr/share/httrack/libtest/example.c’ with ‘example.c’
/usr/bin/install: will not overwrite just-created ‘/var/tmp/portage/www-client/httrack-3.45.4/image//usr/share/httrack/libtest/example.h’ with ‘example.h’
make[2]: *** [install-exemplesDATA] Error 1

at the top.  If you don't hear from me again within two hours, it means I do still need help figuring things out.
Comment 7 Sebastian Pipping gentoo-dev 2012-06-22 20:51:02 UTC
(In reply to comment #6)
> /usr/bin/install: will not overwrite just-created
> ‘/var/tmp/portage/www-client/httrack-3.45.4/image//usr/share/httrack/libtest/
> example.c’ with ‘example.c’
> /usr/bin/install: will not overwrite just-created
> ‘/var/tmp/portage/www-client/httrack-3.45.4/image//usr/share/httrack/libtest/
> example.h’ with ‘example.h’
> make[2]: *** [install-exemplesDATA] Error 1

I found a similar report with the hint

  "This attempts to install gtkcellview.h and gtkcellviewmenuitem.h twice in a row"

at [1] and that helped to make a patch.  I am happily announcing this bug as fixed (unless proven wrong) :-)  I will send two patches upstream in a minute.

+  22 Jun 2012; Sebastian Pipping <sping@gentoo.org> httrack-3.45.4.ebuild,
+  +files/httrack-3.45.4-install-once.patch,
+  +files/httrack-3.45.4-parallel.patch:
+  Fix parallel make issue (bug #421499) and installing two files twice
+


[1] https://bbs.archlinux.org/viewtopic.php?id=72822