On Tue, 2012-11-06 at 21:12 +0100, Klaus Rudolph wrote:
Alek Paunov wrote:
> On 05.11.2012 10:36, Klaus Rudolph wrote:
>
> Check Build-time dependencies section in the docs or spec file:
>
>
http://pkgs.fedoraproject.org/cgit/gcc-python-plugin.git/tree/gcc-python-...
>
I am wondering about:
# "six" is used at buildtime:
BuildRequires: python-six
BuildRequires: python3-six
because I could not get python-six for the ubuntu version. The info I
got was that six is outdated...
I wouldn't agree with that, IMHO it's a
very useful module (and
relatively new, a little over two years old).
FWIW, it does seem to be packaged for Ubuntu, see:
https://launchpad.net/ubuntu/+source/six
I could build with make without the python-six package.
FWIW the test suite uses "six", but I don't think the build does.
>> Hard to find an entry point :-)
>
> insn_file is not an entry point - the plugin entry point is
> plugin_init in plugin.c
>
:-) I search an entry point for *me* to parse c++ files, not an entry
point of the compiler :-)
This is probably yet another symptom of an issue
we're seeing with
recent builds of gcc 4.7 that have been built with C++, rather than with
C - the symbols that the plugin needs may have been name-mangled if gcc
was built with C++. I've recently committed various fixes for this.
If you look at:
eu-readelf -s $(which gcc) | less
is it full of things with "_Z"? (e.g. "_Z10warning_atjiPKcz") If so,
then your GCC was built with a C++ compiler, and running:
make clean && make CC=g++
may help; I'm working on a fix to autodetect this.
> If you are certain about your non packaged GCC on Ubuntu as
> development environment, I will have to install an Ubuntu VM here,
> but please provide me with instructions how to build this /opt GCC.
Yes, I am certain on my systems :-) I am not interested in installing a
complete new distro only for checking one library. And I believe that
missing only one symbol should not be a such big deal.
FWIW, if it's the C++ vs C issue, then the dynamic linker won't be able
to find any of the symbols that the plugin needs; it's merely reporting
the first that it couldn't find.
But I think it is
to much work that you have to install a new distro only for fixing my
problems! It is not so important for me to get the things run and I
could check out another distro on my colleagues desktops in the next week.
My gcc was build with:
../configure --prefix=/opt/linux-gnu_4.7.2
--with-mpfr=/opt/linux-gnu_4.7.2 --with-mpc=/opt/linux-gnu_4.7.2
--with-ppl=/opt/linux-gnu_4.7.2 --with-gmp=/opt/linux-gnu_4.7.2
--enable-languages=c,c++
Out of interest, what's the output of:
grep ENABLE_BUILD_WITH_CXX $(PATH_TO_YOUR_GCC
--print-file-name=plugin)/include/auto-host.h
(this is what I'm looking at for the autodetection logic, based on
http://gcc.gnu.org/ml/gcc/2012-03/msg00411.html, although
ENABLE_BUILD_WITH_CXX seems to only be present on 4.6 and 4.7, and
appears to have gone away entirely in 4.8, which uses C++-only features
internally).
Thanks; hope the above is helpful.
Dave