Le 24/04/2014 15:52, IOhannes m zmölnig a écrit :
>
>
>
> well, this basically means that the windowing code as found
in
> src/Base/GemWinCreateMac.cpp has reached it's end of life,
even when
> doing a legacy i386-only build.
>
> it's probably time to entirely remove the old legacy
windowing code, and
> switch to the new one found in src/Output.
>
> i *guess* the easiest way to do so (for you, right now), is
to simply:
> - remove the line containing GemWinCreateMac.cpp from
src/Base/Makefile.am
> - remove the line containing gemwin.cpp from
src/Control/Makefile.am
>
> - add Gem's abstractions (containing gemwin.pd and the like)
to your
> search-path
>
I tried that.
--
first comment (as seen by m.grimm)
this error:
videoBase.cpp:426:3: error: use of undeclared identifier 'select'
select(0,0,0,0,&sleep);
can be corrected by modifying the beginning of the file
#ifdef HAVE_SYS_SELECT_H
# include <sys/select.h>
#endif
it works by adding
# include <sys/select.h>
outside of the test but i don't understand it because in my config.h
i have
#define HAVE_SYS_SELECT_H 1
------------------------------------------------------------------
second comment
even if i configure with "--without-ftgl"
I have errors on text related objects, for example:
TextBaseFTGL.cpp:57:3: error: member initializer 'm_font' does not
name a non-static data member or base class
m_font(NULL), m_fontname(NULL)
^~~~~~~~~~~~
TextBaseFTGL.cpp:57:17: error: initializer 'm_fontname' does not
name a non-static data member or base class; did you mean the member
'm_fontSize'?
m_font(NULL), m_fontname(NULL)
^~~~~~~~~~
m_fontSize
./TextBase.h:166:10: note: 'm_fontSize' declared here
float m_fontSize;
^
TextBaseFTGL.cpp:57:28: warning: implicit conversion of NULL
constant to 'float' [-Wnull-conversion]
m_font(NULL), m_fontname(NULL)
~^~~~
0.0
TextBaseFTGL.cpp:57:17: error: multiple initializations given for
non-static member 'm_fontSize'
m_font(NULL), m_fontname(NULL)
^~~~~~~~~~~~~~~~
TextBaseFTGL.cpp:53:26: note: previous initialization is here
m_dist(1), m_valid(0), m_fontSize(20), m_fontDepth(20),
m_precision(3.f),
^~~~~~~~~~~~~~
TextBaseFTGL.cpp:71:18: error: out-of-line definition of
'startRendering' does not match any declaration in 'TextBase'
void TextBase :: startRendering(void) {
^~~~~~~~~~~~~~
TextBaseFTGL.cpp:72:12: error: use of undeclared identifier 'm_font'
if(NULL==m_font) {
^
TextBaseFTGL.cpp:73:8: error: use of undeclared identifier
'm_fontname'
if(m_fontname)
^
TextBaseFTGL.cpp:74:20: error: use of undeclared identifier
'm_fontname'
fontNameMess(m_fontname->s_name);
^
TextBaseFTGL.cpp:83:18: error: out-of-line definition of
'renderLine' does not match any declaration in 'TextBase'
void TextBase :: renderLine(const char*line, float dist) {
^~~~~~~~~~
TextBaseFTGL.cpp:85:3: error: use of undeclared identifier 'm_font'
m_font->BBox(line, x1, y1, z1, x2, y2, z2); // FTGL
^
TextBaseFTGL.cpp:94:3: error: use of undeclared identifier 'm_font'
m_font->Render(line);
^
TextBaseFTGL.cpp:98:18: error: out-of-line definition of
'renderLine' does not match any declaration in 'TextBase'
void TextBase :: renderLine(const wchar_t*line, float dist) {
^~~~~~~~~~
TextBaseFTGL.cpp:100:3: error: use of undeclared identifier 'm_font'
m_font->BBox(line, x1, y1, z1, x2, y2, z2); // FTGL
^
TextBaseFTGL.cpp:109:3: error: use of undeclared identifier 'm_font'
m_font->Render(line);
^
TextBaseFTGL.cpp:116:29: error: use of undeclared identifier
'm_font'
if (m_theText.empty() || !m_font)return;
^
TextBaseFTGL.cpp:171:6: error: use of undeclared identifier 'm_font'
if(m_font)delete m_font; m_font=NULL;
^
TextBaseFTGL.cpp:171:20: error: use of undeclared identifier
'm_font'
if(m_font)delete m_font; m_font=NULL;
^
TextBaseFTGL.cpp:171:28: error: use of undeclared identifier
'm_font'
if(m_font)delete m_font; m_font=NULL;
^
TextBaseFTGL.cpp:172:3: error: use of undeclared identifier 'm_font'
m_font=makeFont(bufptr);
^
TextBaseFTGL.cpp:172:10: error: use of undeclared identifier
'makeFont'
m_font=makeFont(bufptr);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../src -I../../src
-DGEM_INTERNAL -DGLEW_BUILD -DPD
-I/Applications/Pd-extended.app/Contents/Resources/src -arch i386 -g
-O2 -Os -ffast-math -mmmx -fpascal-strings -MT
libBase_la-TextBaseNone.lo -MD -MP -MF
.deps/libBase_la-TextBaseNone.Tpo -c TextBaseNone.cpp -o
libBase_la-TextBaseNone.o >/dev/null 2>&1
1 warning and 20 errors generated.
make[3]: *** [libBase_la-TextBaseFTGL.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
or:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../src -I../../src
-DGEM_INTERNAL -DGLEW_BUILD -DPD
-I/Applications/Pd-extended.app/Contents/Resources/src -arch i386 -g
-O2 -Os -ffast-math -mmmx -fpascal-strings -MT libGeos_la-text2d.lo
-MD -MP -MF .deps/libGeos_la-text2d.Tpo -c text2d.cpp -fno-common
-DPIC -o .libs/libGeos_la-text2d.o
text2d.cpp:143:16: error: out-of-line definition of 'render' does
not match any declaration in 'text2d'
void text2d :: render(GemState*){}
^~~~~~
1 error generated.
------------------------------------------------------------------
third:
if i try make -k to get through the text errors, i have a few errors
in imageQT and filmDarwin
/bin/sh ../../libtool --tag=CXX --mode=compile g++
-DHAVE_CONFIG_H -I. -I../../src -I../../src -DPD
-I/Applications/Pd-extended.app/Contents/Resources/src -arch i386
-framework QuickTime -g -O2 -Os -ffast-math -mmmx -fpascal-strings
-MT gem_imageQT_la-imageQT.lo -MD -MP -MF
.deps/gem_imageQT_la-imageQT.Tpo -c -o gem_imageQT_la-imageQT.lo
`test -f 'imageQT.cpp' || echo './'`imageQT.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../src -I../../src
-DPD -I/Applications/Pd-extended.app/Contents/Resources/src -arch
i386 -framework QuickTime -g -O2 -Os -ffast-math -mmmx
-fpascal-strings -MT gem_imageQT_la-imageQT.lo -MD -MP -MF
.deps/gem_imageQT_la-imageQT.Tpo -c imageQT.cpp -fno-common -DPIC
-o .libs/gem_imageQT_la-imageQT.o
[...]
imageQT.cpp:267:5: error: no member named 'OffsetRect' in the global
namespace
::OffsetRect(&r, -r.left, -r.top);
~~^
imageQT.cpp:323:5: error: no type named 'DisposeGWorld' in the
global namespace
::DisposeGWorld(gw); //dispose the offscreen
~~^
with a few more in filmDarwin, filmQT and videoDarwin:
filmDarwin.cpp:188:42: error: use of undeclared identifier
'GetGWorldDevice'
::SetMovieGWorld(m_movie, m_srcGWorld,
GetGWorldDevice(m_srcGWorld));
^
filmDarwin.cpp:206:5: error: no member named 'GetGWorld' in the
global namespace
::GetGWorld(&savedPort, &savedDevice);
~~^
filmDarwin.cpp:207:5: error: no member named 'SetGWorld' in the
global namespace
::SetGWorld(m_srcGWorld, NULL);
~~^
filmDarwin.cpp:208:5: warning: 'GetMovieBox' is deprecated: first
deprecated in OS X 10.9 [-Wdeprecated-declarations]
::GetMovieBox(m_movie, &m_srcRect);
^
/System/Library/Frameworks/QuickTime.framework/Headers/Movies.h:2550:1:
note: 'GetMovieBox' declared here
GetMovieBox(
^
filmDarwin.cpp:210:16: error: no member named 'GetGWorldPixMap' in
the global namespace
m_pixMap = ::GetGWorldPixMap(m_srcGWorld);
~~^
------------------------------------------------------------------
finally in the output folder i have more or less the same errors
than before, but this time in gemmacwindow.cpp:
libtool: link: g++ -Wl,-undefined -Wl,dynamic_lookup -o
.libs/gemglutwindow.pd_darwin -bundle
.libs/gemglutwindow_la-gemglutwindow.o -lstdc++ -framework
QuickTime -framework Carbon -framework Cocoa -framework AGL
-L/Applications/Pd-extended.app/Contents/Resources/bin -L../..
-framework GLUT -framework OpenGL -ldl -lz -lm -arch i386 -O2 -Os
-mmmx -arch i386 -framework QuickTime -framework Carbon -framework
Cocoa -framework AGL -framework GLUT -framework OpenGL
libtool: link: ( cd ".libs" && rm -f "gemglutwindow.la"
&& ln -s "../gemglutwindow.la" "gemglutwindow.la" )
/bin/sh ../../libtool --tag=CXX --mode=compile g++
-DHAVE_CONFIG_H -I. -I../../src -I../../src -DPD
-I/Applications/Pd-extended.app/Contents/Resources/src -arch i386
-g -O2 -Os -ffast-math -mmmx -fpascal-strings -MT
gemmacwindow_la-gemmacwindow.lo -MD -MP -MF
.deps/gemmacwindow_la-gemmacwindow.Tpo -c -o
gemmacwindow_la-gemmacwindow.lo `test -f 'gemmacwindow.cpp' || echo
'./'`gemmacwindow.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../src -I../../src
-DPD -I/Applications/Pd-extended.app/Contents/Resources/src -arch
i386 -g -O2 -Os -ffast-math -mmmx -fpascal-strings -MT
gemmacwindow_la-gemmacwindow.lo -MD -MP -MF
.deps/gemmacwindow_la-gemmacwindow.Tpo -c gemmacwindow.cpp
-fno-common -DPIC -o .libs/gemmacwindow_la-gemmacwindow.o
[...]
gemmacwindow.cpp:269:3: error: use of undeclared identifier
'GetPort'; did you mean 'CFRunLoopSourceContext1::getPort'?
GetPort (&cgrafSave);
^~~~~~~
CFRunLoopSourceContext1::getPort
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFRunLoop.h:105:19:
note: 'CFRunLoopSourceContext1::getPort' declared here
mach_port_t (*getPort)(void *info);
^
gemmacwindow.cpp:269:3: error: invalid use of non-static data member
'getPort'
GetPort (&cgrafSave);
^~~~~~~
gemmacwindow.cpp:388:13: error: use of undeclared identifier
'GetMainDevice'
hGD = GetMainDevice ();
^
gemmacwindow.cpp:394:21: error: use of undeclared identifier
'DMGetFirstScreenDevice'
hDevice = DMGetFirstScreenDevice (true);
^
gemmacwindow.cpp:399:25: error: use of undeclared identifier
'DMGetNextScreenDevice'
hDevice = DMGetNextScreenDevice (hDevice, true);
^
gemmacwindow.cpp:417:17: error: use of undeclared identifier
'DMGetFirstScreenDevice'
hGD = DMGetFirstScreenDevice (true);
^
gemmacwindow.cpp:420:34: error: use of undeclared identifier
'DMGetNextScreenDevice'
GDHandle hGDNext = DMGetNextScreenDevice (hGD, true);
^
gemmacwindow.cpp:438:13: error: use of undeclared identifier
'DMGetFirstScreenDevice'
hGD = DMGetFirstScreenDevice (true);
^
gemmacwindow.cpp:446:21: error: use of undeclared identifier
'DMGetNextScreenDevice'
hGD = DMGetNextScreenDevice (hGD, true);
^
[...]
Is this solvable somehow? I make a branch on github to track changes
to compile on osx.
Thanks in advance and sorry for this long mail
n
--
http://www.nimon.org