This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: Cygwin Subprocesses on XEmacs
- From: "Dr. Volker Zell" <dr dot volker dot zell at oracle dot com>
- To: cygwin-apps at cygwin dot com
- Cc: xemacs-beta at xemacs dot org
- Date: Fri, 30 Jan 2015 16:51:21 +0100
- Subject: Re: Cygwin Subprocesses on XEmacs
- Authentication-results: sourceware.org; auth=none
- References: <CACeGjnWqVT5DJX+PUnic-mNu3WkpF1DPa_FVJQsSX_QHb+DKTw at mail dot gmail dot com> <20150128095323 dot GU14265 at calimero dot vinschen dot de> <CACeGjnXnjcEzU+H4Xe-0L6SsgNFfu4-usLdOBFZ4c4fPwGzPzg at mail dot gmail dot com> <20150128135804 dot GC14265 at calimero dot vinschen dot de> <CACeGjnU9i9b69n7Gp1_-Wy9RxcoDHUnKHZDP9=vhv_jZsCQhHQ at mail dot gmail dot com> <20150129093958 dot GJ14265 at calimero dot vinschen dot de> <CACeGjnX4c3UswkN=vKm6z3_BQ024pSdSN=_TrPBZA-cr7FZ5nQ at mail dot gmail dot com>
>>>>> Vin Shelton writes:
> On Thu, Jan 29, 2015 at 4:39 AM, Corinna Vinschen wrote:
>> On Jan 28 22:32, Vin Shelton wrote:
>>> I think I have verified this behavior - I restored the old sysdep.c
>>> module and moved the disconnect_controlling_terminal() call [which
>>> calls setsid()] from right after the fork() to just before the exec()
>>> call and M-x shell works on Cygwin as it always has on linux.
>>
>> Good news! So the XEmacs code is in a state now that Volker can
>> start creating a Cygwin package?
> Yes, the 21.4 code in the hg repository builds and runs on Cygwin.
I downloaded the latest version 21.4.23 and tried to build it, but I consistently get:
gcc -c -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/build=/usr/src/debug/xemacs-21.4.22-2 -fdebug-prefix-map=/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/src/xemacs-21.4.22=/usr/src/debug/xemacs-21.4.22-2 -Demacs -I. -DHAVE_CONFIG_H -Wno-sign-compare -fno-caller-saves dump-id.c
gcc -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/build=/usr/src/debug/xemacs-21.4.22-2 -fdebug-prefix-map=/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/src/xemacs-21.4.22=/usr/src/debug/xemacs-21.4.22-2 -o xemacs abbrev.o alloc.o blocktype.o buffer.o bytecode.o callint.o callproc.o casefiddle.o casetab.o chartab.o cmdloop.o cmds.o console.o console-stream.o data.o device.o dired.o doc.o doprnt.o dynarr.o editfns.o elhash.o emacs.o eval.o events.o filelock.o ntplay.o dumper.o scrollbar-msw.o menubar-msw.o toolbar-msw.o dialog-msw.o console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o gui-msw.o balloon_help.o balloon-x.o dragdrop.o eldap.o postgresql.o dgif_lib.o gif_io.o menubar.o scrollbar.o dialog.o toolbar.o menubar-x.o scrollbar-x.o dialog-x.o toolbar-x.o gui-x.o mule.o mule-ccl.o mule-charset.o file-coding.o input-method-xlib.o realpath.o getloadavg.o inline.o nas.o console-tty.o device-tty.o event-tty.o frame-tty.o objects-tty.o redisplay-tty.o cm.o terminfo.o event-unixoid.o database.o process-unix.o event-stream.o extents.o faces.o fileio.o filemode.o floatfns.o fns.o font-lock.o frame.o general.o glyphs.o glyphs-eimage.o glyphs-widget.o gui.o gutter.o hash.o imgproc.o indent.o insdel.o intl.o keymap.o line-number.o lread.o lstream.o macros.o marker.o md5.o minibuf.o objects.o opaque.o print.o process.o profile.o rangetab.o redisplay.o redisplay-output.o regex.o search.o select.o signal.o sound.o specifier.o strftime.o symbols.o syntax.o sysdep.o undo.o console-x.o device-x.o event-Xt.o frame-x.o glyphs-x.o objects-x.o redisplay-x.o select-x.o xgccache.o widget.o window.o win32.o xemacs_res.o lastfile.o gmalloc.o vm-limit.o EmacsFrame.o EmacsShell.o TopLevelEmacsShell.o TransientEmacsShell.o EmacsManager.o offix.o dump-id.o ../lwlib/liblw.a -laudio -lXaw3d -lXaw3d -ltiff -lpng -ljpeg -lz -lcompface -lXpm -lXmu -lXt -lXext -lX11 -lSM -lICE -ldb -lncurses -lintl -lpq -lldap -llber -lwinmm -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lkernel32 -lwinspool
collect2: error: ld terminated with signal 11 [Segmentation fault], core dumped
GNUmakefile:159: recipe for target 'xemacs' failed
make[1]: *** [xemacs] Error 1
make[1]: Leaving directory '/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/build/src'
GNUmakefile:123: recipe for target 'src' failed
make: *** [src] Error 2
[1;31m*** ERROR:[0;0m make failed
After the ld core dump, when I delete the corrupted xemacs.exe from
/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/build/src manually
and restart the build with make from the
/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/build directory
again, the build actually succeeds and ld doesn't core dump
anymore. Additionally I had to use an older version of texinfo (namely
version 4.13) otherwise the build breaks when generating the .info files
(I got the information to use an older version from Vin Shelton).
I then installed everything and with my current setup xemacs crashed as
soon as font-locking is involved. The current 32 bit xemacs-21.4.22
version works fine with this setup. After googling around I found a
workaround by setting (setq progress-feedback-use-echo-area t) in my
.emacs.
So, the good news finally after 6 years !!! it seems I have a working
xemacs on 32 bit which runs on cygwin 1.7.x. Of course I will need to do
more testing.
The bad news, an automatic build via cygport is currently not possible because:
1. cygport's compile stage bails out after the ld core dump
2. the current xemacs version needs an older version of texinfo (4.13)
than we have currently in the distribution (5.2-3)
Question: How shall I proceed ?
By the way, I'm off for a week.
> Regards,
> Vin
Ciao
Volker