This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Can RPM packages be installed into Cygwin?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]