Summary: | ports-mgmt/portmaster looping on checking dependencies when using ccache | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | korsani | ||||||
Component: | Individual Port(s) | Assignee: | Stefan Eßer <se> | ||||||
Status: | In Progress --- | ||||||||
Severity: | Affects Only Me | CC: | se, w.schwarzenfeld | ||||||
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(se) |
||||||
Version: | Latest | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Attachments: |
|
Description
korsani
2019-11-13 09:24:59 UTC
Ccache Makefile: .if defined(WITH_CCACHE_BUILD) && empty(OPTIONS_SLAVE:MMEMCACHED) && \ !defined(NO_CCACHE_DEPEND) MEMCACHED_IGNORE= MEMCACHED cannot be combined with WITH_CCACHE_BUILD. Use devel/ccache-memcached # XXX: This needs more testing with Poudriere before enabling. Also bsd.options.mk support. #MEMCACHED_DEPENDS_ARGS+= NO_CCACHE_DEPEND=1 .endif And set in /etc/make.conf: .if ${.CURDIR:M*/ports/devel/ccache} NO_CCACHE= yes .endif Hi, I already added the part of the Makefile. I added the make.conf stuff. I test, I keep you informed. Hi, It does not work. Extract : ===>>> Starting check for build dependencies ===>>> Gathering dependency list for databases/libmemcached from ports ===>>> Forcing update for /usr/ports/devel/autoconf ===>>> Launching child to reinstall autoconf-2.69_3 ===>>> All >> boost-jam-1.71.0 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 >> ccache-3.5.dev.20180926_1 >> libmemcached-1.0.18_7 >> autoconf-2.69_3 (28/346) You have to build it with make NO_CCACHE=yes. Hi, I understand that I have to build with NO_CCACHE=yes. But the point is that the procedure to upgrade freebsd is portmaster -af (when you have portmaster) at one point. As it could take a long time, depending on the packages you have, I don't stay in frond of my computer. The fact is that if I don't look at the execution, it loops (and I suppose it can make freebsd crash) Nowhere is written that when I use ccache I have to put NO_CCACHE=yes when I upgrade. So, upgrading freebsd whith ccache enabled is not as straightforward as it seems to be. Maybe ccache package should say "add this to make.conf" ? Or "do not portmaster -af with ccache enabled" ? Sorry, my last comment was nonsense. Please attach your /etc/make.conf. Created attachment 209205 [details]
My make.conf
Hi,
My make.conf
Nothing bad in it. You have set in devel/ccache MEMCACHED=off. If you want memcache, you have to use devel/ccache-memcached. I do not know whether this is a problem in CCACHE or in portmaster, and I have never used CCACHE myself. I do understand that you have installed CCACHE to use it for all your compiler runs, but I do not have spare time to test why this does not work for you. If you provide me with more debug information, I might be able to identify the source of this issue, but I do not have the spare time to reproduce your setup on my system. If you want to provide debug traces: bash -x /usr/local/sbin/portmaster <OPTIONS> > /tmp/pm.log 2>&1 & tail -F /tmp/pm.log with options that reproduce the issue and make the compressed trace file "pm.log" available to me (I'd suggest to compress the file with "xz"). Please use "bash -x" since the trace file will contain more readable trace information than produced by "/bin/sh -x". Created attachment 212034 [details]
pm.log
Hi there, I made the pm.log (see file attached). I let 'portmaster -af' run, and the loop exhausted all the memory ! Hi there, Upgrading from perl 5.30 to 5.32, thus invoking portmaster -f `pkg shlib -qR libperl.so.5.30` make it loop... Hi there, Upgrading from perl 5.30 to 5.32, thus invoking portmaster -f `pkg shlib -qR libperl.so.5.30` make it loop... And adding .if ${.CURDIR:M*/ports/devel/ccache-memcached} NO_CCACHE= yes .else WITH_CCACHE_BUILD=yes .endif Does nothing |