belma / animata

Automatically exported from code.google.com/p/animata
GNU General Public License v3.0
0 stars 0 forks source link

Ubuntu 9.04(x64) doesn't compile #38

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Hi,

At the end of the compilation, I get this error message. 

scons: Reading SConscript files ...
Checking for C++ library m... (cached) yes
Checking for C++ library pthread... (cached) yes
Checking for C++ library fltk... (cached) yes
Checking for C++ library X11... (cached) yes
Checking for C++ library GL... (cached) yes
Checking for C++ library GLU... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/Bone.o -c -Wall -Wno-unknown-pragmas -Wno-long-long -pedantic
-Wno-format -DTIXML_USE_STL -DOSC_HOST_LITTLE_ENDIAN
-DANIMATA_MAJOR_VERSION=0 -DANIMATA_MINOR_VERSION=003 -Wno-variadic-macros
-ggdb2 -O0 -DDEBUG=1 -D_THREAD_SAFE -D_REENTRANT -I/usr/include
-Ibuild/libs -Isrc/libs -Ibuild/libs/tinyxml -Isrc/libs/tinyxml
-Ibuild/libs/oscpack -Isrc/libs/oscpack -I/usr/include/freetype2 src/Bone.cpp
In file included from src/TextureManager.h:29,
                 from src/Selection.h:38,
                 from src/animata.h:47,
                 from src/Bone.cpp:30:
src/ImageBox.h:27:23: error: Fl/Fl_Box.h: No such file or directory
src/ImageBox.h:28:25: error: Fl/Fl_Image.h: No such file or directory
In file included from src/Bone.cpp:31:
src/animataUI.h:10:32: error: Fl/Fl_File_Chooser.h: No such file or directory
In file included from src/animataUI.h:14,
                 from src/Bone.cpp:31:
src/Playback.h:35:19: error: Fl/Fl.h: No such file or directory
src/Playback.h:36:29: error: Fl/Fl_Gl_Window.h: No such file or directory
In file included from src/Bone.cpp:31:
src/animataUI.h:18:30: error: Fl/Fl_JPEG_Image.h: No such file or directory
src/animataUI.h:19:29: error: Fl/Fl_PNG_Image.h: No such file or directory
In file included from src/Face.h:28,
                 from src/Mesh.h:30,
                 from src/animata.h:45,
                 from src/Bone.cpp:30:
src/Texture.h:73: error: multiple parameters named 'd'
In file included from src/TextureManager.h:29,
                 from src/Selection.h:38,
                 from src/animata.h:47,
                 from src/Bone.cpp:30:
src/ImageBox.h:33: error: expected class-name before '{' token
src/ImageBox.h:40: error: 'PATH_MAX' was not declared in this scope
src/ImageBox.h: In member function 'char* ImageBox::getFilename()':
src/ImageBox.h:52: error: 'filename' was not declared in this scope
In file included from src/Bone.cpp:30:
src/animata.h: At global scope:
src/animata.h:205: error: 'PATH_MAX' was not declared in this scope
src/animata.h: In member function 'const char* AnimataWindow::getFilename()':
src/animata.h:214: error: 'filename' was not declared in this scope
In file included from src/animataUI.h:35,
                 from src/Bone.cpp:31:
src/libs/FLU/Flu_Tree_Browser.h: In member function 'unsigned int
Flu_Tree_Browser::Node::remove(const char*)':
src/libs/FLU/Flu_Tree_Browser.h:1081: error: cast from
'Flu_Tree_Browser::Node*' to 'unsigned int' loses precision
In file included from src/Bone.cpp:31:
src/animataUI.h: At global scope:
src/animataUI.h:201: error: ISO C++ forbids declaration of
'Fl_File_Chooser' with no type
src/animataUI.h:201: error: expected ';' before '*' token
scons: *** [build/Bone.o] Error 1
scons: building terminated because of errors.

Original issue reported on code.google.com by benjamin...@gmail.com on 26 Jun 2009 at 2:40

