Hi,
I'm trying to install Gem for development purposes, but have thus far had no luck. I'm running a Debian Linux and seem to be suffering from plenty of "undefined symbols".
I've unpacked the packages GemLibs-linux-1.tgz and gem-0.90.0.tgz to directories GemLibs/ and gem-0.90.0/. The makeauxlibs in GemLibs works fine. After that I go to gem-0.90.0/src/Gnu and there write ./configure followed by make. Both succeed with no errors, but when I try to run pd -lib Gem, the fuss with undefined symbols begins. As there are plentiful of those, new ones emerging once I get rid of the old, I'll list all of them here.
1. First I get:
Gem.pd_linux: undefined symbol: _16pix_kaleidoscope.g_pCurrentCosTable
I found a solution of adding #define NO_HACK to the file gem-0.90/src/Base/configLinux.h. Then when I remove gem-0.90/src/Pixes/pix_kaleisdoscope.o and retype make in the Gnu/src-directory, this problem disappears...
2. Only to be replaced by new ones.
Gem.pd_linux: undefined symbol: GetVideoWidth__CQ23avm10StreamInfo Gem.pd_linux: undefined symbol: GetVideoHeight__CQ23avm10StreamInfo
At this point I tried reconfiguring in gem-0.90/src/Gnu with
./configure --disable-new
But no luck. So just to see what happens, I decided to start commenting out the troublecausing lines in cpp-files, to test if I'll get Gem running at all. Removed these lines all together:
gem-0.90.0/src/Pixes/pix_filmLinux.cpp:
m_xsize = (*m_info).GetVideoWidth(); m_ysize = (*m_info).GetVideoHeight();
gem-0.90.0/src/Pixes/filmAVIPLAY.cpp:
m_image.image.xsize = (*m_info).GetVideoWidth(); m_image.image.ysize = (*m_info).GetVideoHeight()
And then re-made. No more complaints about this subject.
3. The next file to cause troubles was gem-0.90.0/src/Geos/text3d.cpp, with the following error message:
Gem.pd_linux: undefined symbol: __15FTGLPolygonFontPCc
I have installed ftgl-dev, a library to render text in OpenGL using FreeType. So finding there was nothing else to do, once again commented the appropriate line out in text3d.cpp.
4. Here is where I'm stuck:
Gem.pd_linux: undefined symbol: Release__CQ23avm6CImage
The binaries filmAVIPLAY.o and pix_filmLinux.o match this symbol, but could not find any new lines to comment out... Not that just removing these lines is constructive way to deal with the problems to begin with!
Does anyone know how to help? It would be appreciated.
-Antti Silvast
To write my own reply: it seems all this was about an outdated version of g++. Had g++ 2.95 or something, now it is 3.3.5. And now Gem works fine, great!
-Antti Silvast
On Sun, 20 Mar 2005, Antti Silvast wrote:
Hi,
I'm trying to install Gem for development purposes, but have thus far had no luck. I'm running a Debian Linux and seem to be suffering from plenty of "undefined symbols".
I've unpacked the packages GemLibs-linux-1.tgz and gem-0.90.0.tgz to directories GemLibs/ and gem-0.90.0/. The makeauxlibs in GemLibs works fine. After that I go to gem-0.90.0/src/Gnu and there write ./configure followed by make. Both succeed with no errors, but when I try to run pd -lib Gem, the fuss with undefined symbols begins. As there are plentiful of those, new ones emerging once I get rid of the old, I'll list all of them here.
- First I get:
Gem.pd_linux: undefined symbol: _16pix_kaleidoscope.g_pCurrentCosTable
I found a solution of adding #define NO_HACK to the file gem-0.90/src/Base/configLinux.h. Then when I remove gem-0.90/src/Pixes/pix_kaleisdoscope.o and retype make in the Gnu/src-directory, this problem disappears...
- Only to be replaced by new ones.
Gem.pd_linux: undefined symbol: GetVideoWidth__CQ23avm10StreamInfo Gem.pd_linux: undefined symbol: GetVideoHeight__CQ23avm10StreamInfo
At this point I tried reconfiguring in gem-0.90/src/Gnu with
./configure --disable-new
But no luck. So just to see what happens, I decided to start commenting out the troublecausing lines in cpp-files, to test if I'll get Gem running at all. Removed these lines all together:
gem-0.90.0/src/Pixes/pix_filmLinux.cpp:
m_xsize = (*m_info).GetVideoWidth(); m_ysize = (*m_info).GetVideoHeight();
gem-0.90.0/src/Pixes/filmAVIPLAY.cpp:
m_image.image.xsize = (*m_info).GetVideoWidth(); m_image.image.ysize = (*m_info).GetVideoHeight()
And then re-made. No more complaints about this subject.
- The next file to cause troubles was gem-0.90.0/src/Geos/text3d.cpp, with
the following error message:
Gem.pd_linux: undefined symbol: __15FTGLPolygonFontPCc
I have installed ftgl-dev, a library to render text in OpenGL using FreeType. So finding there was nothing else to do, once again commented the appropriate line out in text3d.cpp.
- Here is where I'm stuck:
Gem.pd_linux: undefined symbol: Release__CQ23avm6CImage
The binaries filmAVIPLAY.o and pix_filmLinux.o match this symbol, but could not find any new lines to comment out... Not that just removing these lines is constructive way to deal with the problems to begin with!
Does anyone know how to help? It would be appreciated.
-Antti Silvast
PD-dev mailing list PD-dev@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-dev
On Sun, Mar 20, 2005 at 02:18:33PM +0200, Antti Silvast wrote:
Hi,
I'm trying to install Gem for development purposes, but have thus far had no luck.
same , actually i reimplemented the only object i use from GEM as an abstraction, but its much slower..
it seems it wants me to recompile libc with fPIC? dont think i should be doing that.. any ideas?
configure:2662: checking for glInitNames in -lGL configure:2681: gcc -o conftest -g -O2 -fPIC -L/usr/lib64 conftest.c -lGL -Wl,-shared -Wl,-export-dynamic -lXxf86vm -lXext -lX11 1>&5 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../lib/crt1.o: relocation R_X86_64_32S against `__libc_csu_fini' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../lib/crt1.o: could not read symbols: Bad value collect2: ld returned 1 exit status
configure:2707: checking for glInitNames in -lMesaGL configure:2726: gcc -o conftest -g -O2 -fPIC -L/usr/lib64 conftest.c -lMesaGL -Wl,-shared -Wl,-export-dynamic -lXxf86vm -lXext -lX11 1>&5 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../lib/crt1.o: relocation R_X86_64_32S against `__libc_csu_fini' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../lib/crt1.o: could not read symbols: Bad value collect2: ld returned 1 exit status
c