Re: Static compilation: segmentation fault in execution [host=x86_64, target: ia64]

José Luis García Pallero <[email protected]>
Newsgroups gmane.linux.debian.devel.embedded
Message-ID <CAFemY3YGMGyBAiqZaOma01d+0kJ4Ci3t7n9QY3v41xXXGb1HQA@mail.gmail.com>
2012/9/14 Jonathan Nieder <[email protected]>:
> José Luis García Pallero wrote:
>> 2012/9/14 Jonathan Nieder <[email protected]>:
>
>>> Can't you install the libraries you use in binary form in some
>>> directory that is in LD_LIBRARY_PATH when you run the "hello" program?
> [...]
>> Unfortunately, it is not possible any of the 3 options. Users have not
>> very much space, so it is impossible to build some software from
>> source (a recent gcc compiler, for example). On the other hand, the
>> old compiler installed (gcc 3.2.3) is not valid to compile some modern
>> libraries. Install debian in a chroot environment is impossible too.
>
> My sympathies.  Is the sysadmin not amenable to providing more room
> for shared libraries that could be shared between multiple users?
>
> But in any event, I don't see why this would preclude the first option
> quoted above.  I wasn't suggesting building from source on the target
> device.  Including copies of shared libraries does take a little more
> space than static linking because it means the implementations of
> functions you *don't* use are there, too, but in practice it is not
> generally that much, and even that problem can be mitigated by the
> determined by stripping out unused functions (as is done on the Debian
> installer CDs).

Hello:

I'm trying to install gcc 4.7.1 from Debian for ia64 arch. I have
downloaded all packages and dependencies plus eglibc 2.13 because gcc
4.7.1 requires a version >= 2.11 and the RedHat 3.0 installed in the
machine provides an older one. When I extract the files from *.deb
packages I obtain a classical directory tree:

etc/
lib/
sbin/
usr/
var/

and inside usr/:

bin/
include/
lib/
sbin/
share/

So now I need to add the correct data to paths environments. For PATH
I have no doubts, the path is usr/bin. But I have doubts about
LD_LIBRARY_PATH. Should I add lib/, in which is stores libc.so,
libm.so, etc? I think yes, but I don't know if this new libc can
produce conflicts with the libc of the system. In lib/ exists another
directory called ia64-linux-gnu/ Should this folder be explicitly
added to LD_LIBRARY_PATH? I've tried to manually set for the current
session the LD_LIBRARY_PATH to lib/ folder and when I try to execute
gcc 4.7.1 I obtain the error:

../usr/bin/gcc-4.7: relocation error:
workdir/software/gcc-4.7.1/lib/libc.so.6.1: symbol _rtld_global_ro,
version GLIBC_PRIVATE not defined in file ld-linux-ia64.so.2 with link
time reference

I don't know exactly the message, but ld-linux-ia64.so.2 is in lib/
and lib/ia64-linux-gnu/
I obtain this error if I try to use any other system utility, as ls
command, for example, so I think conflicts between the new libc and
the system one

In the usr/lib/ folder exists too some libraries and directories.
Shoud I add only usr/lib/ to the LD_LIBRARY_PATH or the subfolders
too?

And what about usr/include/ folder? Should I add it to some
environment variable?

Thanks

-- 
*****************************************
José Luis García Pallero
[email protected]
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.