Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#40169 closed defect (worksforme)

Error: Unable to open port: invalid command name "port::run_callbacks"

Reported by: guivho@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 2.2.0
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port:

Description

Once a week I successfully run following three commands:

port selfupdate
port installed
port outdated

However, since a couple of weeks I get following error output as soon as I run `sudo port upgrade outdated':

Error: Unable to open port: invalid command name "port::run_callbacks"
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

I have searched the web, 'The problem Hotlist', 'the search page' etc but I'm still clueless.

This used to work but unfortunately I do not know when exactly it stopped working.

My list of outdated ports is growing, so I really need to upgrade :(

Please advise,

Guido

Attachments (1)

selfupdate.log (49.3 KB) - added by guivho@… 11 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

The string "run_callbacks" does not occur in any Portfile as far as I can tell, so MacPorts must be saying that while running the internal procedure "run_callbacks" it ran into a problem with some port. Unfortunately it didn't tell us what port. Please run "port outdated" to see which ports are outdated, then try upgrading each port individually (e.g. "sudo port upgrade glib2" if glib2 is one of your outdated ports). Hopefully many can be updated that way. Let us know which ones remain.

comment:2 Changed 11 years ago by neverpanic (Clemens Lang)

I think this might happen when the PortSystem 1.0 is missing in the Portfile, or when the installed version of port1.0 doesn't match the version of macports1.0.

comment:3 in reply to:  2 Changed 11 years ago by guivho@…

Replying to cal@…:

I think this might happen when the PortSystem 1.0 is missing in the Portfile, or when the installed version of port1.0 doesn't match the version of macports1.0.

How do I fix this?

As a reply to the first comment: Each and every one of the outdated packages gives the same problem:

09:28:38 guivho@zac:~
$ port outdated
The following installed ports are outdated:
autoconf                       2.69_0 < 2.69_1           
boost                          1.53.0_2 < 1.54.0_0       
bzr                            2.5.1_1 < 2.6.0_0         
curl                           7.31.0_0 < 7.32.0_0       
curl-ca-bundle                 7.31.0_0 < 7.32.0_0       
dvipng                         1.14_4 < 1.14_6           
gd2                            2.0.35_14 < 2.1.0_3       
gettext                        0.18.2.1_0 < 0.18.3_0     
glib2                          2.36.3_2 < 2.36.4_0       
gnupg                          1.4.13_1 < 1.4.14_0       
gpgme                          1.3.2_0 < 1.4.2_0         
help2man                       1.41.2_0 < 1.43.3_0       
icu                            51.2_0 < 51.2_1           
kerberos5                      1.11.2_0 < 1.11.3_0       
latexdiff                      1.0.2_2 < 1.0.3_0         
latexmk                        4.35_0 < 4.37_0           
libassuan                      2.0.3_0 < 2.1.1_0         
libgpg-error                   1.11_0 < 1.12_0           
libpixman                      0.30.0_0 < 0.30.2_0       
libpng                         1.5.16_0 < 1.5.17_0       
poppler                        0.22.5_0 < 0.24.0_0       
py27-docutils                  0.10_0 < 0.11_0           
py27-paramiko                  1.7.7.1_0 < 1.10.1_0      
py27-setuptools                0.7.4_0 < 0.9.8_0         
python27                       2.7.5_0 < 2.7.5_1         
texlive-basic                  26926_0 < 30847_0         
texlive-bin                    2012_10 < 2013_2          
texlive-bin-extra              26926_0 < 30842_0         
texlive-common                 2012_0 < 2013_0           
texlive-context                26873_0 < 30458_0         
texlive-documentation-base     26923_0 < 30310_0         
texlive-fonts-recommended      26838_0 < 30307_0         
texlive-generic-recommended    26785_0 < 30396_0         
texlive-latex                  26725_0 < 30738_0         
texlive-latex-recommended      26788_0 < 30811_0         
texlive-math-extra             26720_0 < 30747_0         
texlive-metapost               26926_0 < 30842_0         
texlive-xetex                  26926_0 < 30842_0         
xorg-libX11                    1.6.0_0 < 1.6.1_0         
xz                             5.0.4_0 < 5.0.5_0         

09:28:48 guivho@zac:~
$ sudo port upgrade autoconf
Error: Unable to open port: invalid command name "port::run_callbacks"
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

09:28:56 guivho@zac:~
$ sudo port upgrade boost
Error: Unable to open port: invalid command name "port::run_callbacks"
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

09:29:03 guivho@zac:~
$ sudo port upgrade bzr
Error: Unable to open port: invalid command name "port::run_callbacks"
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

09:29:09 guivho@zac:~
$ sudo port upgrade curl
Error: Unable to open port: invalid command name "port::run_callbacks"
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

09:29:30 guivho@zac:~
$ sudo port upgrade curl-ca-bundle
Error: Unable to open port: invalid command name "port::run_callbacks"
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

Please advise,

TIA,

Guido

comment:4 Changed 11 years ago by neverpanic (Clemens Lang)

Please provide the output of

port version
grep run_callbacks /opt/local/share/macports/Tcl/port1.0/port.tcl
grep run_callbacks /opt/local/share/macports/Tcl/port1.0/macports.tcl

comment:5 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to cal@…:

I think this might happen when the PortSystem 1.0 is missing in the Portfile, or when the installed version of port1.0 doesn't match the version of macports1.0.

How do you mean? The only versions of port1.0 and macports1.0 that have ever existed are 1.0.

Replying to guivho@…:

Each and every one of the outdated packages gives the same problem:

Then we appear to be dealing not with a bug in a specific port but with a problem with the way MacPorts is installed on your system.

Was your MacPorts originally built from source or using one of our prebuilt installer packages?

You said the problem began after running selfupdate one day? Presumably that was when you upgraded to MacPorts 2.2? When selfupdate updates to a new version of MacPorts, it is necessary to run selfupdate a second time to properly index the new ports. A message telling you to do that should have appeared at the time. If you don't remember if you did that, run selfupdate a second time now.

comment:6 in reply to:  5 Changed 11 years ago by neverpanic (Clemens Lang)

Replying to ryandesign@…:

How do you mean? The only versions of port1.0 and macports1.0 that have ever existed are 1.0.

While that is true there still are differences in the versions of port1.0 and macports1.0 shipped with 2.0, 2.1, 2.2 and current trunk. If port1.0 is from 2.1 and macports1.0 from 2.2, that would lead to this issue.

comment:7 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

If that is a possibility then we might want to recommend forcing selfupdate to reinstall MacPorts base again and examining the output for any errors.

sudo port -vf selfupdate 2>&1 | tee selfupdate.log

comment:8 in reply to:  4 Changed 11 years ago by guivho@…

Replying to cal@…:

Please provide the output of

port version
grep run_callbacks /opt/local/share/macports/Tcl/port1.0/port.tcl
grep run_callbacks /opt/local/share/macports/Tcl/port1.0/macports.tcl
11:04:04 guivho@zac:~
$ port version
Version: 2.2.0

11:04:13 guivho@zac:~
$ grep run_callbacks /opt/local/share/macports/Tcl/port1.0/port.tcl 
	# port::run_callbacks is called from macports1.0 after evaluating
	proc run_callbacks {} {

11:04:46 guivho@zac:~
$ grep run_callbacks /opt/local/share/macports/Tcl/port1.0/macports.tcl
grep: /opt/local/share/macports/Tcl/port1.0/macports.tcl: No such file or directory

Changed 11 years ago by guivho@…

Attachment: selfupdate.log added

comment:9 in reply to:  7 Changed 11 years ago by guivho@…

Replying to ryandesign@…:

If that is a possibility then we might want to recommend forcing selfupdate to reinstall MacPorts base again and examining the output for any errors.

sudo port -vf selfupdate 2>&1 | tee selfupdate.log

I have atatched the selfupdate.log file.

Hurrah, this seems to have fixed the problem. The

sudo port upgrade outdated 

command is running fine right now :)

Problem fixed!

Thanks a lot for your help guys!

Guido

comment:10 Changed 11 years ago by neverpanic (Clemens Lang)

Resolution: worksforme
Status: newclosed

Sorry, that should have been

grep run_callbacks /opt/local/share/macports/Tcl/macports1.0/macports.tcl

Anyway, glad you got it working, seems to have been an inconsistency in the versions of macports1.0 and port1.0. Maybe you interrupted a recent selfupdate?

comment:11 in reply to:  10 Changed 11 years ago by guivho@…

Replying to cal@…:

Sorry, that should have been

grep run_callbacks /opt/local/share/macports/Tcl/macports1.0/macports.tcl
15:49:31 guivho@zac:~
$ grep run_callbacks /opt/local/share/macports/Tcl/macports1.0/macports.tcl
    $workername eval port::run_callbacks

Anyway, glad you got it working, seems to have been an inconsistency in the versions of macports1.0 and port1.0. Maybe you interrupted a recent selfupdate?

Not that I know off.

Anyway, glad its fixed.

Thanks for the support!

Guido

Note: See TracTickets for help on using tickets.