Subject firebird 1.5 + openbsd/i386
Author Julien TOUCHE
i'm currently trying to compile & make a port of firebird on openbsd,
but have a few problems.

- under openbsd 3.4-stable (with gcc-3.2.3)
when compiling:
$ eg++ -DBOOT_BUILD -I../src/include/gen -I../src/include
-DPROD_BUILD -c ../src/jrd/gds.cpp -o ../temp/boot.gpre/jrd/gds.o
../src/jrd/gds.cpp: In function `int gds__msg_open(void**, TEXT*)':
../src/jrd/gds.cpp:1423: warning: comparison is always false due to limited
range of data type
../src/jrd/gds.cpp: In function `void gds__temp_dir(TEXT*)':
../src/jrd/gds.cpp:2262: `WORKFILE' undeclared (first use this function)
../src/jrd/gds.cpp:2262: (Each undeclared identifier is reported only
once for
each function it appears in.)

WORKFILE is defined in file_params.h, so ...

- on 3.4-current (with gcc-3.3.2)

gmake[2]: Entering directory
`/export/tmp/ports-obj/firebird-1.5.0.4290/firebird-1.5.0.4290/src'
gmake -f ../gen/Makefile.libfbcommon libfbcommon
gmake[3]: Entering directory
`/export/tmp/ports-obj/firebird-1.5.0.4290/firebird-1.5.0.4290/src'
eg++ -O2 -I../src/include/gen -I../src/include -DPROD_BUILD
-I../src/include/gen -I../src/include -DPROD_BUILD
-I../src/include/gen -I../src/include -DPROD_BUILD -c
../src/common/classes/alloc.cpp -o
../temp/libfbcommon/common/classes/alloc.o
In file included from ../src/include/firebird.h:60,
from ../src/common/classes/alloc.cpp:26:
../src/include/fb_exception.h:26:21: exception: No such file or directory
In file included from ../src/include/firebird.h:60,
from ../src/common/classes/alloc.cpp:26:
../src/include/fb_exception.h:33: error: `exception' is not a class or
namespace
../src/include/fb_exception.h:33: error: invalid base-class specification
../src/include/fb_exception.h:50: error: `exception' is not a class or
namespace
../src/include/fb_exception.h:50: error: invalid base-class specification
../src/include/fb_exception.h:59: error: `exception' is not a class or
namespace
../src/include/fb_exception.h:59: error: invalid base-class specification
../src/include/fb_exception.h:68: error: `exception' is not a class or
namespace
../src/include/fb_exception.h:68: error: invalid base-class specification
../src/include/fb_exception.h:77: error: `exception' is not a class or
namespace
../src/include/fb_exception.h:77: error: invalid base-class specification
In file included from ../src/include/firebird.h:75,
from ../src/common/classes/alloc.cpp:26:
../src/common/classes/alloc.h:33:19: cstddef: No such file or directory
In file included from ../src/common/classes/alloc.h:36,
from ../src/include/firebird.h:75,
from ../src/common/classes/alloc.cpp:26:
../src/common/classes/tree.h: In member function `bool
Firebird::BePlusTree<Value, Key, Allocator, KeyOfValue, Cmp, LeafCount,
NodeCount>::add(const Value&)':
../src/common/classes/tree.h:515: error: parse error before `&' token
../src/common/classes/tree.h: At global scope:
../src/common/classes/tree.h:520: error: parse error before `if'
../src/common/classes/tree.h:525: error: syntax error before `->' token
../src/common/classes/tree.h:526: error: syntax error before `->' token
../src/common/classes/tree.h:529: error: `newLeaf' was not declared in this
scope
../src/common/classes/tree.h:530: error: syntax error before `*' token
../src/common/classes/tree.h:532: error: parse error before `try'
../src/common/classes/tree.h:537: error: syntax error before `->' token
../src/common/classes/tree.h:542: error: syntax error before `->' token
../src/common/classes/tree.h:543: error: syntax error before `*' token
../src/common/classes/tree.h:549: error: syntax error before `->' token
../src/common/classes/tree.h:553: error: syntax error before `::' token
../src/common/classes/tree.h:554: error: syntax error before `->' token
../src/common/classes/tree.h:555: error: syntax error before `->' token
../src/common/classes/tree.h:556: error: syntax error before `::' token
../src/common/classes/tree.h:557: error: syntax error before `->' token
../src/common/classes/tree.h:566: error: syntax error before `->' token
../src/common/classes/tree.h:570: error: syntax error before `::' token
../src/common/classes/tree.h:571: error: syntax error before `->' token
../src/common/classes/tree.h:572: error: syntax error before `->' token
../src/common/classes/tree.h:573: error: syntax error before `::' token
../src/common/classes/tree.h:574: error: syntax error before `->' token
../src/common/classes/tree.h:581: error: syntax error before `*' token
../src/common/classes/tree.h:587: error: syntax error before `->' token
../src/common/classes/tree.h:591: error: syntax error before `::' token
../src/common/classes/tree.h:592: error: syntax error before `->' token
../src/common/classes/tree.h:593: error: syntax error before `->' token
../src/common/classes/tree.h:594: error: syntax error before `::' token
../src/common/classes/tree.h:595: error: syntax error before `->' token
../src/common/classes/tree.h:597: error: ISO C++ forbids declaration of `
newNode' with no type
../src/common/classes/tree.h:597: error: conflicting types for `int newNode'
../src/common/classes/tree.h:529: error: previous declaration as
`void*newNode'
../src/common/classes/tree.h:597: error: `newList' was not declared in this
scope
../src/common/classes/tree.h:598: error: ISO C++ forbids declaration of `
nodeList' with no type
../src/common/classes/tree.h:598: error: base operand of `->' is not a
pointer
../src/common/classes/tree.h:599: error: syntax error before `++' token
../src/common/classes/tree.h:604: error: ISO C++ forbids declaration of `
nodeList' with no type
../src/common/classes/tree.h:604: error: redefinition of `int nodeList'
../src/common/classes/tree.h:598: error: `int nodeList' previously
defined here
../src/common/classes/tree.h:604: error: `pool' was not declared in this
scope
../src/common/classes/tree.h:604: error: `NodeList' was not declared in
this
scope
../src/common/classes/tree.h:604: error: parse error before `(' token
../src/common/classes/tree.h:605: error: syntax error before `->' token
../src/common/classes/tree.h:606: error: syntax error before `->' token
../src/common/classes/tree.h:607: error: syntax error before `::' token
../src/common/classes/tree.h:608: error: syntax error before `::' token
../src/common/classes/tree.h:609: error: syntax error before `->' token
../src/common/classes/tree.h:610: error: ISO C++ forbids declaration of
`root'
with no type
../src/common/classes/tree.h:611: error: syntax error before `++' token
../src/common/classes/tree.h:615: error: parse error before `*' token
../src/common/classes/tree.h:616: error: syntax error before `->' token
../src/common/classes/tree.h:617: error: ISO C++ forbids declaration of `
newNode' with no type
../src/common/classes/tree.h:617: error: redefinition of `int newNode'
../src/common/classes/tree.h:597: error: `int newNode' previously
defined here
../src/common/classes/tree.h:617: error: `lower' was not declared in
this scope
../src/common/classes/tree.h:618: error: syntax error before `--' token
../src/common/classes/tree.h:620: error: ISO C++ forbids declaration of `
addErrorValue' with no type
../src/common/classes/tree.h:620: error: `ItemList' was not declared in
this
scope
../src/common/classes/tree.h:620: error: parse error before `)' token
../src/common/classes/tree.h:621: error: parse error before `*' token
../src/common/classes/tree.h:622: error: syntax error before `->' token
In file included from ../src/include/firebird.h:75,
from ../src/common/classes/alloc.cpp:26:
../src/common/classes/alloc.h:245: error: parse error before `{' token
../src/common/classes/alloc.h:358: error: ISO C++ forbids declaration of `
ptrdiff_t' with no type
../src/common/classes/alloc.h:358: error: parse error before `;' token
../src/common/classes/alloc.cpp:28:15: new: No such file or directory
../src/common/classes/alloc.cpp: In function `void
Firebird::pool_out_of_memory()':
../src/common/classes/alloc.cpp:64: error: invalid use of undefined type
`class
std::bad_alloc'
<internal>:64: error: forward declaration of `class std::bad_alloc'
../src/common/classes/alloc.cpp: In member function `void
Firebird::MemoryPool::addFreeBlock(Firebird::MemoryBlock*)':
../src/common/classes/alloc.cpp:513: error: parse error before `&' token
../src/common/classes/alloc.cpp:517: error: `temp' undeclared (first use
this
function)
../src/common/classes/alloc.cpp:517: error: (Each undeclared identifier is
reported only once for each function it appears in.)
../src/common/classes/alloc.cpp: At global scope:
../src/common/classes/alloc.cpp:628: error: parse error before `}' token
gmake[3]: *** [../temp/libfbcommon/common/classes/alloc.o] Error 1
gmake[3]: Leaving directory
`/export/tmp/ports-obj/firebird-1.5.0.4290/firebird-1.5.0.4290/src'

if someone has any ideas ?

when was the last sucessful test on openbsd ?

note than i take a look to freebsd port
http://www.freebsd.org/cgi/cvsweb.cgi/ports/databases/firebird/

Regards

Julien