Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#27611 closed defect (fixed)

qt4-mac: can't activate 4.7.1

Reported by: bjoern.ricks@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: qt qt4 Cc: ryandesign (Ryan Carsten Schmidt)
Port: qt4-mac

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Yesterday I did update my qt version from 4.6.2 to 4.7.1 and now I am not able to activate the new version.

sudo port activate qt4-mac @4.7.1_0+mysql+quartz
--->  Activating qt4-mac @4.7.1_0+mysql+quartz
Error: port activate failed: could not create new link "/opt/local/bin/lrelease": that path already exists

Also removing the symlink manually before running port activate doesn't work.

Change History (10)

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to michaelld@…
Summary: can't activate qt4-mac 4.7.1qt4-mac: can't activate 4.7.1

Please use WikiFormatting so your posts are legible, and Cc the maintainer of the port so they see and can act upon your report.

comment:2 Changed 13 years ago by michaelld (Michael Dickens)

Is "qt4_select" installed? If so, what does "qt4_select -s" return?

comment:3 Changed 13 years ago by bjoern.ricks@…

yes it is.

qt4_select -s
qt4-mac

comment:4 Changed 13 years ago by michaelld (Michael Dickens)

Ah; you're running an old version of 'port', without the sqlite database -- the "pre-activate" phase will not be issued automatically. You can do it manually though: do "sudo qt4_select none" and then try activating the new qt4-mac. Assuming that works, do "sudo port clean phonon" and then try installing phonon again -- has a much better chance of working this time :)

comment:5 Changed 13 years ago by bjoern.ricks@…

hmm imho it should not be old

$ port version
Version: 1.9.2

and I got a new issue

Selecting version "none" for qt4
rm: /opt/local/share/qt4: is a directory
there were 1 errors selecting version "none"!

comment:6 Changed 13 years ago by bjoern.ricks@…

but it did work ;-) thanks for your help!

comment:7 Changed 13 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

Glad it worked. When I say "old version of port" what I mean is one that pre-dates using sqlite for keeping the database. I only updated mine with 1.9.0 to that version; IIRC, you have to completely reinstall from scratch. From "${prefix}/etc/macports/macports.conf":

# Type of storage to use for the port registry information, "flat" or "sqlite"
# default is sqlite, flat is legacy
#portdbformat           sqlite

Before I upgraded this was set to "flat" which was good for the time; now I use "sqlite" which is -so- much better. I think there's a wiki-page about doing this upgrade.

comment:8 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

sqlite registry format was only available starting with MacPorts 1.9.0. It is recommended, but MacPorts does not switch you to it automatically.

You don't have to reinstall anything; you only need to set portdbformat to sqlite in macports.conf. It will upgrade your registry automatically next time you run any port command.

comment:9 Changed 13 years ago by michaelld (Michael Dickens)

Sweet! I'd highly recommend moving from flat to sqlite for the database; it is much faster & also allows use of certain stages (e.g., pre-activate). And, if 'port' will do the work auto-magically, even better!

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

The pre-activate should still be run when you install with the flat registry, it just won't be run when you activate the same version after having deactivated it thereafter.

Note: See TracTickets for help on using tickets.