multiple versions of a package?
hi, while using macports, i found this problem that i'm not able to solve: =============================================== omoikane:~ gabor$ port installed subversion The following ports are currently installed: subversion @1.4.2_0 subversion @1.4.3_0 subversion @1.4.3_1 (active) omoikane:~ gabor$ sudo port uninstall subversion @1.4.2_0 ---> Unable to uninstall subversion 1.4.2_0, the following ports depend on it: ---> subversion-perlbindings Error: port uninstall failed: Please uninstall the ports that depend on subversion first. omoikane:~ gabor$ sudo port uninstall subversion @1.4.3_0 ---> Unable to uninstall subversion 1.4.3_0, the following ports depend on it: ---> subversion-perlbindings Error: port uninstall failed: Please uninstall the ports that depend on subversion first. omoikane:~ gabor$ sudo port uninstall subversion @1.4.3_1 ---> Unable to uninstall subversion 1.4.3_1, the following ports depend on it: ---> subversion-perlbindings Error: port uninstall failed: Please uninstall the ports that depend on subversion first. ================================================= so, my questions are: 1. why do i have multiple versions of 'subversion' installed? when i do 'port upgrade subversion', i assumed it installs the new version and removes the old one... is that so? 2. from the messages above, on what does 'subversion-perlbindings' depend exactly? on a specific version of 'subversion'? or simply on 'subversion' as a package? i have used several package managers in the past (rpm, debian, gentoo..), but macports's behavior seems to be quite different. i'd like to understand it, so could you please explain to me what's happening there? thanks, gabor
On May 8, 2007, at 9:28 AM, Gábor Farkas wrote:
omoikane:~ gabor$ sudo port uninstall subversion @1.4.2_0 ---> Unable to uninstall subversion 1.4.2_0, the following ports depend on it: ---> subversion-perlbindings
You need to use -f to force port to do this.
1. why do i have multiple versions of 'subversion' installed? when i do 'port upgrade subversion', i assumed it installs the new version and removes the old one... is that so?
Nope. Unless you pass the -u option (uninstall non-active ports when upgrading and uninstalling) to port, it will just 'deactivate' the old version (so you can quickly switch back and forth between versions).
2. from the messages above, on what does 'subversion-perlbindings' depend exactly? on a specific version of 'subversion'? or simply on 'subversion' as a package?
The dependency tracking isn't extremely smart, so it just knows that the subversions-perlbindings package needs a subversion package installed and will complain if you try to uninstall any of them (you can force port to ignore this with -f and prevent it in the future with -u). -- Daniel J. Luke +========================================================+ | *---------------- dluke@geeklair.net ----------------* | | *-------------- http://www.geeklair.net -------------* | +========================================================+ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | +========================================================+
On May 8, 2007, at 08:38, Daniel J. Luke wrote:
On May 8, 2007, at 9:28 AM, Gábor Farkas wrote:
omoikane:~ gabor$ sudo port uninstall subversion @1.4.2_0 ---> Unable to uninstall subversion 1.4.2_0, the following ports depend on it: ---> subversion-perlbindings
You need to use -f to force port to do this.
1. why do i have multiple versions of 'subversion' installed? when i do 'port upgrade subversion', i assumed it installs the new version and removes the old one... is that so?
Nope. Unless you pass the -u option (uninstall non-active ports when upgrading and uninstalling) to port, it will just 'deactivate' the old version (so you can quickly switch back and forth between versions).
2. from the messages above, on what does 'subversion-perlbindings' depend exactly? on a specific version of 'subversion'? or simply on 'subversion' as a package?
The dependency tracking isn't extremely smart, so it just knows that the subversions-perlbindings package needs a subversion package installed and will complain if you try to uninstall any of them (you can force port to ignore this with -f and prevent it in the future with -u).
Well, that won't prevent the error... it'll just move it to a different place. When he uses "sudo port -u upgrade subversion" next time, he'll get the message that subversion 1.4.3_1 could not be uninstalled because subversion-perlbindings depends on it. To get around it, he'll then need to "sudo port -ufn upgrade subversion".
Ryan Schmidt wrote:
On May 8, 2007, at 08:38, Daniel J. Luke wrote:
On May 8, 2007, at 9:28 AM, Gábor Farkas wrote:
omoikane:~ gabor$ sudo port uninstall subversion @1.4.2_0 ---> Unable to uninstall subversion 1.4.2_0, the following ports depend on it: ---> subversion-perlbindings
You need to use -f to force port to do this.
1. why do i have multiple versions of 'subversion' installed? when i do 'port upgrade subversion', i assumed it installs the new version and removes the old one... is that so?
Nope. Unless you pass the -u option (uninstall non-active ports when upgrading and uninstalling) to port, it will just 'deactivate' the old version (so you can quickly switch back and forth between versions).
2. from the messages above, on what does 'subversion-perlbindings' depend exactly? on a specific version of 'subversion'? or simply on 'subversion' as a package?
The dependency tracking isn't extremely smart, so it just knows that the subversions-perlbindings package needs a subversion package installed and will complain if you try to uninstall any of them (you can force port to ignore this with -f and prevent it in the future with -u).
Well, that won't prevent the error... it'll just move it to a different place. When he uses "sudo port -u upgrade subversion" next time, he'll get the message that subversion 1.4.3_1 could not be uninstalled because subversion-perlbindings depends on it. To get around it, he'll then need to "sudo port -ufn upgrade subversion".
hmm.. maybe my "workflow" with macports is wrong? or everyone is using "-f" all the time? because it seems a little strange to me, that i basically MUST use "-f" when using macports. gabor
On May 8, 2007, at 11:59, Gábor Farkas wrote:
hmm.. maybe my "workflow" with macports is wrong? or everyone is using "-f" all the time?
If you want to upgrade a port on which other ports depend, you must use "-f".
because it seems a little strange to me, that i basically MUST use "-f" when using macports.
Yup. I wish MacPorts was smarter in this area, but it's not.
participants (3)
-
Daniel J. Luke
-
Gábor Farkas
-
Ryan Schmidt