Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#618768: llvm-gcc-4.5: Incompatible plugin version (dragonegg.so)

24 views
Skip to first unread message

Urs Janssen

unread,
May 4, 2011, 1:50:01 PM5/4/11
to
Package: llvm-gcc-4.5
Version: 2.8-1
Followup-For: Bug #618768


The reported problem still exists:

chao% echo 'int main(void){return 0;}' > foo.c
chao% llvm-gcc -o foo foo.c
Incompatible plugin version
cc1: error: Fail to initialize plugin /usr/lib/gcc/i486-linux-gnu/4.5/plugin/dragonegg.so

-- System Information:
Debian Release: wheezy/sid
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.38-2-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash

Versions of packages llvm-gcc-4.5 depends on:
ii dragonegg 2.8-1 GCC plugin that uses LLVM for opti
ii g++-4.5 4.5.3-1 The GNU C++ compiler
ii gcc-4.5 4.5.3-1 The GNU C compiler

llvm-gcc-4.5 recommends no packages.

llvm-gcc-4.5 suggests no packages.

-- no debconf information

--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Sylvestre Ledru

unread,
May 7, 2011, 3:10:01 PM5/7/11
to
Le mercredi 04 mai 2011 à 19:28 +0200, Urs Janssen a écrit :
> The reported problem still exists:
Indeed.
Here is the actual code executed:
$ echo 'int main(void){return 0;}' > foo.c
$ /usr/lib/gcc/x86_64-linux-gnu/4.5.2/cc1
-iplugindir=/usr/lib/gcc/x86_64-linux-gnu/4.5.2/plugin foo.c
-fplugin=/usr/lib/gcc/x86_64-linux-gnu/4.5/plugin/dragonegg.so

S

Sylvestre Ledru

unread,
May 7, 2011, 3:20:01 PM5/7/11
to
Le vendredi 06 mai 2011 à 23:46 +0200, Sylvestre Ledru a écrit :
> Le mercredi 04 mai 2011 à 19:28 +0200, Urs Janssen a écrit :
> > The reported problem still exists:
> Indeed.
Digging more.
The error is in dragonegg-2.8/llvm-backend.cpp

The version checks is done against the exact version of gcc:
----
// Check that the running gcc has exactly the same version as the gcc
we were
// built against. This strict check seems wise when developing
against a fast
// moving gcc tree. TODO: Use a milder check if doing a "release
build".
return plugin_default_version_check (gcc_version, plugin_version);

----

To run, dragonegg except the exact same version it has been built
with... (what a pain).

A workaround is to do:
dragonegg_disable_version_check=1 llvm-gcc -o foo foo.c
which is working with your example.

S

0 new messages