GoogleCodeExporter commented 8 years ago
hi,

are you using the latest version from svn? have you installed the fltk 
development
packages?

Original comment by gabor.p...@gmail.com on 26 Jun 2009 at 3:14

GoogleCodeExporter commented 8 years ago
Hello,

Fltk development packages were installed. I just downloaded Subversion from 
Synaptics
but still the same problem...

Original comment by benjamin...@gmail.com on 26 Jun 2009 at 3:41

GoogleCodeExporter commented 8 years ago
are you sure you are using the latest svn version of animata? in ImageBox.h
(http://code.google.com/p/animata/source/browse/trunk/src/ImageBox.h) it 
includes
<FL/Fl_Box.H>, not <Fl/Fl_Box.h> as in your error message.

this is how you can check out the latest svn version:
http://code.google.com/p/animata/source/checkout

Original comment by gabor.p...@gmail.com on 26 Jun 2009 at 3:58

GoogleCodeExporter commented 8 years ago
Okaay,

Sorry for taking your time, I'm a newbie to Linux and all those SVN things. 
Still, I
did the checkout using Rapidsvn, I'm now on rev47 but I have another problem :

scons: Reading SConscript files ...
Checking for C++ library m... yes
Checking for C++ library pthread... yes
Checking for C++ library fltk... yes
Checking for C++ library X11... yes
Checking for C++ library GL... yes
Checking for C++ library GLU... yes
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/Bone.o -c -Wall -Wno-unknown-pragmas -Wno-long-long -pedantic 
-pthread
-Wno-format -DTIXML_USE_STL -DOSC_HOST_LITTLE_ENDIAN -DANIMATA_MAJOR_VERSION=0
-DANIMATA_MINOR_VERSION=004 -ggdb2 -O0 -DDEBUG=1 -D_THREAD_SAFE -D_REENTRANT
-I/usr/include -Ibuild/libs -Isrc/libs -Ibuild/libs/tinyxml -Isrc/libs/tinyxml
-Ibuild/libs/oscpack -Isrc/libs/oscpack -I/usr/include/freetype2 src/Bone.cpp
In file included from src/animataUI.h:34,
                 from src/Bone.cpp:31:
src/libs/FLU/Flu_Tree_Browser.h: In member function 'unsigned int
Flu_Tree_Browser::Node::remove(const char*)':
src/libs/FLU/Flu_Tree_Browser.h:1081: error: cast from 
'Flu_Tree_Browser::Node*' to
'unsigned int' loses precision
scons: *** [build/Bone.o] Error 1
scons: building terminated because of errors.

Thanks a lot for the quick response

Ben

Original comment by benjamin...@gmail.com on 26 Jun 2009 at 4:23

GoogleCodeExporter commented 8 years ago
unfortunately FLU (the library we are using for the tree browser) is known to 
have
problems on 64bit linux systems. a hack is described here how to fix it:
http://www.gidforums.com/t-18824.html.
here's a diff sent to us by another 64bit linux user, but we could not test it 
yet.

Index: src/libs/FLU/Flu_Tree_Browser.cpp
===================================================================
--- src/libs/FLU/Flu_Tree_Browser.cpp   (revision 45)
+++ src/libs/FLU/Flu_Tree_Browser.cpp   (working copy)
@@ -2981,12 +2981,12 @@
   return add( path, p.c_str(), w, showLabel );
 }

-unsigned int Flu_Tree_Browser :: remove( const char *fullpath )
+unsigned long Flu_Tree_Browser :: remove( const char *fullpath )
 {
-  return( (unsigned int)root.modify( fullpath, Node::REMOVE, rdata ) );
+  return( (unsigned long)root.modify( fullpath, Node::REMOVE, rdata ) );
 }

-unsigned int Flu_Tree_Browser :: remove( const char *path, const char *text )
+unsigned long Flu_Tree_Browser :: remove( const char *path, const char *text )
 {
   // if the path does not end in '/', add it
   FluSimpleString s = path;
@@ -2996,12 +2996,12 @@
   return remove( s.c_str() );
 }

