Framework woes...

BlitzMax Forums/BlitzMax Programming/Framework woes...

DH(Posted 2009) [#1]
I'll try to move this here..

I thought maybe if I use the framework stuff, it would cut out this glib. So put these frameworks at the top of the main file per this document:
For example, to create a 'stripped down' BASIC application, you can use the BRL.Basic framework:

Framework BRL.Basic 'create a stripped down app

Print "Hello World!"
When a building a multifile application, the framework (if any) found in the main source file is automatically passed to all 'child' files in the application. However, if you change this 'default' framework, you will need to 'rebuild all' for the change to affect other files.



I have a multifile app, but I don't know what the "rebuild all" is (or where to find it...).

My frameworks are:
Framework BRL.Basic
Framework BRL.System
Framework BRL.Socket
Framework BRL.Bank
Framework BRL.SocketStream
Framework BRL.LinkedList
Framework BRL.StandardIO
Framework BRL.Map

However when i compile it, one of the includes says that a 'Print' isnt found.... But I have the StandardIO framework right there!!!!


GfK(Posted 2009) [#2]
Use Framework for the first one, and Import for the rest.

Framework BRL.Basic
Import BRL.System
Import BRL.Socket
Import BRL.Bank
Import BRL.SocketStream
Import BRL.LinkedList
Import BRL.StandardIO
Import BRL.Map



DH(Posted 2009) [#3]
That worked, however I am still getting an error on my linux server when I try to run the app:
./MainApp.debug: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./MainApp.debug)

I know it needs those libraries, however I cannot modify the server OS in any way (leased server). Is there a way to force it not to use the GLIB?


GfK(Posted 2009) [#4]
Can't help you there I'm afraid, have no idea what GLIB is.


jpavel(Posted 2009) [#5]
Glibc is the standard C library used on Linux and as such, you won't be able to compile your program not to use it. The error you're getting is because the version of glibc on your server is older than on the machine you compiled your program on. You should recompile your program on a machine using the same Linux distribution as your server, or on the server itself using Blitz's command line tools.

~Jesse


Gabriel(Posted 2009) [#6]
It could be the modules, and not the program itself though, couldn't it? Might be worth rebuilding modules completely, if that's possible.


DH(Posted 2009) [#7]
when I try to run bmk on the server itself, it gives the error:
./bmk: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./bmk)


and I belive i need to use bmk to recompile the modules dont I?

Arg, I had no administration access to update the libs.... And going through the company I lease the server through to request it might take a while before they say "no, it might impact other users on the box"....

I saw posts somewhere that said a pre 1.30 build of blitzmax doesnt use the GLIBC_2.4 however I would hate to sacrifice stability by going to an earlier version of Bltiz...

This sux :-(


Gabriel(Posted 2009) [#8]
Yeah, bmk is the compiler. Technically, you do get the source of BMK (it's in the src folder) but I'm assuming that's going to become a Catch22, because BMK is going to rely on modules in order to compile anyway.

When you say pre-1.30 do you mean including 1.30 or not? I'm still using 1.30 and there's no real stability issue. I can't be so sure about 1.28 though, as it's been a while.


DH(Posted 2009) [#9]
I saw a post on bild 150 of 1.31 having this issue, so it's hard to say. I'll just contact the company and request they add it :-(

Thanks for your help guys!