delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/12/19/02:38:07

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B5C583940CE5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1608363444;
bh=pPrM/eyhWJmpaz0UVcWenYSw9PoM06O5T0b38+XhebM=;
h=In-Reply-To:References:Date:Subject:To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=RcSbdfsFgfAXlJTsYZWBgAAl7hXtJ2aoz0QY0EXqhbcbQMHufCPZ5ZTXcPGcvDdHs
v1YJDBnJb/eSJNPZ4pg0FoLD5YBvccZjPUX34fbt4KLRw6LSHLeNslMVXKP1VLY5hY
KnUzBS8J/SxkfQ4FVqc7/g02hHQfAp7fR4QVxtOc=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 43A32393D03C
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:in-reply-to:references:from:date
:message-id:subject:to;
bh=4qmV84kQLHAjIk9313AwGV4F51keyWHde84zsSyEEXs=;
b=isyNS7XnyYjDGQ7fXrLZFexTb/3LXJzASaJ6OMVThP2icHI5JfgXu7+d/IICrt+paT
7PUJKFeP5E0wc5eN6mPP57NlNtFimmQ5twXJ4PruYEYxFJ00r01HMmuj58Xt/NUNUdtt
yrWpOHayFvHrYgkWRoV/pN/cs2CeSN8bM+OSev4w5tbDRkg7kOygSk+o3etJOTXjY3Vj
zRct5zPRWTKkDB0W0IQjV/KNxQYzQS6fzFpBd4qmOqK8H71/1hmpYVGrZCwQsYedYC4q
S0gB4LJlTv2AN+rRPebbKcpgcfyqBBzHCHBrJrhse3BRvdYygJ8/EvABAmgIEiR3kRtk
42oQ==
X-Gm-Message-State: AOAM530thcctyVQ/mTlhRJvVl5A13wVPNA8xYbjdTsVkeKBjw5n0nuKZ
Bro9RkEv0+SZwGk6xTyJ8TB3I63TMYdogN3x55TLOl0gI90=
X-Google-Smtp-Source: ABdhPJwQAsg40XCFOO8AOxnxOG3zP1vznuXBFc9ZpTIrSeVr9oUKyb8vY3FJ1AnLvoK8AEaLL5g8G0kSwbOrduBy/3c=
X-Received: by 2002:ac8:71c6:: with SMTP id i6mr7668367qtp.209.1608363441735;
Fri, 18 Dec 2020 23:37:21 -0800 (PST)
MIME-Version: 1.0
In-Reply-To: <73846a6f-a908-f135-69ec-bc1eeb5b145c@SystematicSw.ab.ca>
References: <CAD8GWsvD-te0Ae8WO4YoUZE07THRQUVnWwcHvTBJDL_5YiV-DQ AT mail DOT gmail DOT com>
<73846a6f-a908-f135-69ec-bc1eeb5b145c AT SystematicSw DOT ab DOT ca>
Date: Sat, 19 Dec 2020 07:37:21 +0000
Message-ID: <CAD8GWssZfvz=1HU-UuXfz1ED7Mrtczb0PaMz7_QXRxxs4bSHAg@mail.gmail.com>
Subject: Re: why does i686-w64-mingw32-gcc -static fail?
To: cygwin AT cygwin DOT com
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT,
FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS,
TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Lee via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Lee <ler762 AT gmail DOT com>
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

On 12/18/20, Brian Inglis wrote:
> On 2020-12-17 20:45, Lee via Cygwin wrote:
>> Would someone please explain why adding "-static" makes
>> i686-w64-mingw32-gcc fail?
>>
>> This works (or at least the compiler doesn't complain)
>>
>> $ i686-w64-mingw32-gcc -o a.exe         conftest-pcre.c -lpcreposix
>> -lpcre
>>
>> This does not work
>>
>> $ i686-w64-mingw32-gcc -o a.exe -static conftest-pcre.c -lpcreposix
>> -lpcre
>> /usr/lib/gcc/i686-w64-mingw32/10/../../../../i686-w64-mingw32/bin/ld:
>> cannot find -lpcreposix
>> /usr/lib/gcc/i686-w64-mingw32/10/../../../../i686-w64-mingw32/bin/ld:
>> cannot find -lpcre
>> collect2: error: ld returned 1 exit status
>>
>> Why does adding "-static" make it fail?
>
> Because the mingw64-*86*-pcre/2 packages provide only dynamic libraries and
> their linkage archives:
     <.. snip list of libpcre*.dll and .dll.a files ..>
> where others provide both dynamic and static libraries e.g.
> mingw64-i686-zstd:
>
> usr/i686-w64-mingw32/sys-root/mingw/bin/libzstd-1.dll
> usr/i686-w64-mingw32/sys-root/mingw/lib/libzstd.a
> usr/i686-w64-mingw32/sys-root/mingw/lib/libzstd.dll.a
>
> possibly where the size of useful library members are reasonably small
> enough,
> and unlikely to need significantly updated, to be statically linked into an
> standalone executable or embedded system component, that itself may be
> regularly
> updated, rather than requiring large chunks of a framework to be linked that
> may need regular updates.

Thanks for the explanation :)

I went looking to see how the mingw pcre package was built and ended up here:
  https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/mingw64-i686-pcre.git;a=summary

If that's correct and the latest then it looks to be a bit out of
date; the current release is 8.44
  https://ftp.pcre.org/pub/pcre/

Looking at the latest cygport info
  https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/mingw64-i686-pcre.git;a=blob;f=mingw64-i686-pcre.cygport;h=7456c41e6c45aad8403303aee413144fcf5d1b58;hb=3200774765aabbdda5cf4e5e9934c3d25e6e7196

and going off the current pcre doc included with the 8.44 tarball:
 The Autotools PCRE building process uses libtool to build both shared
and static libraries by default. You can suppress one of these by
adding one of

  --disable-shared
  --disable-static

to the configure command, as required.

The cygport info doesn't have "--disable-static" so maybe not having
static libraries wasn't an intentional omission??

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

- Raw text -


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