Opened 14 years ago
Closed 14 years ago
#26768 closed defect (fixed)
activating qt4-mac 4.6.3_6 fails
Reported by: | deliverable@… | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.9.1 |
Keywords: | Cc: | ||
Port: | qt4-mac |
Description (last modified by jmroot (Joshua Root))
The current port contains, on post-destroot, use of /usr/bin/find without fullk path:
... find -E ...
Since I installed findutils +with_native_names, it was picking up the MacPorts find which has no -E, and failing. I edited the Portfile to say
... /usr/bin/find -E ...
However, after that I couldn't build -- I had to clean and rebuild, and now get
DEBUG: Executing org.macports.activate (qt4-mac) ---> Activating qt4-mac @4.6.3_6 Error: Target org.macports.activate returned: could not read "0": no such file or directory DEBUG: Backtrace: could not read "0": no such file or directory while executing "file type $srcfile" (procedure "_check_contents" line 9) invoked from within "_check_contents $name $contents $imagedir" (procedure "portimage::activate" line 107) invoked from within "registry_activate $name "${version}_${revision}${portvariants}" [array get user_options]" (procedure "portactivate::activate_main" line 6) invoked from within "$procedure $targetname"
I can see destroot/ full of stuff.
Attachments (1)
Change History (12)
comment:1 Changed 14 years ago by jmroot (Joshua Root)
Description: | modified (diff) |
---|---|
Owner: | changed from macports-tickets@… to michaelld@… |
Port: | qt4-mac added |
comment:2 Changed 14 years ago by michaelld (Michael Dickens)
I'll swap out the 'find -E' for something else with the upgrade to 4.7.0. Should be in place by mid-next week.
comment:3 Changed 14 years ago by deliverable@…
I'm still not sure what happens here:
~ port contents qt4-mac Port qt4-mac does not contain any files or is not active.
Trying to -f activate or install yields the same message as above, about a "0" which could not be read.
comment:4 Changed 14 years ago by michaelld (Michael Dickens)
The port errors out during destroot, so it was never activated. It also seems like something broke during installation or activation. If you do:
ls `port dir qt4-mac`
does "work" show up? If so 'cd port dir qt4-mac
/work' and then to 'ls' again & make sure 'destroot' and qt-* are both there. If so, then try:
sudo rm -rf destroot cd .. sudo port -o -f destroot qt4-mac [+variants]
which should re-create the destroot stage, which if you correct the Portfile then that should work this time. If so, finish of the install via
sudo port -o -f install qt4-mac [+variants]
If not, post back the errors here. Might be the same as before, in which case I'd recommended doing a 'clean' and trying again with the whole shebang. Most of the time I have success coercing 'port' into re-doing destroot, but sometimes it just fails after a few times.
comment:5 Changed 14 years ago by deliverable@…
work is there and there was a destroot there along with qt-..., removed destroot, install fails in the same way, strange that destroot does nothing:
/opt/local/var/macports/sources/rsync.macports.org/release/ports/aqua/qt4-mac/work sudo port -o -f destroot qt4-mac ---> Computing dependencies for qt4-mac /opt/local/var/macports/sources/rsync.macports.org/release/ports/aqua/qt4-mac ls work qt-everywhere-opensource-src-4.6.3
-- destroot doesn't show up!
Here's my fix:
/opt/local/var/macports/sources/rsync.macports.org/release/ports/aqua/qt4-mac diff Portfile Portfile\~orig 320c320 < foreach fixfile [exec /usr/bin/find -E ${destroot_qt} \ ---
foreach fixfile [exec find -E ${destroot_qt} \
I'd hate to rebuild from clean, did it with this Portfile and it takes 90 minutes. Anything else to try?
comment:6 Changed 14 years ago by michaelld (Michael Dickens)
From the 'work' directory, look at the .macports* file (note the "." at the beginning). If "destroot" is there, sudo edit it & remove that line & any following it, then try again with the destroot script. Worth a try. I also hate recompiling Qt.
comment:7 Changed 14 years ago by deliverable@…
Destroot has stuff in it allright, still
---> Activating qt4-mac Error: port activate failed: could not read "0": no such file or directory ??
How can we debug it?
comment:8 Changed 14 years ago by michaelld (Michael Dickens)
Can you post the debug output (either via -d or the logfile)? Worth a try.
comment:9 Changed 14 years ago by deliverable@…
Same as the original report:
DEBUG: Found Dependency: receipt exists for qt4_select DEBUG: activate phase started at Mon Oct 11 21:01:04 EDT 2010 DEBUG: Executing org.macports.activate (qt4-mac) ---> Activating qt4-mac @4.6.3_6 Error: Target org.macports.activate returned: could not read "0": no such file or directory DEBUG: Backtrace: could not read "0": no such file or directory while executing "file type $srcfile" (procedure "_check_contents" line 9) invoked from within "_check_contents $name $contents $imagedir" (procedure "portimage::activate" line 107) invoked from within "registry_activate $name "${version}_${revision}${portvariants}" [array get user_options]" (procedure "portactivate::activate_main" line 6) invoked from within "$procedure $targetname" Log for qt4-mac is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_aqua_qt4-mac/main.log Error: Status 1 encountered during processing.
comment:10 Changed 14 years ago by michaelld (Michael Dickens)
No idea. I'm attaching a Portfile diff from the original 4.6.3 version, which removes the "-E" by doing 2 separate foreach's -- a quick and simple solution, hopefully. Give it a try using the same methods as before & let me know if it works.
Changed 14 years ago by michaelld (Michael Dickens)
Attachment: | qt4-mac-Portfile.diff added |
---|
Split "find -E" into two separate "find"s.
comment:11 Changed 14 years ago by michaelld (Michael Dickens)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Should be fixed in r72571. I'm closing this ticket as fixed, but please reopen if the issue in this ticket isn't addressed for you after doing a "sudo port selfupdate" and trying to install qt4-mac again.
Please remember to preview and use WikiFormatting, fill in the Port field, and cc the maintainer.
If the activate phase is running, then the port is already registered as installed.