#59 bindings/tcl/tclAPI.c:94: error: 'plcol0Cmd' undeclared here

closed-works-for-me
Andrew Ross
None
5
2009-11-17
2009-01-22
David Ronis
No

The subject line says it all. I'm on a linux/slackware-12.1 box, using gcc-4.3.2 and trying to build plplot-5.9.2. I made a build_dir in the top plplot directory, ran cmake (version 2.4-patch 7), and then make.

I also grepped the entire tree looking for plcol0Cmd--I get one hit:

bindings/tcl/tclAPI.c: {"plcol", plcol0Cmd}

Of course, commenting out this line allows the build to continue, but...

Discussion

  • Alan W. Irwin
    Alan W. Irwin
    2009-01-22

    I cannot confirm the error you have found. Could you try cmake-2.6.2 following the directions at http://cmake.org/cmake/resources/software.html? That's the version I use, and we are about to bump the minimum version of CMake that we support to version 2.6.0 in the next few days in any case. Since few of our developers use CMake-2.4.x any more, its possible that our build system has become incompatible with it.

     
  • David Ronis
    David Ronis
    2009-01-22

    OK,

    I've upgraded to cmake-2.6.2, purged my build directory and restarted. I get identical behavior. Could my tcl version be too old? Also, commenting out the offending line allows me to go much further, however, I die later as:

    [ 17%] Generating plplot/core/config.class
    /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../crt1.o: In function `_start':
    (.text+0x18): undefined reference to `main'
    collect2: ld returned 1 exit status
    make[2]: *** [bindings/java/plplot/core/config.class] Error 1
    make[1]: *** [bindings/java/CMakeFiles/plplot_core.dir/all] Error 2

     
  • Andrew Ross
    Andrew Ross
    2009-01-26

    David,

    plcol0Cmd will not appear in the source tree. Much of the tcl interface is automatically generated at build-time by the pltclgen.tcl script. If you look in bindings/tcl/ in the build tree you should see tclgen.c, tclgen.h and tclgen_s.h. Does plcol0Cmd appear in these files? It should appear in all three. Is it _only_ this one line that you have to comment out to get things to work?

    This code has been around for quite some time so it is odd that you are having trouble. Can you also let me have the output of the cmake command and the contents of CMakeCache.txt? What version of tcl are you using? I can't imagine that it would be a problem, but best to rule it out.

    As to your next problem. This is in the java bindings. Which version of java are you using? From the error I am guessing that your javac command is actually linked to gcj? gcj is not a drop in replacement for javac as by default it will try to compile a object code, rather than byte code. It does come with a javac script which will do the job. Again, your cmake output should help to identify this. Can you explicitly check what javac is on your system, and if it is a symlink, what it points to?

    Thanks

    Andrew

     
  • Alan W. Irwin
    Alan W. Irwin
    2009-11-16

    Since this user has not responded (yet) with the requested information we need to reproduce these two reported bugs, I have changed the status to Pending. Later (say a year after the bug was first opened) we should close this bug report if the user fails to respond.

     
  • Alan W. Irwin
    Alan W. Irwin
    2009-11-16

    • assigned_to: nobody --> andrewross
    • status: open --> pending-works-for-me
     
  • Andrew Ross
    Andrew Ross
    2009-11-17

    • status: pending-works-for-me --> closed-works-for-me
     
  • Andrew Ross
    Andrew Ross
    2009-11-17

    We have been unable to reproduce this bug, we have had no further reports, and the user originally reporting it has not responded with the requested further information to help debug the problem (10 months have elapsed). For this reason I am closing the bug.