Opened 9 years ago

Closed 7 months ago

#48968 closed defect (fixed)

Using port in Eterm: curl progress callback failed: can't read "env(COLUMNS)": no such variable

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

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Error: org.macports.fetch for port ghostscript returned: fetch failed
Please see the log file for port ghostscript for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_print_ghostscript/ghostscript/main.log
Error: Unable to upgrade port: 1

Attachments (1)

main_gs.log (6.0 KB) - added by macleod@… 9 years ago.

Download all attachments as: .zip

Change History (11)

Changed 9 years ago by macleod@…

Attachment: main_gs.log added

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

Description: modified (diff)

That's odd. It says "Fetching distfile failed: Callback aborted" for each fetch attempt (except, for some reason, the attempt to fetch from our repository, which returned 404).

Does this only happen with ghostscript or are other ports affected too?

MacPorts uses your system's curl library. Maybe we should test if that's working. The easiest way might be to try to use the system's curl program, /usr/bin/curl. Does it work?

comment:2 Changed 9 years ago by macleod@…

I got into this problem because I could not upgrade Texlive so I uninstalled and started from scratch again. I started installing Texlive +full and things were running fine until I got to ghostscript. It got past icu, harfbuzz, gmp, mpfr, potrace, xorg-libXp, jbig2dec, and a few others before the crash.

Curl seems to work, at least it generates some output:

[airdesk:~]$ /usr/bin/curl
curl: try 'curl --help' or 'curl --manual' for more information

I am running Mac OS X 10.10.5 with the latest version of Xcode.

Thanks in advance for any help. I REALLY need to get LaTeX working again... Rob

Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:3 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

It could be that all the ports that succeeded were fetched as binaries, while for ghostscript a binary was not available so it tried to build from source, and it's the source download that's having a problem. That would also point to the system curl library working ok, since binary downloads also use curl.

The "callback" mentioned in the error message might be the display of the progress bar. Is there anything unusual about your terminal that might interfere with terminal activities more advanced than just printing text? Are you for example connected via ssh or are you using screen? Both of those work for me, but if you're doing anything like that, try running the command directly without those instead. Or if you're using a shell other than bash, try using bash.

If all else fails or if you're in a crunch to resolve this quickly, you can of course download the distfiles manually and put them where they belong, but long term that's going to get tiresome if you have to do that for every port that downloads source.

comment:4 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

Cc Me!

comment:5 in reply to:  3 Changed 9 years ago by macleod@…

Replying to ryandesign@…:

It could be that all the ports that succeeded were fetched as binaries, while for ghostscript a binary was not available so it tried to build from source, and it's the source download that's having a problem. That would also point to the system curl library working ok, since binary downloads also use curl.

The "callback" mentioned in the error message might be the display of the progress bar. Is there anything unusual about your terminal that might interfere with terminal activities more advanced than just printing text? Are you for example connected via ssh or are you using screen? Both of those work for me, but if you're doing anything like that, try running the command directly without those instead. Or if you're using a shell other than bash, try using bash.

If all else fails or if you're in a crunch to resolve this quickly, you can of course download the distfiles manually and put them where they belong, but long term that's going to get tiresome if you have to do that for every port that downloads source.

Thanks, I just tried something I have never had to do before. I usually use Eterm as my terminal window but I ran the same port command from the standard Apple Terminal window and it worked! curl was suddenly able to download ghostscript and things are chugging along again.

Wow weird is that!? Thanks for the suggestion!! Rob

comment:6 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Eterm @0.9.6_1 as provided by the MacPorts Eterm port?

comment:7 Changed 9 years ago by macleod@…

Yes, so it seems to tell me:

port list Eterm 
Eterm                          @0.9.6          x11/Eterm
Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:8 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Component: portsbase
Summary: Unable to fetch ghostscriptUsing port in Eterm: curl progress callback failed: can't read "env(COLUMNS)": no such variable

Note that "port list" tells you what is available, not what is installed. If you want to know what is installed, use "port installed". I just wanted to verify that you were using a copy of Eterm installed with MacPorts, not an Eterm installed from somewhere else.

Duplicate #48966 showed additional helpful output:

curl progress callback failed: can't read "env(COLUMNS)": no such variable

I tried using MacPorts inside MacPorts Eterm @0.9.6_1, and though I didn't get the failure you got, the progress bar was not displayed correctly. I am running trunk, not 2.3.3, and I have modified the progress bar code in my copy of MacPorts, so that may account for the difference. I can try to undo my local changes and see if I see the problem then. Also, if you want, you could build trunk and see if you still see the problem then; it may be something we already fixed but have not released yet.

comment:9 Changed 9 years ago by macleod@…

Thanks, I am happy to have this "solution" of just using Mac Terminal to mange the ports. With that, I was able to reinstall all that I needed to get back to my work (-:

comment:10 Changed 7 months ago by jmroot (Joshua Root)

Milestone: MacPorts 2.7.0
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.