[openbeos] Re: Building

  • From: Eike Dehling <e.e.dehling@xxxxxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Thu, 31 Oct 2002 20:34:20 +0100

Actually as i said below i installed BeOS R5 from the booted image file, onto
my harddrive. and it doesn't build there. By the way, i do have some
knowledge of kernel code, but not makefiles etc.
When i compile jam tells me

'error stating file "floppy.x86"'

Anyhow, thanks for the tips. at least i have some idea about what is wrong under BSD:)


At 06:09 PM 10-31-2002 +0100, you wrote:

First of all, take in mind that most of the project people build
OpenBeOS on BeOS : the main reason is that the gcc and ld used to build
this kernel use some specific stuff only implement in the gcc version
for BeOS.

So, if you're starting on this and don't have a good knowledge of kernel
code, makefiles, jamfiles, start under BeOS.

If you have some more knowledge I can start by telling you to take a
look at BeBuild.h header. You will discover in this header that all the
project build if you have __INTEL__ define. This define is a default
under the gcc version of BeOS not for all other gcc.

For example, for me, I allways use two build systems : a BeOS one and
Linux one. Under BeOS I use the standart gcc tree. Under Linux I use gcc

In this last environment, I had to define manually __INTEL__. To adjust
this take a look at Jamrules files in the main directory of the source
tree and search for something like KERNEL_CFLAGS where you will just
have to define -D__INTEL__. You can use some more treaks but I found
this one the most convenient for cross-platform developpement.

Other, when you define __INTEL__ you will define some EXPORT_XX flags
which point out on some declspec(dllimport) or declspec(dllexport).
Those declaration are only understandable by the BeOS gcc. You're xBSD
or Linux one will never accept those syntaxes. Those syntaxes are only
valid for PE target (Windows NT executables).So, to solve the problem,
only touch BeBuild.h and define those IMPORT_XXX flags with nothing
behind : delete declspec(dllimport) or declspec(dllexport) and you will
solve the problem.

I don't pretend, it will solve all of your building problems but I think
this a starting point. If you want to work on kernel, you will have to
make some efforts :

help you, and the kernel team will help you ;-)

Good Luck and Welcome

Thierry (BeFree)

Le jeu 31/10/2002 à 15:44, Eike Dehling a écrit :
> > > Any solutions? Has anyone tried to build under BSD yet?
> >
> >try building with "jam floppy", this should only build the
> >kernel and may work.
> Guess not. It struggled already with variable declarations.
> After i tried compiling and editing the BuildConfig for 2 hours i finally
> got sick of it.
> As suggested by some in a previous compiling thread, i installed BeOS on to my
> disk (over BSD) I ran ./configure, jam, and guess what: it builds. happy as
> i am, i
> go to the objects/beos.x86 dir, and there is no floppy.x86 file ...
> jam'med again, watched the output: it complains about 'cannot state file
> "floppy.x86"'
> (there is enough space on the disk, i even tried 'touch'-ing the file first)
> what does that mean? what do i do about it?
> Eike.

Other related posts: