From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19167 invoked by alias); 20 Apr 2012 00:21:25 -0000 Received: (qmail 19156 invoked by uid 22791); 20 Apr 2012 00:21:23 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,TW_TD,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from ishtar.tlinx.org (HELO Ishtar.sc.tlinx.org) (173.164.175.65) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 20 Apr 2012 00:21:09 +0000 Received: from [192.168.3.12] (Athenae [192.168.3.12]) by Ishtar.sc.tlinx.org (8.14.4/8.14.4/SuSE Linux 0.8) with ESMTP id q3K0Kwis011407; Thu, 19 Apr 2012 17:21:00 -0700 Message-ID: <4F90ABEA.2060301@tlinx.org> Date: Fri, 20 Apr 2012 00:21:00 -0000 From: Linda Walsh User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.24) Gecko/20100228 Lightning/0.9 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666 MIME-Version: 1.0 To: De-Jian Zhao CC: "cygwin@cygwin.com" Subject: Re: Can RPM packages be installed into Cygwin? References: <4F7FEF5B.5060206@gmail.com> <4F8D066B.2060900@tlinx.org> <4F8EBDF0.4080407@gmail.com> <4F8EF2AA.9050305@tlinx.org> <4F8EFC18.1070508@gmail.com> In-Reply-To: <4F8EFC18.1070508@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2012-04/txt/msg00422.txt.bz2 De-Jian Zhao wrote: > 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: ---- The one I included was definitely a more complicated one. Most OLDER src BUILD spec files did NOT include a list of what they needed to build -- so you wouldn't see any BuildRequires -- in them... A major improvement, IMO -- since before, you could run and run builds and have them fail due to something missing... and it woudl take forever to try to figure it out, or worse -- what package the referennce was in -- The cygwin build package was still at that level last time I tried... Never could figure out all the prereqs, so it always failed on my machine... sigh. (only made attempts about 3 times spaced about a year or more apart each...).. There's a load of difference between those who say it is easy (when they know they solution), vs. out of 100 choices, if you don't know they right one -- it's hard -- multiply that by more choices and products and the solution becomes NP-hard. > ./configure > cd c++/*/build > %__make -f Makefile.flat ---- The above is the part you want - it uses configure to build itself -- so ideally you can just unpack the tar (read the build.sh and see if it does anything special (sets ENV vars or uses special options to configure), then do the configure. When done, you should be able to cd to 'somedir' (usually the top level dir -- looks like they are only building part of the product). and usually just run 'make' Again -- they seem to be using a custom 'Makefile.flat', instead of the regular make, so you might want to look at the makefile configure generates and Makefile.flat and see what's different and 'why' they did it that way (maybe tried to make it more portable on different architectures..? guessing)... > > %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 ---- You likely won't need this -- if you tell configure where your bind dir is (remember ./configure --help, will tell you how to set options for where you want things to go -- can always make a best guess and see if it works, if not, try again (I've made many more wrong choices than right ones -- but I just try not to stop until I find the right one (or at least one that's good enough for me!)... though to install, usually after you 'make', you need to do a 'make install' - > > > 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. ---- Well, then they are doing something similar to what rpm does... I assume you mean when you did the configure/make manually or are you still trying it through rpm?... rpm has those problems I mentioned earlier. Does the package you are using use python that you know of? Might look through the makefile and see what it does with python -- find out where that message is comming from (process explorer/process monitor (both from sysinternals (part of microsoft).. are free). they can help you identify what processes are running and such. also .. don't forget cygwin's 'strace -ff fffff' If you start your make with strace, you'll get lots of output, but it should 'hang' (or be going in loops) pretty close to where you are seeing that message!)... If fact, when that message comes out, us 'ps' to see what is running and use strace to attach to the running process and see what the bleep it is doing..... Work on tracking it back to what script is beign called and see if you need it. if not-- nix it some way (exit 0 as 1st line works!)...;-) Welcome to the world of porting... A real pain when all you wanted to do was calculate "2+2"... ;-) -- 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