On Mon, Dec 11, 2006 at 13:56:16 -0500, Daniel J. Luke wrote:
selfupdate does a sync, so this could be reduced to:
port selfupdate; port install gnucash
Good to know, thanks.
so I moved it over, convinced archive to rerun with some difficulty*, and all was happy. I have no idea why it was building the libraries in ~destroot/private/opt/..., since it built everything else in ~destroot/opt/..., but there it was.
This seems odd, but I'm not sure from your description exactly what happened.
Sorry, I didn't save the logs from everything because I didn't expect to have such a hard time, so I don't have exact error messages. I'll try the explanation again. As far as I could see, the only error message that I got during the qt3 build process was from `mv ~destroot/opt/local/lib/*.* ~destroot/opt/local/lib/qt3/lib`, which told me '.../*.*: No such file or directory'. That message was accurate, as the only thing in .../lib was a directory named qt3, so the *.* glob didn't match anything. I found another directory, ~destroot/private/opt/local/lib, that contained several library files and symlinks providing alternate names for them. Since there was a lot of different stuff under ~destroot/opt/local, and only this one directory under ~destroot/private, I assumed that some build setting had been misconfigured, though I wasn't able to locate it. The error had come from a mv command during the com.apple.destroot phase, but the build phase had run to completion. So I moved the stuff in ~destroot/private/opt over to ~destroot/opt, and got everything to package up and install nicely. aqbanking was then able to find the relevant qt libraries to let its configure script run to completion and start the build. (When I first got the error, I touched foo.bar in the appropriate directory, but the installed qt package then didn't include any libraries, so aqbanking failed to configure. I left that part out of the original description, sorry).
*: if I run port with -f, I expect the step to run, regardless of what the state file says; I don't expect to have to edit the state file by hand.
You shouldn't have to, but you don't say what you ran (and what happened), why you decided to modify the state file, and what happened after you did.
Once I had tricked qt3 into finishing by touching foo.bar, it created a .tgz and deleted the entire work directory. Since that didn't fix my problem, I wanted to futz with it some more, so I ran `port uninstall qt3`, which appropriately removed all of the installed files. I don't remember the exact order I ran other commands in, but I think I tried a `port install qt3`, figuring it would fail in the same way, but it just found its tgz package and reinstalled it, so I uninstalled again, then ran `port clean --archive qt3`, which deleted the .tgz. However, it did not clean the state file, so when I ran `port install qt3` again, it assumed it was still archived, and complained when it couldn't find the .tgz. `port -f build qt3` got me back to my original build problem, but after I located the ~destroot/private/ business, I still couldn't get it to create a new .tgz. `port -f archive qt3` said something about "creating the archive...skipping that step, it's already done". Once I manually deleted the line in the state file, then it ran the archive and installed, letting me go on to aqbanking.
`port clean --archive qt3` didn't even have the desired effect, though it printed a message that claimed to have done so. WTF?
So, it didn't remove the qt3 archive?
It removed the .tgz, but it did not modify the state file, and a further `port -f archive qt3` refused to create the archive, insisting that it already existed.
In fact, it couldn't find /opt/local/lib/libintl.3.dynlib because it didn't exist, so I suppose my frustration should be more focused on gettext than on aqbanking.
It's because you told macports to upgrade everything, without understanding what that meant (and without macports just 'doing the right thing' for you here).
Okay, I may be naive in assuming that `port upgrade all` might help with my build problems. Again, I don't remember the original build error from qt3, but I'm pretty sure it changed after I did the upgrade all.
That might have been fine, except the script assumed that `port provides /path/to/foo` works correctly...nope:
Ok, at this point I'm sure that there is something wrong with your macports install.
If anyone can tell me something simple like "your darwinports install is completely messed up; run these five commands and wait 15 hours for everything to recompile", I'd be thrilled.
If you don't mind re-installing any installed ports, you could do something like
rm -Rf /opt/local
Then download and install macports and do:
port selfupdate
and then try again with
port install gnucash
Given that you think my current install is damaged based on the `port provides` behavior, I could see this as a potentially reasonable step. I know of at least one program (NmapFE) which is installed in /Applications/Darwinports/ rather than /opt/local. Is it likely that there is anything else outside /opt/local? I also note that the portfile for NmapFE no longer exists, but I haven't checked yet to see if that's because it's more of a Cocoa app anyway. If I assume that the only thing reinstalling from scratch would cost me is a bit of compile time, then it makes sense just to do it. Since it could botch the currently working installation of one of my ~60 packages, I'm a bit wary. -E