A variety of problems
lists-macports-users at magicpacket.net
Mon Dec 11 14:21:09 PST 2006
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
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.
More information about the macports-users