-unsigned int Flu_Tree_Browser :: remove( unsigned int id )
+unsigned long Flu_Tree_Browser :: remove( unsigned int id )
 {
   return root.remove( id );
 }

-unsigned int Flu_Tree_Browser :: Node :: remove( unsigned int id )
+unsigned long Flu_Tree_Browser :: Node :: remove( unsigned long id )
 {
   if( id == 0 )
     return 0;
@@ -3028,12 +3028,12 @@
   return 0;
 }

-unsigned int Flu_Tree_Browser :: remove( Fl_Widget *w )
+unsigned long Flu_Tree_Browser :: remove( Fl_Widget *w )
 {
   return root.remove( w );
 }

-unsigned int Flu_Tree_Browser :: Node :: remove( Fl_Widget *w )
+unsigned long Flu_Tree_Browser :: Node :: remove( Fl_Widget *w )
 {
   if( !w )
     return 0;
Index: src/libs/FLU/Flu_Tree_Browser.h
===================================================================
--- src/libs/FLU/Flu_Tree_Browser.h (revision 45)
+++ src/libs/FLU/Flu_Tree_Browser.h (working copy)
@@ -436,23 +436,23 @@

   //! Remove the entry identified by path \b fullpath from the tree
   /*! \return the unique id of the removed entry, or \c 0 if no matching entry was
found */
-  unsigned int remove( const char *fullpath );
+  unsigned long remove( const char *fullpath );

   //! Remove entry \b name in path \b path from the tree
   /*! \return the unique id of the removed entry, or \c 0 if no matching entry was
found */
-  unsigned int remove( const char *path, const char *name );
+  unsigned long remove( const char *path, const char *name );

   //! Remove the entry identified by unique id \b id from the tree
   /*! \return the unique id of the removed entry, or \c 0 if no matching entry was
found */
-  unsigned int remove( unsigned int id );
+  unsigned long remove( unsigned int id );

   //! Remove the entry containing the widget \b w from the tree. Note that the
widget is automatically destroyed
   /*! \return the unique id of the removed entry, or \c 0 if no matching entry was
found */
-  unsigned int remove( Fl_Widget *w );
+  unsigned long remove( Fl_Widget *w );

   //! Remove Node \b n from the tree
   /*! \return the id of \b n on successful removal, or \c 0 if \b n is not in the
tree */
-  inline unsigned int remove( Node* n )
+  inline unsigned long remove( Node* n )
     { if( !n ) return 0; else return remove( n->id() ); }

   //! Override of Fl_Widget::resize
@@ -1077,20 +1077,20 @@

       //! Remove the entry identified by path \b fullpath from this node
       /*! \return the unique id of the removed entry, or \c 0 if no matching entry
was found */
-      inline unsigned int remove( const char *fullpath )
-   { return( (unsigned int)modify( fullpath, REMOVE, tree->rdata ) ); }
+      inline unsigned long remove( const char *fullpath )
+   { return( (unsigned long)modify( fullpath, REMOVE, tree->rdata ) ); }

       //! Remove the entry identified by unique id \b id from this node
       /*! \return the unique id of the removed entry, or \c 0 if no matching entry
was found */
-      unsigned int remove( unsigned int id );
+      unsigned long remove( unsigned long id );

       //! Remove the node containing the widget \b w from this node. Note that the
widget is automatically destroyed
       /*! \return the unique id of the removed entry, or \c 0 if no matching entry
was found */
-      unsigned int remove( Fl_Widget *w );
+      unsigned long remove( Fl_Widget *w );

       //! Remove Node \b n
       /*! \return the id of \b n on successful removal, or \c 0 if \b n is present */
-      inline unsigned int remove( Node* n )
+      inline unsigned long remove( Node* n )
    { if( !n ) return 0; else return remove( n->id() ); }

       //! Select this entry and all child entries

Original comment by gabor.p...@gmail.com on 26 Jun 2009 at 4:38