1

I have a app compiled locally with ldd version (Ubuntu EGLIBC 2.15-0ubuntu10.4) 2.15 that I need to run in a server with ldd version 2.12. Because it is built in QT framework and I do not have root access to install the framework or upgrade libc.so.6, I need to install an older glibc on my machine to compile as in this post. After downloading glibc-2.11.2.tar.gz from here an try to install it with command ./configure --prefix=/usr/oldlibc it displays the following error :

/bogdan/Downloads/safe/csu/crti.o
/tmp/ccHNBWLa.s: Assembler messages:
/tmp/ccHNBWLa.s: Error: open CFI at the end of file; missing .cfi_endproc directive
/tmp/ccHNBWLa.s: Error: open CFI at the end of file; missing .cfi_endproc directive
make[2]: *** [/home/bogdan/Downloads/safe/csu/crti.o] Error 1
make[2]: Leaving directory `/home/bogdan/Downloads/glibc-2.11/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/home/bogdan/Downloads/glibc-2.11'
make: *** [all] Error 2

What can I do to properly install libc.so.6 ?

Community
  • 1
  • 1
courage
  • 21
  • 2
  • 1
    Build your app statically? Do not downgrade glibc like that on a running system. You could install ubuntu10.04 on a vm and build there. – Elliott Frisch Dec 02 '14 at 06:35
  • @ElliottFrisch, I have tried that but this time I have problems intalling opencv2. I don't found any repository to have opencv2 – courage Dec 02 '14 at 07:04
  • Not mentioned in your question, but you can get the source and build it. Downgrading glibc would break whatever opencv2 you have. – Elliott Frisch Dec 02 '14 at 07:09
  • Why, precisely, do you think you need to downgrade glibc? This should never be necessary. –  Dec 07 '14 at 03:19
  • @duskwuff, because I have a compatibility issue between what gnu c library I have on my computer and what I have on server. For the moment when I try to execute the program on server it gives me an error. I do not have access right now to server, but the error is `glibc version 15 is needed to run something` – courage Dec 09 '14 at 06:18

1 Answers1

0

I have a app compiled locally with ldd version

You are wrong in stating ldd version. The ldd is part of glibc, and it's the glibc version that is causing you grief. The ldd itself has nothing to do with anything here.

/tmp/ccHNBWLa.s: Error: open CFI at the end of file; missing .cfi_endproc directive

This is happening because the old glibc-2.11 can not be built with a new gcc that you have on your system.

You can hack on glibc source and fix that problem, you can build and install older gcc and use it to build glibc-2.11, or you can set up a chroot environment with the old glibc installed in the default place.

The chroot solution is likely the easiest, because you can simply install prebuilt (older) packages into it.

Another "easy" alternative is to build everything in a VM.

Employed Russian
  • 199,314
  • 34
  • 295
  • 362