New user problems with OSLib

Mark Beerling beerling at freenet.de
Wed Dec 31 10:57:02 GMT 2008


Hallo Everyone

this Christmas holiday I wanted to do something useful so I decided to 
convert one of my programs from Acorns/Castles C/C++ compiler to the 
GCC compiler and to use OSLib.

I downloaded OSLib V6.9 with OSLibSupport and the !Dustbin program as 
an example. I'm currently using GCC Version 3.4.4 Release 3 under ROS 
4.39.

I've managed to change the source of my program so that the program 
compiles with OSLib & GCC.

Problem #1
==========

In order to get the program to compile I had to change the header file 
'Systypes' in OSLibSupport.h as follows:

Line 81:
commented out
// typedef os_error _kernel_oserror;  // from kernel.h


Line 98:
changed
    #include "toolboxtypes.H"
to
    #include "toolboxtypes.h"



Problem #2
==========

With my program and the !Dustbin example (using Acorn C) the following 
link error was produced:


!RunImage does not yet exist
Link -aif -c++ -o !RunImage @.o.main @.o.MainWnd @.o.DB C:o.Stubs  
OSLibSupport:o.OSLibSupport32  OSLib:o.OSLib32
ARM Linker: (Error) Undefined symbol(s).
ARM Linker:     event_register_toolbox_handler, referred to from 
@.o.main.
ARM Linker:     event_register_message_handler, referred to from 
@.o.main.
ARM Linker:     event_initialise, referred to from @.o.main.
ARM Linker:     event_set_mask, referred to from @.o.main.
ARM Linker:     event_poll, referred to from @.o.main.
ARM Linker:     event_deregister_message_handler, referred to from 
@.o.MainWnd.
ARM Linker:     event_register_wimp_handler, referred to from 
@.o.MainWnd.
ARM Linker:     ___arm_alloca_longjmp, referred to from 
OSLibSupport:o.OSLibSupport32(o32).
ARM Linker:     Err_MakeError, referred to from 
OSLibSupport:o.OSLibSupport32(o32).
ARM Linker: Errors in link, no output generated.
ARM Linker: finished,  10 informational, 0 warning and 1 error 
messages.
AMU: *** exit (1) ***

AMU: *** 'all' not re-made because of errors ***


I examined the contents of the library OSLibSupport (using LibFile -s) 
and found that the event_* functions required are not in the library.
They are not in Version 6.80 but are in version 6.70 (APCS-R (26-bit)) 
which is obsolete. I'm now a bit confused.

The version 6.90 has the required events_* headers, but the functions 
are not in the library. Also the library comes in two flavours: 
OSLibSupport and OSLibSupport32. Is not the library without the '32' 
extension the version for APCS-R? Why are the event_* functions not in 
the library.

Hopefully someone can help me!

Regards and a happy new year

-- 
Mark Beerling



More information about the oslib-user mailing list