X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_KR,TW_TD X-Spam-Check-By: sourceware.org Message-ID: <4F8EFC18.1070508@gmail.com> Date: Thu, 19 Apr 2012 01:38:32 +0800 From: De-Jian Zhao User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20120312 Thunderbird/11.0 MIME-Version: 1.0 To: Linda Walsh CC: "cygwin AT cygwin DOT com" Subject: Re: Can RPM packages be installed into Cygwin? References: <4F7FEF5B DOT 5060206 AT gmail DOT com> <4F8D066B DOT 2060900 AT tlinx DOT org> <4F8EBDF0 DOT 4080407 AT gmail DOT com> <4F8EF2AA DOT 9050305 AT tlinx DOT org> In-Reply-To: <4F8EF2AA.9050305@tlinx.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 2012-4-19 0:58, Linda Walsh wrote: > De-Jian Zhao wrote: > >> >> Thank you, Linda. When I saw the error message after installing some >> packages to satisfy the dependencies, I was wondering why the rpm >> package still complained about the already installed packages. I was >> not aware that cygwin and rpm were not sharing the 'database'. Thank >> you for making it clear to me.I will try the src.rpm when I am free. > > --- > Note: > The src.rpm will likely look in the rpm database for it's > pre-reqs as well. > you will need to look inside it (install the src.rpm, and look > in the /usr/src/packages/specs dir for .spec>) -- and you > will see lines like: (example from suse samba package): > > BuildRequires: cups-devel e2fsprogs-devel fam-devel libacl-devel > pam-devel popt-devel python-devel readline-devel > %if 0%{?suse_version} > BuildRequires: cracklib-devel openldap2-devel > %endif > %if 0%{?suse_version} > 1030 > BuildRequires: gdbm-devel pwdutils > %endif > %if 0%{?suse_version} > 930 > BuildRequires: krb5-devel libiniparser-devel libnscd-devel > %endif > .... > (there's a bunch more .. the BuildRequires lines -- will refer to > DISTRO-specific package names (if that was built for Redhat, will refer > to redhat's package names). > > The "if" statements are all about configure the same "spec" file for > different > conditions... if you wanted to make things complex (I wouldn't), you > could > build all the packages it needs and put in an if statement that would > be true > for cygwin (would be alot of work!) > > Or. look at the minimum set of packages you will need and make sure they > are installed from cygwin, > and comment out all those build-require lines and -- try it.. cross > fingers. > > But it will then likely be built for whatever DISTRO's specific file > layout > which may not match cygwin's. > > Safest -- after you install src.rpm, look in > /usr/src/packages/SOURCES/ for > .tar.[bz2,gz] -- that will be the original tar > package > -- prior to any DISTRO specific changes, that you will want. > > Unpack that to a dir and hope it is setup with the configure route -- > or figure > out what it needs to build (make...blah). > > I have taken suse src rpms and direct ported them to cygwin -- but I had > to disable all the pre-requisite checking at build and install time, > due to > the missing rpm database -- but the program was a *simple one*, and it > worked. > So it is possible. The more complex the program, the more likely it > will > take more work to port...but sometimes you get lucky and the developer > did > a good job setting up a configure script that will work with cygwin... > > It is a pain -- you will be porting the source to cygwin -- but it it > is worth it to you, you can get it done. (But you really have to want > it!) ;-) > Hi, Linda. Thank you for your detailed explanation. The "spec" file seems different from your description. There is no explicit BuildRequires statement. There is no explicit statement of packages required. It is as follows: ====Star ncbi-blast.spec=== Name: ncbi-blast Version: 2.2.26+ Release: 3 Source0: %{name}-%{version}.tgz Summary: NCBI BLAST finds regions of similarity between biological sequences. Exclusiveos: linux Group: NCBI/BLAST License: Public Domain BuildArch: i686 x86_64 BuildRoot: /var/tmp/%{name}-buildroot Prefix: /usr %description The NCBI Basic Local Alignment Search Tool (BLAST) finds regions of local similarity between sequences. The program compares nucleotide or protein sequences to sequence databases and calculates the statistical significance of matches. BLAST can be used to infer functional and evolutionary relationships between sequences as well as help identify members of gene families. %prep %setup -q %build ./configure cd c++/*/build %__make -f Makefile.flat %install %__mkdir_p $RPM_BUILD_ROOT/%_bindir cd c++/*/bin %__install -m755 blastp blastn blastx tblastn tblastx psiblast rpsblast rpstblastn blast_formatter deltablast makembindex segmasker dustmasker windowmasker makeblastdb makeprofiledb blastdbcmd blastdb_aliastool convert2blastmask blastdbcheck legacy_blast.pl update_blastdb.pl $RPM_BUILD_ROOT/%_bindir %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %_bindir/* %changelog * Mon Jul 21 2008 Christiam Camacho - See ChangeLog file ===End ncbi-blast.spec=== There is a file ncbi-blast-2.2.26+.tgz under the directory SOURCES. There are two files, or build.sh and check.sh, in the directory ncbi-blast-2.2.26+\c++\compilers\cygwin\, which is similar to the package ncbi-blast-2.2.26+-src.tar.gz. I was stuck with "checking for python" when compiling ncbi-blast-2.2.26+-src.tar.gz. -- 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