From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lennart Borgman Newsgroups: gmane.emacs.devel Subject: Re: Bootstrap failed during compile of process.c Date: Wed, 04 Jan 2006 19:43:17 +0100 Message-ID: <43BC1745.2020500@student.lu.se> References: <43BB7209.2090300@student.lu.se> <43BBDC50.20304@student.lu.se> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1136402333 18085 80.91.229.2 (4 Jan 2006 19:18:53 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 4 Jan 2006 19:18:53 +0000 (UTC) Cc: emacs-devel@gnu.org, storm@cua.dk Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 04 20:18:50 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EuE9g-0003x9-2C for ged-emacs-devel@m.gmane.org; Wed, 04 Jan 2006 20:18:40 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EuEBM-000214-JC for ged-emacs-devel@m.gmane.org; Wed, 04 Jan 2006 14:20:24 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EuDdN-0000lD-FK for emacs-devel@gnu.org; Wed, 04 Jan 2006 13:45:17 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EuDdL-0000k7-Ug for emacs-devel@gnu.org; Wed, 04 Jan 2006 13:45:16 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EuDdK-0000jz-Th for emacs-devel@gnu.org; Wed, 04 Jan 2006 13:45:14 -0500 Original-Received: from [81.228.8.83] (helo=pne-smtpout1-sn2.hy.skanova.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EuDeb-0002pb-M2; Wed, 04 Jan 2006 13:46:33 -0500 Original-Received: from [192.168.123.121] (83.249.218.244) by pne-smtpout1-sn2.hy.skanova.net (7.2.069.1) id 43BA90DD00062FB9; Wed, 4 Jan 2006 19:43:18 +0100 User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) X-Accept-Language: en-us, en Original-To: Eli Zaretskii In-Reply-To: X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:48704 Archived-At: Eli Zaretskii wrote: >I don't know, and I have no time to look into the intricacies of using >winsock in the w32 port (in particular, src/s/ms-w32.h makes a point >of forcing windows.h not to include winsock.h, for some undisclosed >reason, and the build uses winsock.h, which is incompatible with >ws2tcpip.h, instead of winsock2.h). > >So I simply disabled IPv6 support for the w32 build, for now. (FWIW, >I think it was a mistake to introduce it so close to a release for >other platforms as well, but that's history now.) > >Please resync with CVS and try building again. It should build now. > > I wonder if the changes above have something to do with that emacsserver/client still does not work on w32? I do not know much about it but somewhere in my head is something about compatibility and winsock2.h. I guess Juanma has not had time to look into emacsserver/client now and no one else has either as far as I know. Actually when I tested now again to run server-start I saw that things are worse now than before on w32. There are at least two new non crossplatform changes (if I understand this correctly): (defvar server-socket-dir (format "/tmp/emacs%d" (user-uid))) Should not this use `temporary-file-directory'? Then in (defun server-ensure-safe-dir (dir) "Make sure DIR is a directory with no race-condition issues. Creates the directory if necessary and makes sure: - there's no symlink involved - it's owned by us - it's not readable/writable by anybody else." (setq dir (directory-file-name dir)) (let ((attrs (file-attributes dir))) (unless attrs (letf (((default-file-modes) ?\700)) (make-directory dir)) (setq attrs (file-attributes dir))) ;; Check that it's safe for use. (unless (and (eq t (car attrs)) (eq (nth 2 attrs) (user-uid)) (zerop (logand ?\077 (file-modes dir)))) (error "The directory %s is unsafe" dir)))) there are several tests that are not cross platforms. Why does this happen? It would be very good if new code where cross platform. (On the elisp level I guess that care must be taken for all operations handling files. Is there anything else? Maybe networking?) I welcome more cross platform knowledge. It is in my opinion very important that we have knowledge from different platforms to keep things together. Currently it would IMO be very good if someone with knowledge in network programming on w32 and other platforms could help solve the problem with emacsserver/client on w32!