delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2013/11/12/12:54:47

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:message-id:date:from:reply-to:mime-version:to
:subject:content-type:content-transfer-encoding; q=dns; s=
default; b=VqSSU55gzqOOE+mSycOgiFNlscC219IApTQxiuoqvzGGnRPo+Wu9M
DT+WVUJWTC86N+uNWsLeVh3cLOvu/+ichVhh8YosbU67/9Btjtq9+Jr6fAPQ194P
v9L/aJM7abyFVwJqqIRLZklHyrCGu18WBH/gpSN1rHRY0G1nw30jHk=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:message-id:date:from:reply-to:mime-version:to
:subject:content-type:content-transfer-encoding; s=default; bh=I
K6IvFzPZ/k3h5ld9AdqIMGW4hg=; b=Wt+ZkxZqqpMmLnYcQrKSsh+mbcFQxq6q0
zvsB+/xWfIpJyv3IDniCXoJr6v6QFWKr5g+IQqUUj3zftq1tWsOomN7FeePGUX+y
5ysA5E4HHSqGgUqQXpOl5B4Cv+Lrvi+WwqYmgnI16rkO/qeMcPgRO3sy+CO2Tb7Q
JdPiuZLy7E=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=1.6 required=5.0 tests=BAYES_50,RDNS_NONE,URIBL_BLOCKED autolearn=no version=3.3.2
X-HELO: p3plsmtpa06-03.prod.phx3.secureserver.net
Message-ID: <52826B3B.8030909@w5pny.com>
Date: Tue, 12 Nov 2013 10:54:03 -0700
From: Harry G McGavran Jr <w5pny AT w5pny DOT com>
Reply-To: w5pny AT w5pny DOT com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Problem with latest setup-x86.exe

On only one of my Windows 7 machines the latest setup-x86.exe
works but always exits with an Access Violation.

So, I downloaded the source to setup and built it.

But in order to make the build work, I had to remove -Werror
from the Makefile and add a definition for ARRAYSIZE to main.cc.

The fix to the Access violation was to remove an extra "_" in
the code for the argv handling in main.cc

This is just FWIW -- but it fixed my problem. The patches
I used follow:



*** ./setup/Makefile.orig	2013-11-12 10:27:00.812425300 -0700
--- ./setup/Makefile	2013-11-12 10:28:53.698882000 -0700
***************
*** 462,468 ****
  BASECXXFLAGS = -Wall -Wno-uninitialized -Wpointer-arith -Wcomments \
  	       -Wcast-align -Wwrite-strings -fno-builtin-sscanf

! AM_CXXFLAGS = -Werror $(BASECXXFLAGS) ${$(*F)_CXXFLAGS}
  AM_CFLAGS = $(AM_CXXFLAGS) -Wmissing-declarations -Winline \
  	    -Wstrict-prototypes -Wmissing-prototypes

--- 462,468 ----
  BASECXXFLAGS = -Wall -Wno-uninitialized -Wpointer-arith -Wcomments \
  	       -Wcast-align -Wwrite-strings -fno-builtin-sscanf

! AM_CXXFLAGS = $(BASECXXFLAGS) ${$(*F)_CXXFLAGS}
  AM_CFLAGS = $(AM_CXXFLAGS) -Wmissing-declarations -Winline \
  	    -Wstrict-prototypes -Wmissing-prototypes

*** ./setup/main.cc.orig	2013-11-07 06:14:18.000000000 -0700
--- ./setup/main.cc	2013-11-12 10:29:06.907637500 -0700
***************
*** 85,90 ****
--- 85,94 ----
  extern char **_argv;
  #endif

+ #ifndef ARRAYSIZE
+ #define ARRAYSIZE(_ar) (sizeof (_ar) / sizeof (_ar[0]))
+ #endif
+
  bool is_64bit;

  using namespace std;
***************
*** 233,250 ****
    snprintf(locale, sizeof locale, ".%u", GetACP());
    setlocale(LC_ALL, locale);

!   char **_argv;
    int argc;
!   for (argc = 0, _argv = __argv; *_argv; _argv++)
      ++argc;
!   _argv = __argv;

    try {
      char cwd[MAX_PATH];
      GetCurrentDirectory (MAX_PATH, cwd);
      local_dir = std::string (cwd);

!     if (!GetOption::GetInstance ().Process (argc,_argv, NULL))
        exit (1);

      if (!((string) Arch).size ())
--- 237,254 ----
    snprintf(locale, sizeof locale, ".%u", GetACP());
    setlocale(LC_ALL, locale);

!   char **argv;
    int argc;
!   for (argc = 0, argv = _argv; *argv; argv++)
      ++argc;
!   argv = _argv;

    try {
      char cwd[MAX_PATH];
      GetCurrentDirectory (MAX_PATH, cwd);
      local_dir = std::string (cwd);

!     if (!GetOption::GetInstance ().Process (argc,argv, NULL))
        exit (1);

      if (!((string) Arch).size ())


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019