delorie.com/archives/browse.cgi | search |
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:mime-version:references:in-reply-to:from:date | |
:message-id:subject:to:content-type; q=dns; s=default; b=Bg/jzaR | |
ALgXmwm2JpFb23+rFrLNHSLSWbcDs3f8IJZBHLPssivpBrLwzql3CizsMoY/rDAy | |
w5Jj0WSP8pznR1bmS5SdE6xQ+XTOFUZN6EGwcDQRcHo1JziO4AhwkBWaiD7qTiMr | |
XHe5r471zVL1c6eIwslgEb6fpf/6krWlPU/0= | |
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:mime-version:references:in-reply-to:from:date | |
:message-id:subject:to:content-type; s=default; bh=mu8Grw0rSfCT6 | |
7TAJpoyji44dCU=; b=JTHr66GZN+F7wDepWx9B6eo+0dTBu6TTnOaFWLv3ID78F | |
0NZX9rKsuM6B4UY9pLPlmRMQ6y6OjMAtpr+gQ+lWyIRyAEinXBo2pa/IXb+3+0f+ | |
3C735nZXhG05lfjr8+eWI+hgukHwmz6DWMG1GSrGlS4jY83dXppSqcBcvMbIvw= | |
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-Spam-SWARE-Status: | No, score=-1.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=chains, HX-HELO:sk:mail-lf, H*c:alternative |
X-HELO: | mail-lf1-f53.google.com |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=k2hYsBLu+nzpekNjZKrYf2axYPqAl7ItIaW0zqv/ks0=; b=kFLUUHhWx6wSn+IjPOtVVygG9yQInMvrsB1XOjI85gVtu0/7FLMGDZMp376FqDMlLg VA3wfX1C9IQEf3r/dAYo+UJ4YsXRy7u0OC8/TizsbhXaNdAKciZFqV8B9ZEG+NiKRfhB KmBpiEdFO1V6lJOZmuH0/YXEUYQke7tFpgvJV62WFHaXxIL4MbTHKgLHdoDOO3hhmcZM QlY2ZncYnjthG0siXZKvD1lrAK6BqpzpVG8d8jl9IeXluajyjMg2oN1MLu0amlVOPVpx l9OJcq3YUqrDdJI9E1NYDpXhuvNubfJbEmb03LHjXe8MWPfjzdIcqMq04zNQLd8LeyND fY1A== |
MIME-Version: | 1.0 |
References: | <k-FR7PNenfo1J53Q0MeVTHBabZ0w6SgeipwWNFvMxBIT202N0ZfvtYw6TJcdatirkNpqdJ1FptFfOLvInYQkVheckcD7-3MH_cqsTkrEWOQ=@protonmail.com> |
In-Reply-To: | <k-FR7PNenfo1J53Q0MeVTHBabZ0w6SgeipwWNFvMxBIT202N0ZfvtYw6TJcdatirkNpqdJ1FptFfOLvInYQkVheckcD7-3MH_cqsTkrEWOQ=@protonmail.com> |
From: | R0b0t1 <r030t1 AT gmail DOT com> |
Date: | Sun, 14 Oct 2018 16:48:56 -0500 |
Message-ID: | <CAAD4mYjwpD_asDgmqB5-wMf6EMYEt=pnyRc=n2VxKoi1sTLtuA@mail.gmail.com> |
Subject: | Re: Distributing program compiled with gcc on Cygwin to Windows users |
To: | hackerwiz AT protonmail DOT com, cygwin AT cygwin DOT com |
X-IsSubscribed: | yes |
On Sun, Oct 14, 2018, 4:20 PM <hackerwiz AT protonmail DOT com> wrote: > Hello, > > I have a program that uses X11/Motif and runs fine, within Cygwin/X on the > PC it was compiled on. > > What is the *minimum* required set of Cygwin libs and any other files I > need to distribute along with, it to end-users who may just have Windows > (and not Cygwin) installed? > > I appreciate your help. > > "ldd " on my program gives these dependencies listed below: > > thanks > -Ron > > ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x77370000) > KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL > (0x75570000) > KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll > (0x74940000) > cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x5c630000) > cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x68c50000) > cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000) > libtcl8.6.dll => /usr/bin/libtcl8.6.dll (0x58660000) > cygX11-6.dll => /usr/bin/cygX11-6.dll (0x695e0000) > cygXm-4.dll => /usr/bin/cygXm-4.dll (0x68a00000) > cygXpm-4.dll => /usr/bin/cygXpm-4.dll (0x69560000) > cygXt-6.dll => /usr/bin/cygXt-6.dll (0x694b0000) > cygperl5_26.dll => /usr/bin/cygperl5_26.dll (0x5d3b0000) > cygz.dll => /usr/bin/cygz.dll (0x5b8b0000) > cygxcb-1.dll => /usr/bin/cygxcb-1.dll (0x5bc90000) > cygfontconfig-1.dll => /usr/bin/cygfontconfig-1.dll (0x67480000) > cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x61a20000) > cygjpeg-8.dll => /usr/bin/cygjpeg-8.dll (0x60c20000) > cygpng16-16.dll => /usr/bin/cygpng16-16.dll (0x5d600000) > cygXext-6.dll => /usr/bin/cygXext-6.dll (0x69810000) > cygXft-2.dll => /usr/bin/cygXft-2.dll (0x69720000) > cygXmu-6.dll => /usr/bin/cygXmu-6.dll (0x69590000) > cygICE-6.dll => /usr/bin/cygICE-6.dll (0x6fea0000) > cygSM-6.dll => /usr/bin/cygSM-6.dll (0x69970000) > cygcrypt-0.dll => /usr/bin/cygcrypt-0.dll (0x68790000) > cygXau-6.dll => /usr/bin/cygXau-6.dll (0x698f0000) > cygXdmcp-6.dll => /usr/bin/cygXdmcp-6.dll (0x69830000) > cygexpat-1.dll => /usr/bin/cygexpat-1.dll (0x67e70000) > cygfreetype-6.dll => /usr/bin/cygfreetype-6.dll (0x66950000) > cygXrender-1.dll => /usr/bin/cygXrender-1.dll (0x69520000) > cyguuid-1.dll => /usr/bin/cyguuid-1.dll (0x5c8b0000) > cygbz2-1.dll => /usr/bin/cygbz2-1.dll (0x689a0000) > cygintl-8.dll => /usr/bin/cygintl-8.dll (0x64640000) > utwin.dll => /cygdrive/c/builds/solaris32/2018/2004-ut/utwin.dll > (0x64c00000) > USER32.dll => /cygdrive/c/WINDOWS/System32/USER32.dll (0x73c50000) > win32u.dll => /cygdrive/c/WINDOWS/System32/win32u.dll (0x75650000) > mfc140d.dll => /cygdrive/c/WINDOWS/SYSTEM32/mfc140d.dll > (0x63d20000) > ADVAPI32.dll => /cygdrive/c/WINDOWS/System32/ADVAPI32.dll > (0x76dc0000) > GDI32.dll => /cygdrive/c/WINDOWS/System32/GDI32.dll (0x74f20000) > msvcrt.dll => /cygdrive/c/WINDOWS/System32/msvcrt.dll (0x74510000) > gdi32full.dll => /cygdrive/c/WINDOWS/System32/gdi32full.dll > (0x770a0000) > sechost.dll => /cygdrive/c/WINDOWS/System32/sechost.dll > (0x74f50000) > msvcp_win.dll => /cygdrive/c/WINDOWS/System32/msvcp_win.dll > (0x758e0000) > ucrtbase.dll => /cygdrive/c/WINDOWS/System32/ucrtbase.dll > (0x757c0000) > RPCRT4.dll => /cygdrive/c/WINDOWS/System32/RPCRT4.dll (0x747d0000) > COMDLG32.dll => /cygdrive/c/WINDOWS/System32/COMDLG32.dll > (0x74cc0000) > SspiCli.dll => /cygdrive/c/WINDOWS/System32/SspiCli.dll > (0x73c30000) > combase.dll => /cygdrive/c/WINDOWS/System32/combase.dll > (0x76e40000) > CRYPTBASE.dll => /cygdrive/c/WINDOWS/System32/CRYPTBASE.dll > (0x73c20000) > bcryptPrimitives.dll => > /cygdrive/c/WINDOWS/System32/bcryptPrimitives.dll (0x75760000) > ??? => ??? (0x3840000) > shcore.dll => /cygdrive/c/WINDOWS/System32/shcore.dll (0x754e0000) > ole32.dll => /cygdrive/c/WINDOWS/System32/ole32.dll (0x75960000) > SHLWAPI.dll => /cygdrive/c/WINDOWS/System32/SHLWAPI.dll > (0x75670000) > OLEAUT32.dll => /cygdrive/c/WINDOWS/System32/OLEAUT32.dll > (0x74da0000) > SHELL32.dll => /cygdrive/c/WINDOWS/System32/SHELL32.dll > (0x75a70000) > VCRUNTIME140D.dll => > /cygdrive/c/WINDOWS/SYSTEM32/VCRUNTIME140D.dll (0x6f700000) > IMM32.dll => /cygdrive/c/WINDOWS/System32/IMM32.dll (0x74b30000) > cfgmgr32.dll => /cygdrive/c/WINDOWS/System32/cfgmgr32.dll > (0x75020000) > ucrtbased.dll => /cygdrive/c/WINDOWS/SYSTEM32/ucrtbased.dll > (0x63ba0000) > windows.storage.dll => > /cygdrive/c/WINDOWS/System32/windows.storage.dll (0x73de0000) > lmgr327b.dll => > /cygdrive/c/builds/solaris32/2018/2004-ut/lmgr327b.dll (0x10000000) > kernel.appcore.dll => > /cygdrive/c/WINDOWS/System32/kernel.appcore.dll (0x77210000) > COMCTL32.dll => > /cygdrive/c/WINDOWS/WinSxS/x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.17134.285_none_41037de2450e52da/COMCTL32.dll > (0x701f0000) > profapi.dll => /cygdrive/c/WINDOWS/System32/profapi.dll > (0x74f00000) > UxTheme.dll => /cygdrive/c/WINDOWS/SYSTEM32/UxTheme.dll > (0x71c80000) > powrprof.dll => /cygdrive/c/WINDOWS/System32/powrprof.dll > (0x75060000) > NETAPI32.dll => /cygdrive/c/WINDOWS/SYSTEM32/NETAPI32.dll > (0x72c50000) > FLTLIB.DLL => /cygdrive/c/WINDOWS/System32/FLTLIB.DLL (0x75010000) > WINSPOOL.DRV => /cygdrive/c/WINDOWS/SYSTEM32/WINSPOOL.DRV > (0x72070000) > bcrypt.dll => /cygdrive/c/WINDOWS/SYSTEM32/bcrypt.dll (0x73460000) > PROPSYS.dll => /cygdrive/c/WINDOWS/SYSTEM32/PROPSYS.dll > (0x72540000) > IPHLPAPI.DLL => /cygdrive/c/WINDOWS/SYSTEM32/IPHLPAPI.DLL > (0x723b0000) > > Sent with [ProtonMail](https://protonmail.com) Secure Email. Hello, You can tell GCC to statically compile your binaries. However I usually only do this for very simple programs that do not have many dependencies. With complicated dependency chains it is possible to get to a place where library X or Y *demands* dynamic loading and you are left trying to gather the libraries. To gather the libraries you can parse the output of ldd. I think there is another program that will print out a dependency *tree* that is harder to to parse but has options that generate more easily machine readable. I have used the above for a ramdisk based system. It was easier than statically compiling everything. I lost the code I think or I'd pass it along. Also consider installing Cygwin on the target system. It is a more realistic solution even for automated deployments. Cheers, R0b0t1 -- 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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |