On Oct 8, 2015, at 8:34 AM, Adam Dershowitz wrote:

> On Oct 8, 2015, at 8:57 AM, Ryan Schmidt wrote:
> 
>> On Oct 7, 2015, at 9:53 AM, Adam Dershowitz wrote:
>> 
>>> Is there a way that I can rebuild and reactivate an older version of a  
>>> port?  I know about this link:  
>>> https://trac.macports.org/wiki/howto/InstallingOlderPort  but the problem I 
>>> have is a little bit different.
>>> I have the old versions still on my computer, including the source (these 
>>> were ports that build from source), and they are for a port that is not 
>>> hosted on macports.  
>>> The problem is that one of the dependents changed, so if I just activate 
>>> the old version it fails.  So, what I want is essentially to “activate from 
>>> source” or “rebuild @version)” since I already have the source and the port 
>>> for the old version.  
>>> I can just activate the old version because there is the issue of a bad 
>>> link, so it needs to be rebuilt.  
>>> I tried: 
>>> sudo port install myport @myoldversion but it tried to rebuild the new 
>>> version, which is not what I want.  
>>> I also tried just giving the source flag:
>>> sudo port activate -s myport @myoldversion but then it just activated the 
>>> old version.  
>>> 
>>> I actually had no intention of yet upgrading this port, but when I upgraded 
>>> one of the dependents , macports found that the port was now broken, and 
>>> proceeded to download the new version of the port before rebuilding.  But, 
>>> that new version is actually broken (for a completely unrelated reason).  
>>> So, now I can’t use the new version of the port, and I want to go back to 
>>> the old version, but I can just activate it, because of the dependent 
>>> issue.  So, I want to just have macports rebuild the old version from 
>>> source.  
>> 
>> I don't know what to tell you. I don't completely understand your issue. 
>> InstallingOlderPort explains how to install an older version of a port. 
>> "sudo port install" does not support an "@version" modifier.
>> 
>> Maybe it would help if you told us what version of what port you're trying 
>> to build, and, since you said it's not hosted on MacPorts, where it's 
>> hosted, or where you got it.
>> 
> 
> Sure.  Sorry that my description was not detailed enough.
> I have openmodelica-devel installed, and it was working fine.  And, I have 
> often done upgrades with no problem.  
> Some install details are here:  https://openmodelica.org/download/download-mac
> And, they keep the source code here:  
> http://build.openmodelica.org/apt/pool/contrib/
> 
> Yesterday I upgraded qt4-mac.  That caused macports to determine that a few 
> ports were broken (since qt4-mac seems to have changed the location of some 
> files) and to cause them to rebuild.  One that it tried to rebuild was 
> openmodelica-devel.  The problem is that I was not using the most recent 
> version.  They upgrade every few hours typically, as this is develop code.  
> Some recent change that they made has caused the recent versions not to build 
> correctly.  The developers are aware of that, and it will get fixed 
> eventually.  
> So, I just wanted to keep using the version I had from a few days ago.  The 
> problem is that macports saw the broken install of openmodelica-devel was not 
> the newest so downloaded the new source and tried to build it, and failed due 
> to the bug mentioned earlier.  Now the problem is that if I activate the 
> older version (a few days old) it activates, but doesn’t run (because it 
> linked against the old location of qt4-mac libraries).  
> So, my current situation is I have old versions installed but not activated.  
> And, I can’t get old ones to work, and I can’t build a new version, since 
> there is a bug that is yet to be fixed in openmodelica.  
> So, would like to do is to rebuild an old version from the source that was 
> downloaded when I last did a successful upgrade and build.  Since that build 
> worked, and left the source stored in macports, it seems like there should be 
> a way to reactivate that version, but let it use the source and rebuild it, 
> instead of just doing the typical activate from the binaries that macports 
> build and saved.
> 
> Does that make more sense?  

Ok, so you have 2 options.

1. Downgrade qt4-mac to the version before the change in filesystem layout, and 
then you can activate your already-installed older version of 
openmodelica-devel and it will work. of course, you'll break all the ports that 
require the new qt4-mac layout, and if you want to continue using them, would 
have to downgrade them to pre-layout-change versions as well.

2. (probably the better option) Follow the InstallingOlderPort instructions, 
except where it tells you to look in the MacPorts Subversion repository's log 
to find which revision of the port to use, you'll instead be consulting the log 
of whatever revision control system the Open Modelica developers use for their 
ports, and you'll get the old version of the port from there. Then you'll 
install that version, possibly first uninstalling the one you already have 
installed, since although it will have the correct version number, it will be 
for the wrong qt4-mac layout. It's possible the old port (or even the new port) 
won't build correctly with the new qt4-mac layout. If so, that's a bug the 
people who provide that portfile will have to fix.



_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to