Menu

another OSX install problem

Help
2007-07-03
2013-04-25
  • Nobody/Anonymous

    I'm on a new Intel based Mac with Fink installed. Fink appears (?) to have all the dependencies available. At least it ./configure was successful. However, I'm concerned about freetype.

    i   fltk-x11                          1.1.6-11.1                GUI toolkit
    i   fltk-x11-shlibs               1.1.6-11.1                Runtime code for fltk-x11

    i   freetype219                       2.2.1-4                   TrueType font rendering library, headers
    i   freetype219-shlibs            2.2.1-4                   TrueType font rendering library, shared libs

    (i)  octave                            2.9.12-3                     Matlab-like language for computations
    i   octave-forge                  2006.03.17-1004       Extensions to octave

    When I run make ...

    patch.cpp: In member function 'virtual void Patch::draw()':
    patch.cpp:149: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
    patch.cpp:149: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
    patch.cpp:151: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
    patch.cpp:151: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
    patch.cpp:153: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
    patch.cpp:153: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
    patch.cpp:155: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
    patch.cpp:155: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
    patch.cpp:157: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
    patch.cpp:157: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
    patch.cpp:159: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
    patch.cpp:159: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
    make[2]: *** [octplot-patch.o] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all] Error 2

    Any ideas?

     
    • Shai Ayal

      Shai Ayal - 2007-07-03

      Hi

      The problem lies in the the file src/glutesscb.h

      If you look at it, it has 3 possibilities for the definition of the typedef acording to OS.

      It seems you should be geting the first definition (i.e. you do not have __APPLE_CC__ defined). Try the other definitions to see which one works -- just copy the appropriate line to the bottom of the file w/o the ifdef (i.e. copy line 23 to the end of the file).

      1) Please report what worked for you
      2) Also, since the current file seemd to wok up to now (I'm not sure since we don't have that many apple users), can you try to find a differentiating "define" -- some other define which you have on your system and which I can put in the ifdef

      Thanks
      Shai

       
      • Ben Abbott

        Ben Abbott - 2007-07-03

        ok, after some experimenting it appears that __APPLE_CC__ is defined, at least there was no change when removed the if block and replaced it with ...

        using: typedef GLvoid (*GLUTesselatorFunction)(...);

        In file included from patch.cpp:27:
        glutesscb.h:29:6: error: #error "Error - need to define type GLUTesselatorFunction for this platform/compiler"
        patch.cpp: In member function 'virtual void Patch::draw()':
        patch.cpp:149: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
        patch.cpp:149: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
        patch.cpp:151: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
        patch.cpp:151: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
        patch.cpp:153: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
        patch.cpp:153: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
        patch.cpp:155: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
        patch.cpp:155: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
        patch.cpp:157: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
        patch.cpp:157: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
        patch.cpp:159: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
        patch.cpp:159: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
        make[2]: *** [octplot-patch.o] Error 1
        make[1]: *** [all-recursive] Error 1
        make: *** [all] Error 2

        Switching to the various unix flavors produced the following

        using: typedef GLvoid (*GLUTesselatorFunction)();

        FTGL/FTVectoriser.cpp: In member function 'void FTVectoriser::MakeMesh(FTGL_DOUBLE)':
        FTGL/FTVectoriser.cpp:177: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
        FTGL/FTVectoriser.cpp:177: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
        FTGL/FTVectoriser.cpp:178: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
        FTGL/FTVectoriser.cpp:178: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
        FTGL/FTVectoriser.cpp:179: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
        FTGL/FTVectoriser.cpp:179: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
        FTGL/FTVectoriser.cpp:180: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
        FTGL/FTVectoriser.cpp:180: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
        FTGL/FTVectoriser.cpp:181: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
        FTGL/FTVectoriser.cpp:181: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
        make[2]: *** [octplot-FTVectoriser.o] Error 1
        make[1]: *** [all-recursive] Error 1
        make: *** [all] Error 2

        WIth regards to a differentiating "define", I'll discuss that with a friend who is more expert than I.

        Thanks for the quick response.

         
        • Shai Ayal

          Shai Ayal - 2007-07-03

          Thank you for helping to debug. I have several questions:

          1) did you also try the third definition:

          typedef GLvoid (CALLBACK *GLUTesselatorFunction)( );

          2) Do I understand correctly from your post when using
          typedef GLvoid (*GLUTesselatorFunction)();
          src/patch.cpp compiled fine but src/FTGL/FTVectoriser.cpp did not? to confirm this, please do
          ls -ltr src/patch.*
          and confirm that patch.o is older than patch.cpp

          Shai

           
          • Ben Abbott

            Ben Abbott - 2007-07-04

            Sorry for my late reply. I tried posting yesterday, but it apparently didn't stick :-(

            The WIN32 option gives

            >>    typedef GLvoid (CALLBACK *GLUTesselatorFunction)( );

            ./configure
            [...]
            make
            [...]
            glutesscb.h:22: error: expected `)' before '*' token
            patch.cpp: In member function 'virtual void Patch::draw()':
            patch.cpp:149: error: 'GLUTesselatorFunction' was not declared in this scope
            patch.cpp:151: error: expected `)' before 'beginCallback'
            patch.cpp:153: error: expected `)' before 'endCallback'
            patch.cpp:155: error: expected `)' before 'errorCallback'
            patch.cpp:157: error: expected `)' before 'combineCallback'
            patch.cpp:159: error: expected `)' before 'edgeCallback'
            make[2]: *** [octplot-patch.o] Error 1
            make[1]: *** [all-recursive] Error 1
            make: *** [all] Error 2

            using

            >>     typedef GLvoid (*GLUTesselatorFunction)();

            ./configure
            [...]
            make
            [...]
            FTGL/FTVectoriser.cpp: In member function 'void FTVectoriser::MakeMesh(FTGL_DOUBLE)':
            FTGL/FTVectoriser.cpp:177: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
            FTGL/FTVectoriser.cpp:177: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
            FTGL/FTVectoriser.cpp:178: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
            FTGL/FTVectoriser.cpp:178: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
            FTGL/FTVectoriser.cpp:179: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
            FTGL/FTVectoriser.cpp:179: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
            FTGL/FTVectoriser.cpp:180: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
            FTGL/FTVectoriser.cpp:180: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
            FTGL/FTVectoriser.cpp:181: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
            FTGL/FTVectoriser.cpp:181: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
            make[2]: *** [octplot-FTVectoriser.o] Error 1
            make[1]: *** [all-recursive] Error 1
            make: *** [all] Error 2

            If it will help, I'm happy to post the entire result from ./configure, from make, or from both.

             
        • Ben Abbott

          Ben Abbott - 2007-07-03

          using    typedef GLvoid (CALLBACK *GLUTesselatorFunction)( );

          glutesscb.h:22: error: expected `)' before '*' token
          patch.cpp: In member function 'virtual void Patch::draw()':
          patch.cpp:149: error: 'GLUTesselatorFunction' was not declared in this scope
          patch.cpp:151: error: expected `)' before 'beginCallback'
          patch.cpp:153: error: expected `)' before 'endCallback'
          patch.cpp:155: error: expected `)' before 'errorCallback'
          patch.cpp:157: error: expected `)' before 'combineCallback'
          patch.cpp:159: error: expected `)' before 'edgeCallback'
          make[2]: *** [octplot-patch.o] Error 1
          make[1]: *** [all-recursive] Error 1
          make: *** [all] Error 2

           
    • Nobody/Anonymous

      Forgive my newbie question ... but where should I specify the OS definition?

       
    • Ben Abbott

      Ben Abbott - 2007-07-03

      I did not try the WIN32, I will give it a try and report back a bit later.

      BTW, I've changed my freetype install. I no longer have any .configure problems. Although I do get some "no"s on ieeefp.h

      checking ieeefp.h usability... no
      checking ieeefp.h presence... no
      checking for ieeefp.h... no

      following a fresh ./configure and make with the linux option selected

      [...]
      FTGL/FTVectoriser.cpp: In member function 'void FTVectoriser::MakeMesh(FTGL_DOUBLE)':
      FTGL/FTVectoriser.cpp:177: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
      FTGL/FTVectoriser.cpp:177: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
      FTGL/FTVectoriser.cpp:178: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
      FTGL/FTVectoriser.cpp:178: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
      FTGL/FTVectoriser.cpp:179: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
      FTGL/FTVectoriser.cpp:179: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
      FTGL/FTVectoriser.cpp:180: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
      FTGL/FTVectoriser.cpp:180: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
      FTGL/FTVectoriser.cpp:181: error: invalid conversion from 'GLvoid (*)()' to 'GLvoid (*)(...)'
      FTGL/FTVectoriser.cpp:181: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
      make[2]: *** [octplot-FTVectoriser.o] Error 1
      make[1]: *** [all-recursive] Error 1
      make: *** [all] Error 2

      ls -ltr src/*patch.*

      -rw-r--r--   1 bpabbott  bpabbott    1092 Apr 12 13:50 src/patch.h
      -rw-r--r--   1 bpabbott  bpabbott    6458 Apr 24 23:18 src/patch.cpp
      -rw-r--r--   1 bpabbott  bpabbott    2610 Apr 27 13:10 src/patch.m
      -rw-r--r--   1 bpabbott  bpabbott  268492 Jul  3 15:35 src/octplot-patch.o

      I've got a full afternoon. I'll be back later and will post the result from the WIN32 attempt.

       
    • Nobody/Anonymous

      I have the same problems as above...

      The first time I tried to make OctPlot 0.4.0 this was the result:

      patch.cpp:20:20: error: GL/glu.h: No such file or directory
      patch.cpp: In function 'void errorCallback(GLenum)':
      patch.cpp:50: error: 'gluErrorString' was not declared in this scope
      patch.cpp: In member function 'virtual void Patch::draw()':
      patch.cpp:145: error: 'GLUtesselator' was not declared in this scope
      patch.cpp:145: error: 'tobj' was not declared in this scope
      patch.cpp:146: error: 'gluNewTess' was not declared in this scope
      patch.cpp:148: error: 'GLU_TESS_VERTEX' was not declared in this scope
      patch.cpp:149: error: 'gluTessCallback' was not declared in this scope
      patch.cpp:150: error: 'GLU_TESS_BEGIN' was not declared in this scope
      patch.cpp:152: error: 'GLU_TESS_END' was not declared in this scope
      patch.cpp:154: error: 'GLU_TESS_ERROR' was not declared in this scope
      patch.cpp:156: error: 'GLU_TESS_COMBINE' was not declared in this scope
      patch.cpp:158: error: 'GLU_TESS_EDGE_FLAG' was not declared in this scope
      patch.cpp:160: error: 'GLU_TESS_WINDING_RULE' was not declared in this scope
      patch.cpp:161: error: 'GLU_TESS_WINDING_ODD' was not declared in this scope
      patch.cpp:161: error: 'gluTessProperty' was not declared in this scope
      patch.cpp:162: error: 'GLU_TESS_TOLERANCE' was not declared in this scope
      patch.cpp:186: error: 'gluTessBeginPolygon' was not declared in this scope
      patch.cpp:187: error: 'gluTessBeginContour' was not declared in this scope
      patch.cpp:198: error: 'gluTessVertex' was not declared in this scope
      patch.cpp:200: error: 'gluTessEndContour' was not declared in this scope
      patch.cpp:201: error: 'gluTessEndPolygon' was not declared in this scope
      patch.cpp:206: error: 'gluDeleteTess' was not declared in this scope
      make[2]: *** [octplot-patch.o] Error 1
      make[1]: *** [all-recursive] Error 1
      make: *** [all] Error 2

      GL dir was missing...

      Then I looked for glu.h on my mac and made a copy of the GL directory to where all the other libraries are... this was the result when I tried to compile:

      patch.cpp: In member function 'virtual void Patch::draw()':
      patch.cpp:149: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
      patch.cpp:149: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
      patch.cpp:151: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
      patch.cpp:151: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
      patch.cpp:153: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
      patch.cpp:153: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
      patch.cpp:155: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
      patch.cpp:155: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
      patch.cpp:157: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
      patch.cpp:157: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
      patch.cpp:159: error: invalid conversion from 'GLvoid (*)(...)' to 'GLvoid (*)()'
      patch.cpp:159: error:   initializing argument 3 of 'void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)())'
      make[2]: *** [octplot-patch.o] Error 1
      make[1]: *** [all-recursive] Error 1
      make: *** [all] Error 2

       
    • Nobody/Anonymous

      ok... problem solved...
      at least this one...
      I changed line 20 of patch.cpp

      Original one:
      #include <GL/glu.h>

      New one:
      #include <OpenGL/glu.h>

       
      • Ben Abbott

        Ben Abbott - 2007-07-05

        Excellent!

        I'm now able to complete the "make" process. All I needed to do was modify patch.cpp

        < #include <GL/glu.h>
        > #include <OpenGL/glu.h>

        No need to move files around.

        I'm running OS X 10.4.10 on Intel and am using Fink (unstable branch) to satisfy all the dependencies.

        However, "sudo make install" failed :-(

        Making install in fonts
        make[2]: Nothing to be done for `install-exec-am'.
        test -z "/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts" || /Users/bpabbott/Desktop/octplot-0.4.0/install-sh -d "/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts"
        /bin/sh: line 1: /Users/bpabbott/Desktop/octplot-0.4.0/install-sh: Permission denied
        make[2]: *** [install-dist_fontDATA] Error 126
        make[1]: *** [install-am] Error 2
        make: *** [install-recursive] Error 1

        For me "install-sh" is an empty file with permissions 644

        ls -l install-sh
        -rw-r--r--   1 bpabbott  bpabbott  0 Apr 12 13:50 install-sh

        Being empty looks ominous to me, but I'm not familiar with the details, so I made lame/desperate attempt to go further by modifying permissions

        chmod 755 install-sh

        sudo make install

        Making install in fonts
        make[2]: Nothing to be done for `install-exec-am'.
        test -z "/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts" || /Users/bpabbott/Desktop/octplot-0.4.0/install-sh -d "/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts"
        /usr/bin/install -c -m 644 'ChangeLog' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/ChangeLog'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/ChangeLog: No such file or directory
        /usr/bin/install -c -m 644 'README.tweaks' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/README.tweaks'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/README.tweaks: No such file or directory
        /usr/bin/install -c -m 644 'copying' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/copying'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/copying: No such file or directory
        /usr/bin/install -c -m 644 'fonts.dir' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/fonts.dir'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/fonts.dir: No such file or directory
        /usr/bin/install -c -m 644 'n019003l.afm' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n019003l.afm'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n019003l.afm: No such file or directory
        /usr/bin/install -c -m 644 'n019003l.pfb' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n019003l.pfb'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n019003l.pfb: No such file or directory
        /usr/bin/install -c -m 644 'n021003l.afm' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n021003l.afm'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n021003l.afm: No such file or directory
        /usr/bin/install -c -m 644 'n021003l.pfb' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n021003l.pfb'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n021003l.pfb: No such file or directory
        /usr/bin/install -c -m 644 'n021023l.afm' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n021023l.afm'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n021023l.afm: No such file or directory
        /usr/bin/install -c -m 644 'n021023l.pfb' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n021023l.pfb'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n021023l.pfb: No such file or directory
        /usr/bin/install -c -m 644 'n022003l.afm' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n022003l.afm'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n022003l.afm: No such file or directory
        /usr/bin/install -c -m 644 'n022003l.pfb' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n022003l.pfb'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/n022003l.pfb: No such file or directory
        /usr/bin/install -c -m 644 'readme' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/readme'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/readme: No such file or directory
        /usr/bin/install -c -m 644 's050000l.afm' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/s050000l.afm'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/s050000l.afm: No such file or directory
        /usr/bin/install -c -m 644 's050000l.pfb' '/sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/s050000l.pfb'
        install: /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/s050000l.pfb: No such file or directory
        make[2]: *** [install-dist_fontDATA] Error 71
        make[1]: *** [install-am] Error 2
        make: *** [install-recursive] Error 1

        btw, for those not familiar Fink installs itself and all its packages in root directory "/sw/...". This directory requires root privilege to modify.

        On my system "/sw/lib/octave/2.1.73/site" contains two directories; "exec" and "oct". There is no "octplot-0.4.0".

        Where do I go from here?

         
        • Ben Abbott

          Ben Abbott - 2007-07-05

          Current state on Macbook Pro (Intel) running OS X 10.4.10 with Fink

          Fink is used to satisfy the "prerequests"

          fink list octave
          (i)  octave           2.9.12-3     Matlab-like language for computations
          i   octave-forge     2006.03.17-  Extensions to octave
          fink list fltk
          i   fltk-x11         1.1.6-11.1   GUI toolkit
          i   fltk-x11-shlibs  1.1.6-11.1   Runtime code for fltk-x11
          fink list freetype
          i   freetype219        2.2.1-4    TrueType font rendering library, headers
          i   freetype219-shlibs 2.2.1-4    TrueType font rendering library, shared libs
          fink list ghostscript
          i   ghostscript          8.56-1      Interpreter for PostScript and PDF
          i   ghostscript-fonts    8.11-3      Standard fonts for Ghostscript
          i   x-ghostscript-fonts  20020206-3  Allows ghostscript fonts to be used within X-windows

          (1) change src/patch.cpp
          < #include <GL/glu.h>
          > #include <OpenGL/glu.h>

          Below is the sequence I used to install an *almost* working octplot

          (2) ./configure

          (3) make

          (3) chmod 755 install-sh

          (4) sudo mkdir /sw/lib/octave/2.1.73/site/octplot-0.4.0/

          (5) sudo mkdir /sw/lib/octave/2.1.73/site/octplot-0.4.0/fonts/

          (6) sudo mkdir /sw/share/octave/2.1.73/site/m/octplot/

          (7) sudo make install

          (8) Trying it out

          bens-macbook:~ bpabbott$ octave
          octave:1> octplot_enable
          octave:2> x = 0:100;
          octave:3> y = sin(x/20);
          octave:4> plot(x,y)
          warning: in /sw/lib/octave/2.1.73/site/octplot-0.4.0/__nxtplt__.m near line 22, column 1:
          warning: function name `get' does not agree with function file name `/sw/lib/octave/2.1.73/site/octplot-0.4.0/oget.m'

          Most of the demos appear to work. The specgram_demo produces both a warning and an error. However, it appears (to me) that the plot is completed.

          octave:15> specgram_demo
          warning: in /sw/lib/octave/2.1.73/site/octplot-0.4.0/axis.m near line 46, column 3:
          warning: axis: some elements in list of return values are undefined
          error: invalid matrix index = 1
          error: evaluating argument list element number 1
          error: near line 47 of file `/Users/bpabbott/Desktop/octplot-0.4.0/demos/specgram_demo.m'

          The "undefined" values result from the axis() function

          ax = axis()
          warning: axis: some elements in list of return values are undefined
          ax = [](0x0)

          I checked to see what "axis" is being run. It appears correct.

          octave:41> which axis
          axis is the user-defined function from the file
          /sw/lib/octave/2.1.73/site/octplot-0.4.0/axis.m

          Is this error specific to my install? Does "specgram_demo" work properly for anyone else's Mac OS X installation?

           
        • Shai Ayal

          Shai Ayal - 2007-07-05

          For the portable way to solve the #include bug, see the file src/FTGL/FTGL.h
          I will incorporate this into octplot so next release should do this automatically.

          I have no idea about the empty install.sh bug

          Thanks,
          Shai

           
    • Ben Abbott

      Ben Abbott - 2007-07-05

      I found a problem with axis(). The version accompanying octplot contains the code

      ----------------------------
      function _ax = axis (varargin)
        _gca=gca();

        ax=zeros(1,4);
        ax(1:2)=get(_gca,"xlim");
        ax(3:4)=get(_gca,"ylim");

        for ii=1:length(varargin)
          __axis_helper__(_gca,ax,varargin{ii});
        endfor

        ax=zeros(1,4);
        ax(1:2)=get(_gca,"xlim");
        ax(3:4)=get(_gca,"ylim");

      endfunction
      ----------------------------

      The output variable is apparently not set. When I add "_ax = as;" as shown below

      ----------------------------
      function _ax = axis (varargin)
        _gca=gca();

        ax=zeros(1,4);
        ax(1:2)=get(_gca,"xlim");
        ax(3:4)=get(_gca,"ylim");

        for ii=1:length(varargin)
          __axis_helper__(_gca,ax,varargin{ii});
        endfor

        ax=zeros(1,4);
        ax(1:2)=get(_gca,"xlim");
        ax(3:4)=get(_gca,"ylim");

        _ax = ax;

      endfunction
      ----------------------------

      Now it appears to work. However, I've not considered whether this the appropriate for all instances.

      I'll start a new thread

       
      • Shai Ayal

        Shai Ayal - 2007-07-05

        This is a known (and already fixed in svn bug) -- you can have a look at the fix (similar to yours) at
        http://octplot.svn.sourceforge.net/viewvc/octplot/trunk/octplot/high_level/axis.m?r1=460&r2=463&sortby=date

        Thanks
        Shai

         
        • Ben Abbott

          Ben Abbott - 2007-07-05

          Thanks Shai!

           

Log in to post a comment.