Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 35 |
Nodes: | 6 (0 / 6) |
Uptime: | 29:08:58 |
Calls: | 322 |
Calls today: | 1 |
Files: | 959 |
Messages: | 81,833 |
Posted today: | 3 |
Hello everyone,
Is it possible to stop a compilation midway in the case of a very long compilation and then resume it from the same point without having to start over from the beginning ?
Thank you for your response.
Best regards,
--
Jacques Montier.
Hi Jacques,
I think you are looking for SIGSTP or SIGSTOP but I think that's
not exactly it. From what I know you cannot do that for emerge
easily. For similar results you might want to set up ccache. https://wiki.gentoo.org/wiki/Ccache
Regards
Filip
On Saturday, February 8th, 2025 at 15:47, Jacques Montier <jmontier@gmail.com> wrote:
Hello everyone,long compilation and then resume it from the same point without
Is it possible to stop a compilation midway in the case of a very
having to start over from the beginning ?
Thank you for your response.
Best regards,
--
Jacques Montier.
Would that survive a full reboot? I'm asking about a regular desktop
top system. It's rare but sometimes I am doing updates and have a power failure and have to shutdown until power comes back. I've always just
done a emerge --resume but that starts any unfinished emerges from
scratch. Just curious if this would work. If I can remember to do it if
it does. ;-)
On 2025.02.08 14:00, Filip Kobierski wrote:
Hi Jacques,
I think you are looking for SIGSTP or SIGSTOP but I think that's
not exactly it. From what I know you cannot do that for emerge
easily. For similar results you might want to set up ccache. https://wiki.gentoo.org/wiki/Ccache
Regards
Filip
On Saturday, February 8th, 2025 at 15:47, Jacques Montier
<jmontier@gmail.com> wrote:
Hello everyone,
Is it possible to stop a compilation midway in the case of a very
long compilation and then resume it from the same point without
having to start over from the beginning ?
Thank you for your response.
Best regards,
--
Jacques Montier.
If you really mean just interrupting a compile, then you should be able
to stop with Ctl-C, and then start/continue by running make or ninja
again, assuming that is what is used for whatever you are compiling.
Ccache can help since most of the results of the previous compile
attempt will have been cached, and so will be completed more quickly
the next time, but it's not the same as continuing from where it was interrupted.
If, as Filip implies, you are asking about interrupting emerge, it's
easy enough to interrupt, but essentially impossible to continue from
where it left off. "emerge --continue" will just try to emerge every
package from the interrupted emerge which was not completed, but it
will start each one from scratch. What has often, but not alwasy
worked for me, is to use ebuild directly. "ebuild
.../path/to/package.ebuild compile" will figure out that everything
prior to the compile was completed, and then issue the make or ninja commands, which will just pick up where they left off. If that does
work, then you need to repeat the ebuild, but with the install and then
the qmerge commands. The only problem with that (for me, at least) is
that ebuild does not leave exactly the same lines in emerge.log, so a
package installed that way will not show up in "gentlop -t package"
output.
 Hello everyone,
Is it possible to stop a compilation midway in the case of a very long compilation and then resume it from the same point without having to
start over from the beginning ?
Thank you for your response.
Best regards,
--
Jacques Montier.
 Hello everyone,
Is it possible to stop a compilation midway in the case of a very long compilation and then resume it from the same point without having to
start over from the beginning ?
Thank you for your response.
Le dim. 9 févr. 2025 à 15:36, Håkon Alstadheim <hakon@alstadheim.priv.no> a
écrit :
Den 08.02.2025 15:47, skrev Jacques Montier:
Hello everyone,
Is it possible to stop a compilation midway in the case of a very long compilation and then resume it from the same point without having to start over from the beginning ?
Thank you for your response.
For the big compiles I set PORTAGE_TMPDIR=/pt/ , which I have created
and which is NOT a tmpfs, so it will survive a reboot (and I don't have enough ram anyway) . You might also want to check FEATURES, either
globally or on a per-package basis, make sure you don't have fail-clean. Watch out so your newly permanent tmpdir does not fill up.
Then, if it dies for some reason, I do for example:
<code> ebuild `equery w www-client/firefox ` merge. </code>
make or cmake or whatever will do the best it can to pick up where it
left off.
P.S: Search the web to find out to set FEATURES and PORTAGE_TMPDIR in
the environment on a per-package basis, or just prepend the settings to your command-line.
Thank you all for your feedback and advice.
For testing,
- emerge media-libs/opencv-4.10.0
- some time later CTRL+C to stop compilation
Then I followed Jack's advice
- ebuild /var/db/repos/gentoo/media-libs/opencv/opencv-4.10.0.ebuild compile - ebuild /var/db/repos/gentoo/media-libs/opencv/opencv-4.10.0.ebuild
install - ebuild
/var/db/repos/gentoo/media-libs/opencv/opencv-4.10.0.ebuild qmerge
Everything worked fine, thanks a lot.
Good evening to all,
Best regards,
--
Jacques
Oops. I didn't think about it being on tmpfs.