Opened 10 years ago

Closed 10 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)

qt4-mac-Portfile.diff (639 bytes) - added by michaelld (Michael Dickens) 10 years ago.
Split "find -E" into two separate "find"s.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 10 years ago by jmroot (Joshua Root)

Description: modified (diff)
Owner: changed from macports-tickets@… to michaelld@…
Port: qt4-mac added

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.

comment:2 Changed 10 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 10 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 10 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 10 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 10 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 10 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 10 years ago by michaelld (Michael Dickens)

Can you post the debug output (either via -d or the logfile)? Worth a try.

comment:9 Changed 10 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 10 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 10 years ago by michaelld (Michael Dickens)

Attachment: qt4-mac-Portfile.diff added

Split "find -E" into two separate "find"s.

comment:11 Changed 10 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

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.

Note: See TracTickets for help on using tickets.