[devel] [SOLVED] verify-elf lint=normal (elflint)

Alexey Tourbin at на altlinux.ru
Пн Дек 21 18:06:48 UTC 2009


On Mon, Dec 21, 2009 at 01:25:45PM +0700, REAL wrote:
> Alexey Tourbin пишет:
> >>http://git.altlinux.org/tasks/17565/task/log.5
> >
> >Please understand that
> >1) 4.0.4-alt98.25+ is about sisyphus, and you are trying to build
> >for branch 5.1.
> >2) elflint will not help you to build the package.
> >It is only to diagnose malformed binaries.
> 
> But what shall I do to build CGAL for branch 5.1?

This whole issue is due to buggy CMake.

When installing binaries into buildroot, CMake removes RPATH from the
binaries.  The RPATH removal appears to be a low-level stuff hardcoded
in C+plus.  Sometimes it works.


+2009-06-10 14:11  king
+
+       * Source/cmComputeLinkInformation.cxx: BUG: Do not mangle symbols
+         when editing RPATHs
+
+         In ELF binaries the .dynstr string table is used both for the
+         RPATH string and for program symbols.  If a symbol name happens
+         to match the end of the build-tree RPATH string the linker is
+         allowed to merge the symbols.
+
+         We must not allow this when the RPATH string will be replaced
+         during installation because it will mangle the symbol.  Therefore
+         we always pad the end of the build-tree RPATH with ':' if it will
+         be replaced.  Tools tend not to use ':' at the end of symbol
+         names, so it is unlikely to conflict.  See issue #9130.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20091221/3f691f4c/attachment.bin>


Подробная информация о списке рассылки Devel