On 2012-4-17 13:58, Linda Walsh wrote:
De-Jian Zhao wrote:
Dear all,
I noticed that there is a command - rpm - under Cygwin 1.7. Does that
mean RPM packages can be installed into Cygwin?
I tried to install ncbi-blast-2.2.26+-3.i686.rpm (see:
ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ ) into
Cygwin 1.7.13 with the command "install -i
ncbi-blast-2.2.26+-3.i686.rpm". However, error message appeared as
below. libc.so.6, libdl.so.2, libm.so.6, libnsl.so.1, and
libz.so.1. Where can I get these libs? Thanks!
$ rpm -i ncbi-blast-2.2.26+-3.i686.rpm
error: Failed dependencies:
/usr/bin/perl is needed by ncbi-blast-2.2.26+-3
libbz2.so.1 is needed by ncbi-blast-2.2.26+-3
libc.so.6 is needed by ncbi-blast-2.2.26+-3
libc.so.6(GLIBC_2.1.3) is needed by ncbi-blast-2.2.26+-3
libc.so.6(GLIBC_2.2) is needed by ncbi-blast-2.2.26+-3
libc.so.6(GLIBC_2.3) is needed by ncbi-blast-2.2.26+-3
.....
On Tue, Apr 10, 2012 at 02:03:29PM +0800, De-Jian Zhao wrote:
> It seems that the compilation under Cygwin is more complicated than
> expected.
==========================================================
This has nothing to do with cygwin.
It is 'rpm' looking for installed dependencies in the rpm database.
Since everything was installed with 'setup.exe' which keeps it's own
'database', rpm thinks nothing is installed.
You need to make sure the versions required by the rpm are installed
by setup,
then you can build from a ncbi-blast-2.2.26+-3.src.rpm
^^^
The i686.rpm package is prebuilt for "some" platform (you would have
to know
which from the download -- i.e. one built for suse won't necessarily
run on redhat, or ubuntu... or other combinations. Ones that do
will be statically
built and will be usable on some range of OS-versions of some
particular OS.
Since rpm is a linux thing, it would be built for the linux OS... so
double-screw. Wrong OS, wrong executable format...etc... look for a
corresponding .src. rpm, OR as someone else already suggested, look
for the
'tar' that the is included in the ".src". -- in fact, if you have the
.src.,
usually the .tar. file they build from is packed into it (then patches
and OS
specific stuff is applied), so you can often just take the tar from
your src.rpm
and move it to cygwin, and run it directly if it has a "configure"
script.
it might also have something like "bootstrap.sh" (or bootstrap
something) that will produce a configure script -- that will usually
allow you to build an executable that will work on your platform (in
this case cygwin) -- but you
will still have to have _needed_ dependencies installed (like
development packages from cygwin for some of the above).
All of those packages may not be needed -- dependencies are often based
on what options you select in configure (configure --help tells you
all it's options). Sometimes you don't need all the options the
'default' rpm builds
with making life simpler.
Compilation, period, other than on the system the package was designed
for is
never completely trivial, but configure makes it nearly so if it is
used --
most packages these days have such a script -- rpm packages just have
pre-built
some pre-configured image for distribution -- may not be optimal for
your needs
nor is it likely to be optimized for your machine.
Hope this was of some help.
Good luck!
Linda
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.
DJ
--
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