On 2/14/2013 2:07 PM, Cristian Rodríguez wrote:
El 14/02/13 14:20, Linda Walsh escribió: if they NEED to do that, it is known you
either include the lib in a program-private directory, OR you statically link.
Ok, to get rid of your illusion, the best way we can do it is by trying to statically link a simple "hello world" program.
cat getpwnam.c #include
#include #include int main(void) { struct passwd *p;
if ((p = getpwnam("root")) == NULL) perror("getpwnam() error"); else { printf("getpwnam() returned the following info for user root:\n"); printf(" pw_name : %s\n", p->pw_name); printf(" pw_uid : %d\n", (int) p->pw_uid); printf(" pw_gid : %d\n", (int) p->pw_gid); printf(" pw_dir : %s\n", p->pw_dir); printf(" pw_shell : %s\n", p->pw_shell); } }
This is trivial program, which is ridiculously simple compared to a real life software.
gcc -static getpwnam.c
/tmp/ccAf3rHn.o:getpwnam.c:function main: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking.
See now that your supposed approach to avoid "lock-in" and to provide "portability" is doomed ?
Here you have a non-complete or exhaustive list on why suggesting "static linking" to solve a problem is fooling yourself
http://www.akkadia.org/drepper/no_static_linking.html
Suggesting to use static linking in a distribution or in a production deployment is absolute madness as that means we must rebuild, re-test, republish all affected programs when a security problem or bug is found in a library.
To put an end on this discussion, I must say the problems you are facing are of your making due to the twisted crazy understanding of how the system really work or must work.
I rest my case.
Neither of you two are fully right or fully wrong, but she is more right than you. -- bkw -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org