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 <package>.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
<name of your package>.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 <cama...@ncbi.nlm.nih.gov>
- 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