bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#45518: Ctrl-G Fails to Interrupt Hung Tramp Remote-Compile in Emacs


From: Duncan Greatwood
Subject: bug#45518: Ctrl-G Fails to Interrupt Hung Tramp Remote-Compile in Emacs 27.1
Date: Wed, 6 Jan 2021 14:54:39 -0800

Michael -

On Wed, Jan 6, 2021 at 5:37 AM Michael Albinus <michael.albinus@gmx.de> wrote:
Duncan Greatwood <dgbulk@gmail.com> writes:

Hi Duncan,

> I would suggest that you take a favorite large C++ autotools project,
> add test.cpp to the source tree and Makefile.am, and see if the hang
> reproduces for you.

I don't work with C++, so I haven't.
[DG] Oh, no worries. Let me try and give a more explicit recipe.

This is what I did:

Download the autotools "hello world" program, and modify it as follows.

Go to https://github.com/shanecelis/amhello (or *many* other places), and download the "hello world" code (click Code button on the github page, choose "Download zip" for simplicity).

Expand the zip file, and cd into amhello-master directory. This is on a linux machine, an ubuntu machine in my case.

Open configure.ac in a text editor. You'll see a section headed:
    # Checks for programs.
We need to add AC_PROG_CXX and AM_PROG_AR, so this section will look like:
    # Checks for programs.                                                          
    AC_PROG_CC
    AC_PROG_CXX
    AM_PROG_AR
    AC_PROG_LIBTOOL
Save configure.ac, and exit the text editor.

Copy my test.cpp file into the src subdirectory of amhello-master.

Open src/Makefile.am in a text editor.
Added test.cpp to the sources line, so that line looks like:
    hello_SOURCES = main.c test.cpp
Save src/Makefile.am and exit the editor.

I presume you already have the autotools toolset installed, but if not, install them.
    sudo apt-get install -y autotools-dev autoconf

Now at the shell command line (*not* in emacs) on the target linux machine, in the amhello-master directory:
    autoreconf --install
    ./configure
    make

You should see the many syntax errors of test.cpp spewing out in the shell.

Now *in gui emacs*, from a mac machine using Tramp, open amhello-master/src/test.cpp remotely (using tramp) on the remote linux machine.
With that remote test.cpp open, In emacs, do 
    M-compile
    Use the compile command: make -k

Tramp window hangs

As you noted prior, if you use compile command "gcc test.cpp", tramp does not hang. Only if you use compile command "make" does it hang.

I was using my macbook laptop for the GUI-emacs-with-tramp, and ubuntu for the target linux machine. I was using emacs 26.2 gui-mode, but no reason to suppose it varies with other emacs versions.

I did try it with a Linux laptop, running emacs-gui (26.3) and tramp to connect to the remote Linux host. However, in that case the issue did *not* reproduce for me, at least using this method. Perhaps emacs/tramp must be running from a mac for the issue to show up.

Hope this helps.
Thanks once more.
Duncan

 

> For your reference, I am also pasting the output from the hung tramp
> window when I added test.cpp to a library within one of my own larger
> projects.

I tried to mimic that, but it still just shows all errors, and no hung
window. Tested with recent Tramp 2.5.0 and all Emacs versions 26, 27,
28. See appended compile output.

> Regards,
> D.

Best regards, Michael.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]