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
