[Rivet] Rivet bootstrap issues

Holger Schulz holger.schulz at physik.hu-berlin.de
Wed Dec 16 21:47:20 GMT 2009


Hi,

Andzrej is having some trouble trying to install Rivet
(svn HEAD) on different platforms using the
bootstrap-script:

    a) First farm, information about farm :
     >  uname -a
    Linux ccali28 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 23:02:51 EST 2009
    x86_64 x86_64 x86_64 GNU/Linux
     > gcc -v
    gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)
     > python -V
    Python 2.6.4

    The error msg:
    cc1plus: warning: command line option "-Wstrict-prototypes" is valid
    for Ada/C/ObjC but not for C++
    ./rivet_wrap.cc: In function 'int
    SWIG_Python_ConvertFunctionPtr(PyObject*, void**, swig_type_info*)':
    ./rivet_wrap.cc:2051: error: invalid conversion from 'const char*'
    to 'char*'
    ./rivet_wrap.cc: In function 'int SWIG_AsCharPtrAndSize(PyObject*,
    char**, size_t*, int*)':
    ./rivet_wrap.cc:3850: error: cannot convert 'int*' to 'Py_ssize_t*'
    for argument '3' to 'int PyString_AsStringAndSize(PyObject*, char**,
    Py_ssize_t*)'
    ./rivet_wrap.cc: In function 'void
    SWIG_Python_FixMethods(PyMethodDef*, swig_const_info*,
    swig_type_info**, swig_type_info**)':
    ./rivet_wrap.cc:12797: error: invalid conversion from 'const char*'
    to 'char*'
    /sps/atlas/s/siodmok/Programs/Install/Rivet/build/rivet/include/Rivet/Math/MathHeader.hh:
    At global scope:
    /sps/atlas/s/siodmok/Programs/Install/Rivet/build/rivet/include/Rivet/Math/MathHeader.hh:28:
    warning: 'Rivet::MAXINT' defined but not used
    error: command 'gcc' failed with exit status 1
    make: *** [all-local] Error 1

    When I made the following changes in the rivet_wrap.cc:
     > diff rivet_wrap.cc rivet_wrap.ccMy
    2051c2051
    <     char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
    ---
     >     char *doc = (char*)(((PyCFunctionObject *)obj) -> m_ml ->
    ml_doc);
    3850c3850
    <     PyString_AsStringAndSize(obj, &cstr, &len);
    ---
     >     PyString_AsStringAndSize(obj, &cstr, (Py_ssize_t*)&len);
    12797c12797
    <       char *c = methods[i].ml_doc;
    ---
     >       char *c =(char*)methods[i].ml_doc;

    Installation went smooth and Rivet seems to work properly but I
    don't like to change the orginal code,
    therefore maybe you know how to compile it in a better way? If you
    need additional information
    about the farm do not hesitate to ask me.

    b) Second farm, information about farm :
     >  uname -a
    Linux itpssh2 2.6.31.5-0.1-default #1 SMP 2009-10-26 15:49:03 +0100
    i686 i686 i386 GNU/Linux
     > gcc -v
    gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux)
     > python -V
    Python 2.6.2

    In this case I couldn't run the rivet-bootstrap script, the error
    message was the following:
     > ./rivet-bootstrap --help
    Traceback (most recent call last):
      File "./rivet-bootstrap", line 145, in <module>
        parser.add_option("--lcgtag", default=compute_lcg_tag(),
    dest="LCGTAG",
      File "./rivet-bootstrap", line 81, in compute_lcg_tag
        gcc_minor = gcc_version[1]
    IndexError: list index out of range

Any ideas?

Holger




More information about the Rivet mailing list