hangs when building python26 & python27

Ryan Schmidt ryandesign at macports.org
Wed Aug 24 15:27:52 PDT 2011


Sorry, I inadvertently left the list off my previous reply. Returning the conversation to the list now.


On Aug 24, 2011, at 17:18, Mark Hattam wrote:

> On 24 Aug 2011, at 22:24, Ryan Schmidt wrote:
> 
>> On Aug 24, 2011, at 16:04, Mark Hattam wrote:
>> 
>>> So should I be doing a "port clean" everytime before upgrading any port?
>> 
>> It's usually fine to interrupt a build and come back to it later. For some ports that doesn't work and would produce an error, in which case clean and try again. But usually the reason your build was interrupted the first time was because an error occurred. Retrying will probably hit the same error, only now the log will be incomplete -- it won't contain information about the parts of the build that were already done before. And if you want help analyzing why the build failed, we want to see the complete log.
> 
> I don't interrupt builds so it's only an error occuring that would result in a build not working to completion on the machine here. Is there another log apart from the main.log?

No, there's just the main.log.

> The Terminal window only said about the main.log and I posted that in entirety.

Yes, but the log did not contain information about every aspect of the build (indicated by the lines saying "Skipping completed"), because there had been a prior interrupted or failed build. Cleaning before building would have made MacPorts start the build over from scratch and resulted in a log of everything.


>> There is one odd bug in MacPorts which can bite you if you begin building a version of a port after a newer version of the port has already been created, but you hadn't selfupdated to receive that version yet, and the build is interrupted (deliberately by you, or because of a build error), and then you selfupdate, and then you try again without cleaning first:
>> 
>> https://trac.macports.org/ticket/29223
>> 
>> And the solution again is clean and try again.
> 
> I don't think that would apply here as there's only s few seconds between me doing a selfupdate and doing the upgrade, though of course doing a
> port upgrade of several ports does queue them up.
> 
> 22/08/2011 23:11:29	sudo[41492]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port -v selfupdate
> 22/08/2011 23:12:11	sudo[41543]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port outdated
> 22/08/2011 23:12:45	sudo[41569]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port upgrade gdbm getmail maildrop python26 python27

If you selfupdate every time before you sit down to install or upgrade a port, great, but if there might be a day when you upgrade or install a port without selfupdating first, you might hit this bug.


> There's nothing else written to the Mac's Console or System logs until the reboot after the hang
> 
> After the restart, python26 built OK (that caused the first hang) ... didn't need a clean or any other intervention.
> 
> 22/08/2011 23:29:19	sudo[1129]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port -v selfupdate
> 22/08/2011 23:29:49	sudo[1142]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port outdated
> 22/08/2011 23:30:07	sudo[1146]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port upgrade python26
> 22/08/2011 23:33:50	sudo[4820]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port upgrade python27
> 
> python27 then hung during its build, and after the restart the build failed again (as you say), so I cleaned and tried again successfully.
> 
> 22/08/2011 23:44:41	sudo[922]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port outdated
> 22/08/2011 23:45:23	sudo[934]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port upgrade python27
> 22/08/2011 23:47:00	sudo[966]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port clean python27
> 22/08/2011 23:47:05	sudo[968]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port upgrade python27
> 22/08/2011 23:53:33	sudo[11744]	mark : TTY=ttys000 ; PWD=/Users/mark ; USER=root ; COMMAND=/opt/local/bin/port upgrade getmail maildrop
> 22/08/2011 23:56:33	com.apple.launchd.peruser.501[359]	(getmail[42322]) posix_spawn("/opt/local/bin/getmail-2.6", ...): No such file or directory
> 
> and I then renamed the getmail binary back to "normal"

getmail-2.6 was renamed back to getmail like it should have been. See r82963. The incorrectly named "getmail-2.6" was only in the repository a few days, since r82690.


>>> The iMac is otherwise stable, it runs 24/7 and doesn't hang while running memory intensive or cpu intensive or disk intensive Mac programs. This just happens to be the first time I've managed to make a copy of the main.log before it vanishes.
>> 
>> MacPorts only deletes logs if the build was successful. And you can even turn that off, by setting "keeplogs yes" in macports.conf
> 
> I don't think I've ever looked at macports.conf ... or at least not for some time ... but now I am
> 
> less /opt/local/etc/macports/macports.conf
> 
> # Type of storage to use for the port registry information, "flat" or "sqlite"
> # NOTE: sqlite not yet supported.
> portdbformat            sqlite
> 
> # CPU architecture to compile for. Defaults to i386 or ppc on Mac OS X 10.5
> # and earlier, depending on the CPU type detected at runtime. On Mac OS X 10.6
> # the default is x86_64 if the CPU supports it, i386 otherwise.
> #build_arch                     i386
> 
> There doesn't appear to be any mention of "log" in the file ... 
> 
> However, looking at the directory, there's clearly a newer .default conf file, doubtless from installing 2.0.1
> 
> iMac:~ mark$ cd /opt/local/etc/macports/
> iMac:macports mark$ ls -la
> total 88
> drwxr-xr-x  11 root  admin   374  2 Aug 08:54 .
> drwxr-xr-x  17 root  admin   578 15 Aug 17:23 ..
> -r--r--r--   1 root  admin  5446  8 Jun  2010 macports.conf
> -r--r--r--   1 root  admin  5290  2 Aug 08:54 macports.conf.default
> 
> 
> Perhaps I should move the .default into being the conf file as that does have the keeplogs line. I doubt I have done any customisations to the existing file.

https://trac.macports.org/wiki/Migration#Updatemacports.conf


> Also ... I believe this mac is running in 32 bit kernel boot mode, and therefore a 32 bit kernel. but has a 64 bit processor and 64 bit EFI ... which I think is standard Apple mode ???

Yup. No problem there.




More information about the macports-users mailing list