Hi Senthil,

On Mon, Feb 8, 2010 at 6:56 PM, S. Senthil Anand <[email protected]>wrote:

> > On Mon, Feb 8, 2010 at 5:03 PM, S. Senthil Anand
>
> > Is pkgsrc such tool??, to find all the dependency library files/ bin
> files
> > /
> > files that are required for the application that has its contents inside
> a
> > directory?
> >
>
> You get a application directory with a Makefile and a few patches. The
> makefile clearly says what are the other packages which are needed to
> build the software and then to run the software [these need not be
> identical eg. to build C++ programs you need g++ but to run it you need
> libstdc++ and not g++.] Each of those packages will have their own
> Makefile etc. When you run make install, make will take care of building
> all the required dependencies recursively by downloading the source code
> and building them in the required order. FreeBSD and OpenBSD ports, and
> Gentoo's portage which is inspired by FreeBSD ports works similarly.
>
> If you want to simply view dependencies, go to http://pkgsrc.se and see if
> the software you want is there. You will get the complete dependency
> information for a package in pkgsrc under all supported platforms.
>
> > To be simple, is there any such ldd command for all files/
> sub-directories
> > of a directory specified, not just for libraries but also for all
> > dependencies ???
>
> I am not aware of a single tool like ldd to display all the dependencies
> recursively. You can probably write a tool to walk through the dependency
> graph of a package for the various package managers you are interested in.
> For me the dependencies tab in synaptic is good enough.
>
> > Or how to make an application *absolutely* portable in Linux environment
> > ???
>
> For source portability, pkgsrc or portage will take care of the stuff. For
> binary portability within a same architecture ie. i686 (betwwen
> distributions of the same architecture) , you need to statically compile
> your program + dependencies eg. Opera. Binary compatibilty between
> architectures ie. i686 and arm for example, is not feasible unless you go
> for something like MacOS's universal binaries which is not used anywhere
> in Linux land.
>
>
Thanks for the eye-opening guidelines. Credits to your impressive
cognizance. :)
BTW, about ldd,

ldd - list  dynamic  dependencies  of  executable  files  or shared objects

http://wwwcgi.rdg.ac.uk:8081/cgi-bin/cgiwrap/wsi14/poplog/man/1/ldd


Saravanan Sundaramoorthy
Red Hat Certified Engineer
+91 99404 32545
_______________________________________________
ILUGC Mailing List:
http://www.ae.iitm.ac.in/mailman/listinfo/ilugc

Reply via email to