* [gentoo-user] Compile program with older libraries
@ 2012-05-24 13:15 Marko Košmerl
2012-05-24 13:33 ` Markos Chandras
2012-05-25 10:55 ` Joshua Murphy
0 siblings, 2 replies; 8+ messages in thread
From: Marko Košmerl @ 2012-05-24 13:15 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 2158 bytes --]
Hi!
I have some program which I am using in a thin client which has Gentoo
stage 3 root fs (kernel 2.6.39.4),
lets call it system A.
I've also compiled that program chroot-ed in this stage 3 fs from my
personal computer.
I have an other thin clients which have older system (B) on it which is
older linux kernel 2.6.16.27.
Library version which are needed are of course different and for that
reason my program
can not be run in this sistem.
System A:
Linux redondo 2.6.39.4 #18 Mon Mar 19 13:14:32 CET 2012 i586 i586 i386
GNU/Linux
/lib/libc-2.12.2.so
gcc version 4.0.3
System B:
Linux carlos 2.6.16.27 #1 Sun Mar 25 11:09:40 CEST 2007 i586 i586 i386
GNU/Linux
/lib/libc-2.3.6.so
gcc version 4.0.3
Shared libraries that my binary uses are (in system A):
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf76d6000)
libuuid.so.1 => /lib/libuuid.so.1 (0xf76d1000)
libstdc++.so.6 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libstdc++.so.6
(0xf75da000)
libm.so.6 => /lib/libm.so.6 (0xf75b2000)
libc.so.6 => /lib/libc.so.6 (0xf7468000)
/lib/ld-linux.so.2 (0xf76f3000)
libgcc_s.so.1 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libgcc_s.so.1
(0xf7449000)
If i try to compile my program using '-static' directive, I still have a
problem with 4 functions:
-initgroups,
-getpwnam,
-getaddrinfo,
-gethostbyname.
If I got that right, they use functions which are located in NSS shared
libraries.
I am looking for a way of compiling my program so that I can run it in
system B.
I have libraries available from system B and that is all that I have.
I need help on getting this done.
I guess gcc versions are the same and as well libgcc_s.so.1 shared library.
My questions are:
Can I pull those libraries from system B and use it in compilatin process?
Would that work?
I would still need to get include source files of that version, right?
Is there some archive site where I can find so old version of linux kernel
source?
One thing that pops in to my mind is also trying to find gentoo stage 3
tarball of the kernel version 2.6.16.27
and compile the program there...I tried to search that but no luck in
that...
Any help would be welcomed!
[-- Attachment #2: Type: text/html, Size: 2488 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] Compile program with older libraries
2012-05-24 13:15 [gentoo-user] Compile program with older libraries Marko Košmerl
@ 2012-05-24 13:33 ` Markos Chandras
2012-05-24 13:58 ` Marko Košmerl
2012-05-25 10:55 ` Joshua Murphy
1 sibling, 1 reply; 8+ messages in thread
From: Markos Chandras @ 2012-05-24 13:33 UTC (permalink / raw
To: gentoo-user
On Thu, May 24, 2012 at 2:15 PM, Marko Košmerl <marko06@gmail.com> wrote:
> Hi!
>
> I have some program which I am using in a thin client which has Gentoo
> stage 3 root fs (kernel 2.6.39.4),
> lets call it system A.
> I've also compiled that program chroot-ed in this stage 3 fs from my
> personal computer.
>
> I have an other thin clients which have older system (B) on it which is
> older linux kernel 2.6.16.27.
> Library version which are needed are of course different and for that reason
> my program
> can not be run in this sistem.
>
> System A:
> Linux redondo 2.6.39.4 #18 Mon Mar 19 13:14:32 CET 2012 i586 i586 i386
> GNU/Linux
> /lib/libc-2.12.2.so
> gcc version 4.0.3
>
> System B:
> Linux carlos 2.6.16.27 #1 Sun Mar 25 11:09:40 CEST 2007 i586 i586 i386
> GNU/Linux
> /lib/libc-2.3.6.so
> gcc version 4.0.3
>
> Shared libraries that my binary uses are (in system A):
> linux-gate.so.1 => (0xffffe000)
> libpthread.so.0 => /lib/libpthread.so.0 (0xf76d6000)
> libuuid.so.1 => /lib/libuuid.so.1 (0xf76d1000)
> libstdc++.so.6 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libstdc++.so.6
> (0xf75da000)
> libm.so.6 => /lib/libm.so.6 (0xf75b2000)
> libc.so.6 => /lib/libc.so.6 (0xf7468000)
> /lib/ld-linux.so.2 (0xf76f3000)
> libgcc_s.so.1 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libgcc_s.so.1
> (0xf7449000)
>
> If i try to compile my program using '-static' directive, I still have a
> problem with 4 functions:
> -initgroups,
> -getpwnam,
> -getaddrinfo,
> -gethostbyname.
>
> If I got that right, they use functions which are located in NSS shared
> libraries.
>
> I am looking for a way of compiling my program so that I can run it in
> system B.
> I have libraries available from system B and that is all that I have.
>
> I need help on getting this done.
> I guess gcc versions are the same and as well libgcc_s.so.1 shared library.
>
> My questions are:
> Can I pull those libraries from system B and use it in compilatin process?
> Would that work?
> I would still need to get include source files of that version, right?
> Is there some archive site where I can find so old version of linux kernel
> source?
> One thing that pops in to my mind is also trying to find gentoo stage 3
> tarball of the kernel version 2.6.16.27
> and compile the program there...I tried to search that but no luck in
> that...
>
> Any help would be welcomed!
You can statically compile your program on system A ( use gcc -static
-o test test.c for example ). Then you should be able to run it in
system B without any problem
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] Compile program with older libraries
2012-05-24 13:33 ` Markos Chandras
@ 2012-05-24 13:58 ` Marko Košmerl
2012-05-24 14:10 ` Markos Chandras
0 siblings, 1 reply; 8+ messages in thread
From: Marko Košmerl @ 2012-05-24 13:58 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 3917 bytes --]
On compile time I get warnings:
watcher.cpp:(.text+0x85): warning: Using 'initgroups' in statically linked
applications requires at runtime the shared libraries from the glibc
version used for linking
watcher.cpp:(.text+0x16f): warning: Using 'getpwnam' in statically linked
applications requires at runtime the shared libraries from the glibc
version used for linking
client.cpp:(.text+0xb1a): warning: Using 'getaddrinfo' in statically linked
applications requires at runtime the shared libraries from the glibc
version used for linking
reg.cpp:(.text+0x3d6): warning: Using 'gethostbyname' in statically linked
applications requires at runtime the shared libraries from the glibc
version used for linking
On running it:
./watcher: /lib/libuuid.so.1: no version information available (required by
./watcher)
./watcher: /lib/libc.so.6:e version `GLIBC_2.4' not found (required by
./watcher)
./watcher: /lib/libc.so.6: version `GLIBC_2.7' not found (required by
./watcher)
./watcher: /lib/libc.so.6: version `GLIBC_2.11' not found (required by
./watcher)
On Thu, May 24, 2012 at 3:33 PM, Markos Chandras <hwoarang@gentoo.org>wrote:
> On Thu, May 24, 2012 at 2:15 PM, Marko Košmerl <marko06@gmail.com> wrote:
> > Hi!
> >
> > I have some program which I am using in a thin client which has Gentoo
> > stage 3 root fs (kernel 2.6.39.4),
> > lets call it system A.
> > I've also compiled that program chroot-ed in this stage 3 fs from my
> > personal computer.
> >
> > I have an other thin clients which have older system (B) on it which is
> > older linux kernel 2.6.16.27.
> > Library version which are needed are of course different and for that
> reason
> > my program
> > can not be run in this sistem.
> >
> > System A:
> > Linux redondo 2.6.39.4 #18 Mon Mar 19 13:14:32 CET 2012 i586 i586 i386
> > GNU/Linux
> > /lib/libc-2.12.2.so
> > gcc version 4.0.3
> >
> > System B:
> > Linux carlos 2.6.16.27 #1 Sun Mar 25 11:09:40 CEST 2007 i586 i586 i386
> > GNU/Linux
> > /lib/libc-2.3.6.so
> > gcc version 4.0.3
> >
> > Shared libraries that my binary uses are (in system A):
> > linux-gate.so.1 => (0xffffe000)
> > libpthread.so.0 => /lib/libpthread.so.0 (0xf76d6000)
> > libuuid.so.1 => /lib/libuuid.so.1 (0xf76d1000)
> > libstdc++.so.6 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libstdc++.so.6
> > (0xf75da000)
> > libm.so.6 => /lib/libm.so.6 (0xf75b2000)
> > libc.so.6 => /lib/libc.so.6 (0xf7468000)
> > /lib/ld-linux.so.2 (0xf76f3000)
> > libgcc_s.so.1 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libgcc_s.so.1
> > (0xf7449000)
> >
> > If i try to compile my program using '-static' directive, I still have a
> > problem with 4 functions:
> > -initgroups,
> > -getpwnam,
> > -getaddrinfo,
> > -gethostbyname.
> >
> > If I got that right, they use functions which are located in NSS shared
> > libraries.
> >
> > I am looking for a way of compiling my program so that I can run it in
> > system B.
> > I have libraries available from system B and that is all that I have.
> >
> > I need help on getting this done.
> > I guess gcc versions are the same and as well libgcc_s.so.1 shared
> library.
> >
> > My questions are:
> > Can I pull those libraries from system B and use it in compilatin
> process?
> > Would that work?
> > I would still need to get include source files of that version, right?
> > Is there some archive site where I can find so old version of linux
> kernel
> > source?
> > One thing that pops in to my mind is also trying to find gentoo stage 3
> > tarball of the kernel version 2.6.16.27
> > and compile the program there...I tried to search that but no luck in
> > that...
> >
> > Any help would be welcomed!
>
> You can statically compile your program on system A ( use gcc -static
> -o test test.c for example ). Then you should be able to run it in
> system B without any problem
>
>
[-- Attachment #2: Type: text/html, Size: 4788 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] Compile program with older libraries
2012-05-24 13:58 ` Marko Košmerl
@ 2012-05-24 14:10 ` Markos Chandras
2012-05-24 14:50 ` Marko Košmerl
0 siblings, 1 reply; 8+ messages in thread
From: Markos Chandras @ 2012-05-24 14:10 UTC (permalink / raw
To: gentoo-user
On Thu, May 24, 2012 at 2:58 PM, Marko Košmerl <marko06@gmail.com> wrote:
> On compile time I get warnings:
> watcher.cpp:(.text+0x85): warning: Using 'initgroups' in statically linked
> applications requires at runtime the shared libraries from the glibc version
> used for linking
> watcher.cpp:(.text+0x16f): warning: Using 'getpwnam' in statically linked
> applications requires at runtime the shared libraries from the glibc version
> used for linking
> client.cpp:(.text+0xb1a): warning: Using 'getaddrinfo' in statically linked
> applications requires at runtime the shared libraries from the glibc version
> used for linking
> reg.cpp:(.text+0x3d6): warning: Using 'gethostbyname' in statically linked
> applications requires at runtime the shared libraries from the glibc version
> used for linking
>
> On running it:
> ./watcher: /lib/libuuid.so.1: no version information available (required by
> ./watcher)
> ./watcher: /lib/libc.so.6:e version `GLIBC_2.4' not found (required by
> ./watcher)
> ./watcher: /lib/libc.so.6: version `GLIBC_2.7' not found (required by
> ./watcher)
> ./watcher: /lib/libc.so.6: version `GLIBC_2.11' not found (required by
> ./watcher)
>
>
> On Thu, May 24, 2012 at 3:33 PM, Markos Chandras <hwoarang@gentoo.org>
> wrote:
>>
>> On Thu, May 24, 2012 at 2:15 PM, Marko Košmerl <marko06@gmail.com> wrote:
>> > Hi!
>> >
>> > I have some program which I am using in a thin client which has Gentoo
>> > stage 3 root fs (kernel 2.6.39.4),
>> > lets call it system A.
>> > I've also compiled that program chroot-ed in this stage 3 fs from my
>> > personal computer.
>> >
>> > I have an other thin clients which have older system (B) on it which is
>> > older linux kernel 2.6.16.27.
>> > Library version which are needed are of course different and for that
>> > reason
>> > my program
>> > can not be run in this sistem.
>> >
>> > System A:
>> > Linux redondo 2.6.39.4 #18 Mon Mar 19 13:14:32 CET 2012 i586 i586 i386
>> > GNU/Linux
>> > /lib/libc-2.12.2.so
>> > gcc version 4.0.3
>> >
>> > System B:
>> > Linux carlos 2.6.16.27 #1 Sun Mar 25 11:09:40 CEST 2007 i586 i586 i386
>> > GNU/Linux
>> > /lib/libc-2.3.6.so
>> > gcc version 4.0.3
>> >
>> > Shared libraries that my binary uses are (in system A):
>> > linux-gate.so.1 => (0xffffe000)
>> > libpthread.so.0 => /lib/libpthread.so.0 (0xf76d6000)
>> > libuuid.so.1 => /lib/libuuid.so.1 (0xf76d1000)
>> > libstdc++.so.6 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libstdc++.so.6
>> > (0xf75da000)
>> > libm.so.6 => /lib/libm.so.6 (0xf75b2000)
>> > libc.so.6 => /lib/libc.so.6 (0xf7468000)
>> > /lib/ld-linux.so.2 (0xf76f3000)
>> > libgcc_s.so.1 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libgcc_s.so.1
>> > (0xf7449000)
>> >
>> > If i try to compile my program using '-static' directive, I still have a
>> > problem with 4 functions:
>> > -initgroups,
>> > -getpwnam,
>> > -getaddrinfo,
>> > -gethostbyname.
>> >
>> > If I got that right, they use functions which are located in NSS shared
>> > libraries.
>> >
>> > I am looking for a way of compiling my program so that I can run it in
>> > system B.
>> > I have libraries available from system B and that is all that I have.
>> >
>> > I need help on getting this done.
>> > I guess gcc versions are the same and as well libgcc_s.so.1 shared
>> > library.
>> >
>> > My questions are:
>> > Can I pull those libraries from system B and use it in compilatin
>> > process?
>> > Would that work?
>> > I would still need to get include source files of that version, right?
>> > Is there some archive site where I can find so old version of linux
>> > kernel
>> > source?
>> > One thing that pops in to my mind is also trying to find gentoo stage 3
>> > tarball of the kernel version 2.6.16.27
>> > and compile the program there...I tried to search that but no luck in
>> > that...
>> >
>> > Any help would be welcomed!
>>
>> You can statically compile your program on system A ( use gcc -static
>> -o test test.c for example ). Then you should be able to run it in
>> system B without any problem
>>
>
Why don't you want to compile the program in system B if you already
have the libraries around?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] Compile program with older libraries
2012-05-24 14:10 ` Markos Chandras
@ 2012-05-24 14:50 ` Marko Košmerl
0 siblings, 0 replies; 8+ messages in thread
From: Marko Košmerl @ 2012-05-24 14:50 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 4791 bytes --]
The following is the problem:
root@carlos:/tmp/temp# g++ hello.cc -o hello
g++: installation problem, cannot exec 'cc1plus': No such file or directory
Also there is no make tool in that system...
On Thu, May 24, 2012 at 4:10 PM, Markos Chandras <hwoarang@gentoo.org>wrote:
> On Thu, May 24, 2012 at 2:58 PM, Marko Košmerl <marko06@gmail.com> wrote:
> > On compile time I get warnings:
> > watcher.cpp:(.text+0x85): warning: Using 'initgroups' in statically
> linked
> > applications requires at runtime the shared libraries from the glibc
> version
> > used for linking
> > watcher.cpp:(.text+0x16f): warning: Using 'getpwnam' in statically linked
> > applications requires at runtime the shared libraries from the glibc
> version
> > used for linking
> > client.cpp:(.text+0xb1a): warning: Using 'getaddrinfo' in statically
> linked
> > applications requires at runtime the shared libraries from the glibc
> version
> > used for linking
> > reg.cpp:(.text+0x3d6): warning: Using 'gethostbyname' in statically
> linked
> > applications requires at runtime the shared libraries from the glibc
> version
> > used for linking
> >
> > On running it:
> > ./watcher: /lib/libuuid.so.1: no version information available (required
> by
> > ./watcher)
> > ./watcher: /lib/libc.so.6:e version `GLIBC_2.4' not found (required by
> > ./watcher)
> > ./watcher: /lib/libc.so.6: version `GLIBC_2.7' not found (required by
> > ./watcher)
> > ./watcher: /lib/libc.so.6: version `GLIBC_2.11' not found (required by
> > ./watcher)
> >
> >
> > On Thu, May 24, 2012 at 3:33 PM, Markos Chandras <hwoarang@gentoo.org>
> > wrote:
> >>
> >> On Thu, May 24, 2012 at 2:15 PM, Marko Košmerl <marko06@gmail.com>
> wrote:
> >> > Hi!
> >> >
> >> > I have some program which I am using in a thin client which has
> Gentoo
> >> > stage 3 root fs (kernel 2.6.39.4),
> >> > lets call it system A.
> >> > I've also compiled that program chroot-ed in this stage 3 fs from my
> >> > personal computer.
> >> >
> >> > I have an other thin clients which have older system (B) on it which
> is
> >> > older linux kernel 2.6.16.27.
> >> > Library version which are needed are of course different and for that
> >> > reason
> >> > my program
> >> > can not be run in this sistem.
> >> >
> >> > System A:
> >> > Linux redondo 2.6.39.4 #18 Mon Mar 19 13:14:32 CET 2012 i586 i586 i386
> >> > GNU/Linux
> >> > /lib/libc-2.12.2.so
> >> > gcc version 4.0.3
> >> >
> >> > System B:
> >> > Linux carlos 2.6.16.27 #1 Sun Mar 25 11:09:40 CEST 2007 i586 i586
> i386
> >> > GNU/Linux
> >> > /lib/libc-2.3.6.so
> >> > gcc version 4.0.3
> >> >
> >> > Shared libraries that my binary uses are (in system A):
> >> > linux-gate.so.1 => (0xffffe000)
> >> > libpthread.so.0 => /lib/libpthread.so.0 (0xf76d6000)
> >> > libuuid.so.1 => /lib/libuuid.so.1 (0xf76d1000)
> >> > libstdc++.so.6 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libstdc++.so.6
> >> > (0xf75da000)
> >> > libm.so.6 => /lib/libm.so.6 (0xf75b2000)
> >> > libc.so.6 => /lib/libc.so.6 (0xf7468000)
> >> > /lib/ld-linux.so.2 (0xf76f3000)
> >> > libgcc_s.so.1 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libgcc_s.so.1
> >> > (0xf7449000)
> >> >
> >> > If i try to compile my program using '-static' directive, I still
> have a
> >> > problem with 4 functions:
> >> > -initgroups,
> >> > -getpwnam,
> >> > -getaddrinfo,
> >> > -gethostbyname.
> >> >
> >> > If I got that right, they use functions which are located in NSS
> shared
> >> > libraries.
> >> >
> >> > I am looking for a way of compiling my program so that I can run it in
> >> > system B.
> >> > I have libraries available from system B and that is all that I have.
> >> >
> >> > I need help on getting this done.
> >> > I guess gcc versions are the same and as well libgcc_s.so.1 shared
> >> > library.
> >> >
> >> > My questions are:
> >> > Can I pull those libraries from system B and use it in compilatin
> >> > process?
> >> > Would that work?
> >> > I would still need to get include source files of that version, right?
> >> > Is there some archive site where I can find so old version of linux
> >> > kernel
> >> > source?
> >> > One thing that pops in to my mind is also trying to find gentoo stage
> 3
> >> > tarball of the kernel version 2.6.16.27
> >> > and compile the program there...I tried to search that but no luck in
> >> > that...
> >> >
> >> > Any help would be welcomed!
> >>
> >> You can statically compile your program on system A ( use gcc -static
> >> -o test test.c for example ). Then you should be able to run it in
> >> system B without any problem
> >>
> >
>
> Why don't you want to compile the program in system B if you already
> have the libraries around?
>
>
[-- Attachment #2: Type: text/html, Size: 6369 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] Compile program with older libraries
2012-05-24 13:15 [gentoo-user] Compile program with older libraries Marko Košmerl
2012-05-24 13:33 ` Markos Chandras
@ 2012-05-25 10:55 ` Joshua Murphy
2012-05-28 11:16 ` Marko Košmerl
1 sibling, 1 reply; 8+ messages in thread
From: Joshua Murphy @ 2012-05-25 10:55 UTC (permalink / raw
To: gentoo-user
On Thu, May 24, 2012 at 9:15 AM, Marko Košmerl <marko06@gmail.com> wrote:
> Hi!
>
> I have some program which I am using in a thin client which has Gentoo
> stage 3 root fs (kernel 2.6.39.4),
> lets call it system A.
> I've also compiled that program chroot-ed in this stage 3 fs from my
> personal computer.
>
> I have an other thin clients which have older system (B) on it which is
> older linux kernel 2.6.16.27.
> Library version which are needed are of course different and for that reason
> my program
> can not be run in this sistem.
>
> System A:
> Linux redondo 2.6.39.4 #18 Mon Mar 19 13:14:32 CET 2012 i586 i586 i386
> GNU/Linux
> /lib/libc-2.12.2.so
> gcc version 4.0.3
>
> System B:
> Linux carlos 2.6.16.27 #1 Sun Mar 25 11:09:40 CEST 2007 i586 i586 i386
> GNU/Linux
> /lib/libc-2.3.6.so
> gcc version 4.0.3
>
> Shared libraries that my binary uses are (in system A):
> linux-gate.so.1 => (0xffffe000)
> libpthread.so.0 => /lib/libpthread.so.0 (0xf76d6000)
> libuuid.so.1 => /lib/libuuid.so.1 (0xf76d1000)
> libstdc++.so.6 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libstdc++.so.6
> (0xf75da000)
> libm.so.6 => /lib/libm.so.6 (0xf75b2000)
> libc.so.6 => /lib/libc.so.6 (0xf7468000)
> /lib/ld-linux.so.2 (0xf76f3000)
> libgcc_s.so.1 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libgcc_s.so.1
> (0xf7449000)
>
> If i try to compile my program using '-static' directive, I still have a
> problem with 4 functions:
> -initgroups,
> -getpwnam,
> -getaddrinfo,
> -gethostbyname.
>
> If I got that right, they use functions which are located in NSS shared
> libraries.
>
> I am looking for a way of compiling my program so that I can run it in
> system B.
> I have libraries available from system B and that is all that I have.
>
> I need help on getting this done.
> I guess gcc versions are the same and as well libgcc_s.so.1 shared library.
>
> My questions are:
> Can I pull those libraries from system B and use it in compilatin process?
> Would that work?
> I would still need to get include source files of that version, right?
> Is there some archive site where I can find so old version of linux kernel
> source?
> One thing that pops in to my mind is also trying to find gentoo stage 3
> tarball of the kernel version 2.6.16.27
> and compile the program there...I tried to search that but no luck in
> that...
>
> Any help would be welcomed!
Well, you could use a chroot on system A to build it against an older
copy of the library. I can't find a stage3 with that range of glibc,
though if you can still track down sources to piece together a
toolchain, LFS 6.2 [1] is from right around that time frame (around
'06-'07). If anyone has a 2007.1 range stage3 laying around, though,
all the hard work's already done for setting up a perfect chroot as
long as it plays well with a newer kernel (or if you can do the build
in said chroot on system B), I've had issues with a too-new set of
libraries on older kernels more than once, not sure I've tried the
other direction.
[1] http://www.linuxfromscratch.org/lfs/view/6.2
--
Poison [BLX]
Joshua M. Murphy
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] Compile program with older libraries
2012-05-25 10:55 ` Joshua Murphy
@ 2012-05-28 11:16 ` Marko Košmerl
2012-05-29 6:29 ` Joshua Murphy
0 siblings, 1 reply; 8+ messages in thread
From: Marko Košmerl @ 2012-05-28 11:16 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 3621 bytes --]
I was able to find suitable gentoo stage 3 tarball:
http://88.191.254.16/gentoo/releases/x86/2007.0/stages/
Chrooted, compiled the source and tried to run binary it in old system. And
it worked!
On Fri, May 25, 2012 at 12:55 PM, Joshua Murphy <poisonbl@gmail.com> wrote:
> On Thu, May 24, 2012 at 9:15 AM, Marko Košmerl <marko06@gmail.com> wrote:
> > Hi!
> >
> > I have some program which I am using in a thin client which has Gentoo
> > stage 3 root fs (kernel 2.6.39.4),
> > lets call it system A.
> > I've also compiled that program chroot-ed in this stage 3 fs from my
> > personal computer.
> >
> > I have an other thin clients which have older system (B) on it which is
> > older linux kernel 2.6.16.27.
> > Library version which are needed are of course different and for that
> reason
> > my program
> > can not be run in this sistem.
> >
> > System A:
> > Linux redondo 2.6.39.4 #18 Mon Mar 19 13:14:32 CET 2012 i586 i586 i386
> > GNU/Linux
> > /lib/libc-2.12.2.so
> > gcc version 4.0.3
> >
> > System B:
> > Linux carlos 2.6.16.27 #1 Sun Mar 25 11:09:40 CEST 2007 i586 i586 i386
> > GNU/Linux
> > /lib/libc-2.3.6.so
> > gcc version 4.0.3
> >
> > Shared libraries that my binary uses are (in system A):
> > linux-gate.so.1 => (0xffffe000)
> > libpthread.so.0 => /lib/libpthread.so.0 (0xf76d6000)
> > libuuid.so.1 => /lib/libuuid.so.1 (0xf76d1000)
> > libstdc++.so.6 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libstdc++.so.6
> > (0xf75da000)
> > libm.so.6 => /lib/libm.so.6 (0xf75b2000)
> > libc.so.6 => /lib/libc.so.6 (0xf7468000)
> > /lib/ld-linux.so.2 (0xf76f3000)
> > libgcc_s.so.1 => /usr/lib/gcc/i486-pc-linux-gnu/4.4.5/libgcc_s.so.1
> > (0xf7449000)
> >
> > If i try to compile my program using '-static' directive, I still have a
> > problem with 4 functions:
> > -initgroups,
> > -getpwnam,
> > -getaddrinfo,
> > -gethostbyname.
> >
> > If I got that right, they use functions which are located in NSS shared
> > libraries.
> >
> > I am looking for a way of compiling my program so that I can run it in
> > system B.
> > I have libraries available from system B and that is all that I have.
> >
> > I need help on getting this done.
> > I guess gcc versions are the same and as well libgcc_s.so.1 shared
> library.
> >
> > My questions are:
> > Can I pull those libraries from system B and use it in compilatin
> process?
> > Would that work?
> > I would still need to get include source files of that version, right?
> > Is there some archive site where I can find so old version of linux
> kernel
> > source?
> > One thing that pops in to my mind is also trying to find gentoo stage 3
> > tarball of the kernel version 2.6.16.27
> > and compile the program there...I tried to search that but no luck in
> > that...
> >
> > Any help would be welcomed!
>
> Well, you could use a chroot on system A to build it against an older
> copy of the library. I can't find a stage3 with that range of glibc,
> though if you can still track down sources to piece together a
> toolchain, LFS 6.2 [1] is from right around that time frame (around
> '06-'07). If anyone has a 2007.1 range stage3 laying around, though,
> all the hard work's already done for setting up a perfect chroot as
> long as it plays well with a newer kernel (or if you can do the build
> in said chroot on system B), I've had issues with a too-new set of
> libraries on older kernels more than once, not sure I've tried the
> other direction.
>
> [1] http://www.linuxfromscratch.org/lfs/view/6.2
>
> --
> Poison [BLX]
> Joshua M. Murphy
>
>
[-- Attachment #2: Type: text/html, Size: 4691 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] Compile program with older libraries
2012-05-28 11:16 ` Marko Košmerl
@ 2012-05-29 6:29 ` Joshua Murphy
0 siblings, 0 replies; 8+ messages in thread
From: Joshua Murphy @ 2012-05-29 6:29 UTC (permalink / raw
To: gentoo-user
On Mon, May 28, 2012 at 7:16 AM, Marko Košmerl <marko06@gmail.com> wrote:
> I was able to find suitable gentoo stage 3 tarball:
> http://88.191.254.16/gentoo/releases/x86/2007.0/stages/
>
> Chrooted, compiled the source and tried to run binary it in old system. And
> it worked!
>
>
Glad you got it working! I was worried you might have to go the long
way around...
--
Poison [BLX]
Joshua M. Murphy
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-05-29 6:31 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-24 13:15 [gentoo-user] Compile program with older libraries Marko Košmerl
2012-05-24 13:33 ` Markos Chandras
2012-05-24 13:58 ` Marko Košmerl
2012-05-24 14:10 ` Markos Chandras
2012-05-24 14:50 ` Marko Košmerl
2012-05-25 10:55 ` Joshua Murphy
2012-05-28 11:16 ` Marko Košmerl
2012-05-29 6:29 ` Joshua Murphy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox