BZWorkBench Status

Discussion, updates, modifications, etc for the various map editors...
Post Reply
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

BZWorkBench Status

Post by blast »

Linux (or at least Ubuntu 9.04)

As of SVN revision 20679, BZWorkBench now builds properly on Ubuntu 9.04 (and probably other distros with modifications to what/how packages are installed) using the following commands (or at least something like this):

Code: Select all

sudo aptitude install subversion g++ libopenscenegraph-dev libfltk1.1-dev
svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzworkbench/ bzworkbench
cd bzworkbench/Debug
make
cd ..
./Debug/bzworkbench
The README file says that it needs OpenSceneGraph 2.8, but Ubuntu 9.04 has 2.4. It seems to work, but I didn't do any extensive testing to see if there was any issues.

There is still some issues preventing it from building on Mac OSX.
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
jpenguin
Private First Class
Private First Class
Posts: 128
Joined: Wed Jun 11, 2008 11:56 pm

Re: BZWorkBench Status

Post by jpenguin »

It didn't work on Kubuntu 9.10 x64

Code: Select all

Building file: ../src/windows/ConsoleWindow.cpp
Invoking: GCC C++ Compiler
g++ -I/usr/include/ -I../include/ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/windows/ConsoleWindow.d" -MT"src/windows/ConsoleWindow.d" -o"src/windows/ConsoleWindow.o" "../src/windows/ConsoleWindow.cpp"
../src/windows/ConsoleWindow.cpp: In static member function ‘static void ConsoleWindow::output(const char*, ...)’:
../src/windows/ConsoleWindow.cpp:48: error: ‘printf’ was not declared in this scope
make[1]: *** [src/windows/ConsoleWindow.o] Error 1
make[1]: Leaving directory `/home/jpenguin/bzworkbench/Debug'
make: *** [all] Error 2
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZWorkBench Status

Post by blast »

A quick google suggests that you might need to add this to any of the files that fail to build with that error:

Code: Select all

#include <cstdio>
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
User avatar
Bullet Catcher
Captain
Captain
Posts: 564
Joined: Sat Dec 23, 2006 7:56 am
Location: Escondido, California

Re: BZWorkBench Status

Post by Bullet Catcher »

This bug is fixed in Subversion revision 20729.
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZWorkBench Status

Post by blast »

Win32 build of BZWorkBench from March 21st, 2010.

http://my.bzflag.org/bb/viewtopic.php?f=24&t=16126
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
alezakos
Private First Class
Private First Class
Posts: 82
Joined: Thu Sep 16, 2010 1:24 pm

Re: BZWorkBench Status

Post by alezakos »

Code: Select all

make  all-recursive
make[1]: Entering directory `/home/kongr45gpen/bzworkbench'
Making all in src
make[2]: Entering directory `/home/kongr45gpen/bzworkbench/src'
g++ -DHAVE_CONFIG_H -I. -I..  -I../include   -g -O2 -MT AdvancedOptionsDialog.o -MD -MP -MF .deps/AdvancedOptionsDialog.Tpo -c -o AdvancedOptionsDialog.o `test -f 'dialogs/AdvancedOptionsDialog.cpp' || echo './'`dialogs/AdvancedOptionsDialog.cpp
dialogs/AdvancedOptionsDialog.cpp: In member function ‘void AdvancedOptionsDialog::AdvancedOptionsPage::removeMaterialCallback_real(Fl_Widget*)’:
dialogs/AdvancedOptionsDialog.cpp:92: error: ‘class Fl_Scroll’ has no member named ‘scroll_to’
dialogs/AdvancedOptionsDialog.cpp: In member function ‘void AdvancedOptionsDialog::AdvancedOptionsPage::addMaterial(MaterialWidget*)’:
dialogs/AdvancedOptionsDialog.cpp:105: error: ‘class Fl_Scroll’ has no member named ‘scroll_to’
dialogs/AdvancedOptionsDialog.cpp:107: error: ‘class Fl_Scroll’ has no member named ‘scroll_to’
dialogs/AdvancedOptionsDialog.cpp: In constructor ‘AdvancedOptionsDialog::AdvancedOptionsPage::AdvancedOptionsPage(int, int, std::string, std::vector<material*, std::allocator<material*> >, physics*, bool)’:
dialogs/AdvancedOptionsDialog.cpp:186: error: ‘class Fl_Scroll’ has no member named ‘scroll_to’
make[2]: *** [AdvancedOptionsDialog.o] Error 1
make[2]: Leaving directory `/home/kongr45gpen/bzworkbench/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kongr45gpen/bzworkbench'
make: *** [all] Error 2
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZWorkBench Status

Post by blast »

Which version of FLTK did you install? I think it needs FLTK1.3 now (which isn't released, so you'll have to compile/install FLTK1.3 yourself, uninstalling FLTK1.1 first)
http://www.fltk.org/
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
alezakos
Private First Class
Private First Class
Posts: 82
Joined: Thu Sep 16, 2010 1:24 pm

Re: BZWorkBench Status

Post by alezakos »

Code: Select all

g++ -DHAVE_CONFIG_H -I. -I..  -I../include   -g -O2 -MT selectHandler.o -MD -MP -MF .deps/selectHandler.Tpo -c -o selectHandler.o `test -f 'windows/eventHandlers/selectHandler.cpp' || echo './'`windows/eventHandlers/selectHandler.cpp
windows/eventHandlers/selectHandler.cpp: In member function ‘virtual bool selectHandler::handle(const osgGA::GUIEventAdapter&, osgGA::GUIActionAdapter&)’:
windows/eventHandlers/selectHandler.cpp:76: error: jump to case label
windows/eventHandlers/selectHandler.cpp:40: error:   crosses initialization of ‘Renderable* lsobj’
windows/eventHandlers/selectHandler.cpp:83: error: jump to case label
windows/eventHandlers/selectHandler.cpp:40: error:   crosses initialization of ‘Renderable* lsobj’
windows/eventHandlers/selectHandler.cpp:110: error: jump to case label
windows/eventHandlers/selectHandler.cpp:40: error:   crosses initialization of ‘Renderable* lsobj’
make[2]: *** [selectHandler.o] Error 1
make[2]: Leaving directory `/home/kongr45gpen/bzworkbench/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kongr45gpen/bzworkbench'
make: *** [all] Error 2
User avatar
macsforme
General
General
Posts: 2069
Joined: Wed Mar 01, 2006 5:43 am

Re: BZWorkBench Status

Post by macsforme »

Try this patch (untested):

Code: Select all

Index: src/windows/eventHandlers/selectHandler.cpp
===================================================================
--- src/windows/eventHandlers/selectHandler.cpp	(revision 21341)
+++ src/windows/eventHandlers/selectHandler.cpp	(working copy)
@@ -34,7 +34,7 @@
     {
 
     	// catch drag events
-    	case osgGA::GUIEventAdapter::DRAG :
+    	case osgGA::GUIEventAdapter::DRAG : {
 
     		viewer = dynamic_cast<View*>(&aa);
 			Renderable* lsobj = (Renderable*)lastSelected;
@@ -72,12 +72,14 @@
 
     		}
     		return false;
+	}
 
-		case osgGA::GUIEventAdapter::RELEASE:
-			translateSnap = osg::Vec3( 0, 0, 0 );
-			scaleSnap = osg::Vec3( 0, 0, 0 );
-			rotateSnap = 0;
-			return true;
+	case osgGA::GUIEventAdapter::RELEASE: {
+		translateSnap = osg::Vec3( 0, 0, 0 );
+		scaleSnap = osg::Vec3( 0, 0, 0 );
+		rotateSnap = 0;
+		return true;
+	}
 
     	// catch single-click events (see if we picked the selector or an object)
        	case osgGA::GUIEventAdapter::PUSH : {
@@ -107,9 +109,10 @@
        		return false;
        	}
 
-        default:
+        default: {
         	// assume we handled everything
             return true;
+	}
     }
 }
 
alezakos
Private First Class
Private First Class
Posts: 82
Joined: Thu Sep 16, 2010 1:24 pm

Re: BZWorkBench Status

Post by alezakos »

Code: Select all


//usr/local/lib/libfltk_images.a(Fl_PNG_Image.o): In function `Fl_PNG_Image::Fl_PNG_Image(char const*)':
Fl_PNG_Image.cxx:(.text+0x84): undefined reference to `png_create_read_struct'
Fl_PNG_Image.cxx:(.text+0x8f): undefined reference to `png_create_info_struct'
Fl_PNG_Image.cxx:(.text+0xc4): undefined reference to `png_init_io'
Fl_PNG_Image.cxx:(.text+0xd1): undefined reference to `png_read_info'
Fl_PNG_Image.cxx:(.text+0xde): undefined reference to `png_get_color_type'
Fl_PNG_Image.cxx:(.text+0xf0): undefined reference to `png_set_expand'
Fl_PNG_Image.cxx:(.text+0x100): undefined reference to `png_get_color_type'
Fl_PNG_Image.cxx:(.text+0x12d): undefined reference to `png_get_tRNS'
Fl_PNG_Image.cxx:(.text+0x13b): undefined reference to `png_get_color_type'
Fl_PNG_Image.cxx:(.text+0x156): undefined reference to `png_get_image_width'
Fl_PNG_Image.cxx:(.text+0x169): undefined reference to `png_get_image_height'
Fl_PNG_Image.cxx:(.text+0x17f): undefined reference to `png_get_bit_depth'
Fl_PNG_Image.cxx:(.text+0x191): undefined reference to `png_set_packing'
Fl_PNG_Image.cxx:(.text+0x19a): undefined reference to `png_set_expand'
Fl_PNG_Image.cxx:(.text+0x1a9): undefined reference to `png_get_bit_depth'
Fl_PNG_Image.cxx:(.text+0x1bb): undefined reference to `png_set_strip_16'
Fl_PNG_Image.cxx:(.text+0x1cc): undefined reference to `png_get_valid'
Fl_PNG_Image.cxx:(.text+0x1de): undefined reference to `png_set_tRNS_to_alpha'
Fl_PNG_Image.cxx:(.text+0x245): undefined reference to `png_set_interlace_handling'
Fl_PNG_Image.cxx:(.text+0x25b): undefined reference to `png_read_rows'
Fl_PNG_Image.cxx:(.text+0x27f): undefined reference to `png_read_end'
Fl_PNG_Image.cxx:(.text+0x291): undefined reference to `png_destroy_read_struct'
//usr/local/lib/libfltk_images.a(Fl_PNG_Image.o): In function `Fl_PNG_Image::Fl_PNG_Image(char const*)':
Fl_PNG_Image.cxx:(.text+0x32e): undefined reference to `png_create_read_struct'
Fl_PNG_Image.cxx:(.text+0x339): undefined reference to `png_create_info_struct'
Fl_PNG_Image.cxx:(.text+0x36e): undefined reference to `png_init_io'
Fl_PNG_Image.cxx:(.text+0x37b): undefined reference to `png_read_info'
Fl_PNG_Image.cxx:(.text+0x388): undefined reference to `png_get_color_type'
Fl_PNG_Image.cxx:(.text+0x39a): undefined reference to `png_set_expand'
Fl_PNG_Image.cxx:(.text+0x3aa): undefined reference to `png_get_color_type'
Fl_PNG_Image.cxx:(.text+0x3d7): undefined reference to `png_get_tRNS'
Fl_PNG_Image.cxx:(.text+0x3e5): undefined reference to `png_get_color_type'
Fl_PNG_Image.cxx:(.text+0x400): undefined reference to `png_get_image_width'
Fl_PNG_Image.cxx:(.text+0x413): undefined reference to `png_get_image_height'
Fl_PNG_Image.cxx:(.text+0x429): undefined reference to `png_get_bit_depth'
Fl_PNG_Image.cxx:(.text+0x43b): undefined reference to `png_set_packing'
Fl_PNG_Image.cxx:(.text+0x444): undefined reference to `png_set_expand'
Fl_PNG_Image.cxx:(.text+0x453): undefined reference to `png_get_bit_depth'
Fl_PNG_Image.cxx:(.text+0x465): undefined reference to `png_set_strip_16'
Fl_PNG_Image.cxx:(.text+0x476): undefined reference to `png_get_valid'
Fl_PNG_Image.cxx:(.text+0x488): undefined reference to `png_set_tRNS_to_alpha'
Fl_PNG_Image.cxx:(.text+0x4ef): undefined reference to `png_set_interlace_handling'
Fl_PNG_Image.cxx:(.text+0x505): undefined reference to `png_read_rows'
Fl_PNG_Image.cxx:(.text+0x529): undefined reference to `png_read_end'
Fl_PNG_Image.cxx:(.text+0x53b): undefined reference to `png_destroy_read_struct'
//usr/local/lib/libfltk.a(fl_font.o): In function `fl_destroy_xft_draw(unsigned long)':
fl_font.cxx:(.text+0x14f): undefined reference to `XftDrawChange'
//usr/local/lib/libfltk.a(fl_font.o): In function `Fl_Graphics_Driver::draw(char const*, int, int, int)':
fl_font.cxx:(.text+0x1a8): undefined reference to `XftDrawCreate'
fl_font.cxx:(.text+0x1bd): undefined reference to `XftDrawChange'
fl_font.cxx:(.text+0x1ed): undefined reference to `XftDrawSetClip'
fl_font.cxx:(.text+0x266): undefined reference to `XftDrawStringUtf8'
//usr/local/lib/libfltk.a(fl_font.o): In function `fl_text_extents(char const*, int, int&, int&, int&, int&)':
fl_font.cxx:(.text+0x5da): undefined reference to `XftTextExtentsUtf8'
//usr/local/lib/libfltk.a(fl_font.o): In function `fl_width(char const*, int)':
fl_font.cxx:(.text+0x693): undefined reference to `XftTextExtentsUtf8'
//usr/local/lib/libfltk.a(fl_font.o): In function `fl_width(unsigned int*, int)':
fl_font.cxx:(.text+0x714): undefined reference to `XftTextExtents32'
//usr/local/lib/libfltk.a(fl_font.o): In function `Fl_Graphics_Driver::rtl_draw(char const*, int, int, int)':
fl_font.cxx:(.text+0x74b): undefined reference to `FcUtf8Len'
fl_font.cxx:(.text+0x790): undefined reference to `FcUtf8ToUcs4'
fl_font.cxx:(.text+0x7e8): undefined reference to `XftDrawCreate'
fl_font.cxx:(.text+0x7fd): undefined reference to `XftDrawChange'
fl_font.cxx:(.text+0x842): undefined reference to `XftDrawSetClip'
fl_font.cxx:(.text+0x8d7): undefined reference to `XftDrawString32'
//usr/local/lib/libfltk.a(fl_font.o): In function `T.198':
fl_font.cxx:(.text+0x95b): undefined reference to `FcPatternCreate'
fl_font.cxx:(.text+0x9ec): undefined reference to `FcPatternAddString'
fl_font.cxx:(.text+0xa2b): undefined reference to `FcPatternAddString'
fl_font.cxx:(.text+0xa3a): undefined reference to `FcPatternAddInteger'
fl_font.cxx:(.text+0xa4b): undefined reference to `FcPatternAddInteger'
fl_font.cxx:(.text+0xa61): undefined reference to `FcPatternAddDouble'
fl_font.cxx:(.text+0xa75): undefined reference to `FcPatternAddString'
fl_font.cxx:(.text+0xaf4): undefined reference to `FcMatrixRotate'
fl_font.cxx:(.text+0xb03): undefined reference to `FcPatternAddMatrix'
fl_font.cxx:(.text+0xb1c): undefined reference to `XftFontMatch'
fl_font.cxx:(.text+0xb56): undefined reference to `XftFontOpen'
fl_font.cxx:(.text+0xb62): undefined reference to `FcPatternDestroy'
fl_font.cxx:(.text+0xb94): undefined reference to `XftFontOpenPattern'
fl_font.cxx:(.text+0xb9f): undefined reference to `FcPatternDestroy'
fl_font.cxx:(.text+0xbd8): undefined reference to `XftFontOpenXlfd'
//usr/local/lib/libfltk.a(screen_xywh.o): In function `screen_init()':
screen_xywh.cxx:(.text+0x1e): undefined reference to `XineramaIsActive'
screen_xywh.cxx:(.text+0x37): undefined reference to `XineramaQueryScreens'
collect2: ld returned 1 exit status
make[2]: *** [bzworkbench] Error 1
make[2]: Leaving directory `/home/kongr45gpen/bzworkbench/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kongr45gpen/bzworkbench'
make: *** [all] Error 2
User avatar
macsforme
General
General
Posts: 2069
Joined: Wed Mar 01, 2006 5:43 am

Re: BZWorkBench Status

Post by macsforme »

Is libpng installed?
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZWorkBench Status

Post by blast »

(the development package too, I would imagine)
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
alezakos
Private First Class
Private First Class
Posts: 82
Joined: Thu Sep 16, 2010 1:24 pm

Re: BZWorkBench Status

Post by alezakos »

Well, yes, it is. Do I need a specific version?
User avatar
Bullet Catcher
Captain
Captain
Posts: 564
Joined: Sat Dec 23, 2006 7:56 am
Location: Escondido, California

Re: BZWorkBench Status

Post by Bullet Catcher »

Adding -lpng to the end of the LIBS = line in src/Makefile should make it actually use your installed png library.
User avatar
Runic
Private First Class
Private First Class
Posts: 23
Joined: Fri Jul 02, 2004 8:51 pm

Re: BZWorkBench Status

Post by Runic »

blast wrote:Which version of FLTK did you install? I think it needs FLTK1.3 now (which isn't released, so you'll have to compile/install FLTK1.3 yourself, uninstalling FLTK1.1 first)
http://www.fltk.org/

Blast is correct fltk 1.3 is what I was using last time I worked on this program.

However you could manually remove the Fl_Scroll "scroll_to" commands (it only used a few places)
if you want to use an older version such as fltk 1.1.9 or 1.1.7
BZFlag ROCKS!!!
User avatar
Runic
Private First Class
Private First Class
Posts: 23
Joined: Fri Jul 02, 2004 8:51 pm

Re: BZWorkBench Status

Post by Runic »

Bullet Catcher wrote:Adding -lpng to the end of the LIBS = line in src/Makefile should make it actually use your installed png library.

This should work but you could also just build fltk with it's built in png support
BZFlag ROCKS!!!
User avatar
Bullet Catcher
Captain
Captain
Posts: 564
Joined: Sat Dec 23, 2006 7:56 am
Location: Escondido, California

Re: BZWorkBench Status

Post by Bullet Catcher »

In Subversion revision 21343 I added a test for the presence of the scroll_to() method, and added #ifdef blocks to call it only when it exists. This allows the use of FLTK 1.1.9. I don't have FLTK 1.3 to test this change with, but I think I got it right.
Post Reply