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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
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
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.
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
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.
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
Forgive my newbie question ... but where should I specify the OS definition?
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.
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
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>
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?
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?
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
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
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
Thanks Shai!