How to determine runtime and build requirements for an application?

marco atzeri marco.atzeri@gmail.com
Sat Jul 7 17:28:00 GMT 2012


On 7/7/2012 6:22 PM, Coldpizza wrote:
> Watching under /usr/share/doc/Cygwin/lftp.README I see the following.
> Is there any way to determine it, for example to compile other
> application from source, or must figure it out by myself?
>
>> Runtime requirements:
>>   cygwin
>>   libexpat1
>>   libgcc1
>>   libiconv2
>>   libintl8
>>   libncurses10
>>   libopenssl100
>>   libreadline7
>>   libstdc++6
>>
>> Build requirements:
>>   binutils
>>   gcc4-g++
>>   gettext-devel
>>   libiconv
>>   make
>>   openssl-devel
>>   readline
>>
>> Build script additional requirements:
>>   coreutils
>>   findutils
>>   cygport
>
> --

for dll runtime dependency see

$ cygcheck /usr/bin/lftp.exe

using a small script like
--------------------------------------------
#/!bin/bash
if [ $# -ne 1 ]
then
         echo "Usage : " $0 "file_name"
         echo "Find package dependency from dll dependency"
         exit 1
fi

a=1
for i in  $(cygcheck $1 |tr " " "^" | tr "\r" " " )
do
         echo  -n $i |tr "^" " "
         echo -n " =>  "
         b=$(cygcheck -f $(cygpath -u $(echo $i |tr  "^" " "))| tr "\r" 
" " )
         if [ -z $b ]
         then
           echo "??"
         else
           echo $b
         fi
done
----------------------------------------------------
you can directly look at the package dependency


$ cyg_dependency /usr/bin/lftp.exe
E:\cygwin\bin\lftp.exe =>  lftp-4.3.7-1
   E:\cygwin\bin\cyggcc_s-1.dll =>  libgcc1-4.5.3-3
     E:\cygwin\bin\cygwin1.dll =>  cygwin-1.7.15-1
       C:\Windows\system32\KERNEL32.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-RtlSupport-L1-1-0.dll =>  ??
         C:\Windows\system32\ntdll.dll =>  ??
         C:\Windows\system32\KERNELBASE.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-ProcessThreads-L1-1-0.dll 
=>  ??
         C:\Windows\system32\API-MS-Win-Core-Heap-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Memory-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Handle-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Synch-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-File-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-IO-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-ThreadPool-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-LibraryLoader-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-NamedPipe-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Misc-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-SysInfo-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Localization-L1-1-0.dll =>  ??
 
C:\Windows\system32\API-MS-Win-Core-ProcessEnvironment-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-String-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Debug-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-ErrorHandling-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Fibers-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Util-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-Profile-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-Win-Security-Base-L1-1-0.dll =>  ??
   E:\cygwin\bin\cygstdc++-6.dll =>  libstdc++6-4.5.3-3
   E:\cygwin\bin\cygcrypto-1.0.0.dll =>  libopenssl100-1.0.1c-1
     E:\cygwin\bin\cygz.dll =>  zlib0-1.2.7-1
   E:\cygwin\bin\cygncurses-10.dll =>  libncurses10-5.7-18
   E:\cygwin\bin\cygexpat-1.dll =>  libexpat1-2.1.0-1
   E:\cygwin\bin\cygiconv-2.dll =>  libiconv2-1.14-2
   E:\cygwin\bin\cygintl-8.dll =>  libintl8-0.18.1.1-2
   E:\cygwin\bin\cygreadline7.dll =>  libreadline7-6.1.2-3
     E:\cygwin\bin\cygncursesw-10.dll =>  libncursesw10-5.7-18
     C:\Windows\system32\USER32.dll =>  ??
       C:\Windows\system32\GDI32.dll =>  ??
         C:\Windows\system32\API-MS-Win-Core-LocalRegistry-L1-1-0.dll =>  ??
         C:\Windows\system32\LPK.dll =>  ??
           C:\Windows\system32\USP10.dll =>  ??
             C:\Windows\system32\msvcrt.dll =>  ??
               C:\Windows\system32\API-MS-Win-Core-Console-L1-1-0.dll =>  ??
               C:\Windows\system32\API-MS-Win-Core-DateTime-L1-1-0.dll 
=>  ??
 
C:\Windows\system32\API-MS-Win-Core-Interlocked-L1-1-0.dll =>  ??
       C:\Windows\system32\ADVAPI32.dll =>  ??
         C:\Windows\system32\API-MS-WIN-Service-Core-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-WIN-Service-winsvc-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-WIN-Service-Management-L1-1-0.dll =>  ??
         C:\Windows\system32\API-MS-WIN-Service-Management-L2-1-0.dll =>  ??
         C:\Windows\system32\RPCRT4.dll =>  ??
           C:\Windows\system32\SspiCli.dll =>  ??
             C:\Windows\system32\CRYPTBASE.dll =>  ??
               C:\Windows\system32\API-MS-Win-Core-DelayLoad-L1-1-0.dll 
=>  ??
 
C:\Windows\system32\API-MS-Win-Security-LSALookup-L1-1-0.dll =>  ??
   E:\cygwin\bin\cygssl-1.0.0.dll =>  libopenssl100-1.0.1c-1


Regards
Marco

--
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



More information about the Cygwin mailing list