Author Topic: Scriptbasic Build Linux  (Read 63238 times)

Offline AIR

  • BASIC Developer
  • Posts: 932
  • Coder
Re: Scriptbasic Build Linux
« Reply #15 on: November 28, 2018, 01:31:00 PM »
Is GD used for anything?

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #16 on: November 28, 2018, 01:37:44 PM »
Before a release, I would like to get IUP doing direct callbacks to SB functions/subs (like the COM module) rather than returning to SB on every event.

Offline AIR

  • BASIC Developer
  • Posts: 932
  • Coder
Re: Scriptbasic Build Linux
« Reply #17 on: November 28, 2018, 01:40:31 PM »
I'm killing GD, since you didn't answer my question about it.

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #18 on: November 28, 2018, 01:41:10 PM »
Quote
Is GD used for anything?

For web programming. It let's you build / modify graphic images on-the-fly to use in your content.

Offline AIR

  • BASIC Developer
  • Posts: 932
  • Coder
Re: Scriptbasic Build Linux
« Reply #19 on: November 28, 2018, 01:43:53 PM »
I removed it from my repository.

Also, since we have iodbc is odbc required?

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #20 on: November 28, 2018, 01:46:35 PM »
I don't see the need for a duplicate functioning library. IODBC sounds like a good standard to me.

A SB user used GD to map weather buoys over satellite images for real time ocean weather navigation.


« Last Edit: November 28, 2018, 02:23:52 PM by John »

Offline AIR

  • BASIC Developer
  • Posts: 932
  • Coder
Re: Scriptbasic Build Linux
« Reply #21 on: November 28, 2018, 02:42:21 PM »
I'll leave that module to you.  Reason being that I don't run a GUI on my Linux Dev box, and in order to build the GD module a bunch of X11-related stuff would get installed.

The rest of the modules are set.  Output from my Linux box:

Extension interface version is 11
Compilation: Nov 28 2018 17:40:30
mkdir: cannot create directory ‘/home/riveraa/src/sb-dev/bin/var/httpd’: File exists
ar: creating /home/riveraa/src/sb-dev/bin/lib/libscriba.a
scriba executable OK
sbhttpd executable OK
libscriba library OK
MODULE mysql:    dll OK   lib OK   bas OK
MODULE sqlite:   dll OK   lib OK   bas OK
MODULE odbc:     dll OK   lib OK   bas OK
MODULE dbg:      dll OK   lib OK   bas OK
MODULE mxml:     dll OK   lib OK   bas OK
MODULE slre:     dll OK   lib OK   bas OK
MODULE sdbg:     dll OK   lib OK   bas OK
MODULE mt:       dll OK   lib OK   bas OK
MODULE cgi:      dll OK   lib OK   bas OK
MODULE curses:   dll OK   lib OK   bas OK
MODULE t:        dll OK   lib OK   bas OK
MODULE trial:    dll OK   lib OK   bas OK
MODULE hash:     dll OK   lib OK   bas OK
MODULE curl:     dll OK   lib OK   bas OK
MODULE ux:       dll OK   lib OK   bas OK
MODULE zlib:     dll OK   lib OK   bas OK
MODULE json:     dll OK   lib OK   bas OK


AIR.

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #22 on: November 28, 2018, 02:51:19 PM »
Quote
I'll leave that module to you.  Reason being that I don't run a GUI on my Linux Dev box, and in order to build the GD module a bunch of X11-related stuff would get installed.

I plan to have a repo of extension modules that are use at your own risk and not part of the current distribution.

That sure looks nice. It's been a while since I've seen a clean build with all OK  being the outcome.

Whenever you're ready, please post the Appimage for the build. Hopefully we will get more people to use it and follow along with challenges here on the forum.
« Last Edit: November 28, 2018, 02:57:49 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #23 on: November 28, 2018, 03:20:21 PM »
A clean build here as well. Great job AIR. You are surly a SB-DEV master chief.  8)

Code: [Select]
jrs@jrs-laptop:~/sb/sb-dev-master$ ./setup
This is unix cwd=/home/jrs/sb/sb-dev-master/
creating configure.jim
creating subdirectories for compilation output files
compiling Makefile using the Jamal preprocessor
running syntaxer.pl to generate the syntax defintion C language tables from syntax.def
running generrh.pl to generate the error messages from errors.def
running lmt_make.pl for all lmt*.def files
scanning all subdirectories to find all C source files
there are 3144 files in the source tree
there are 123 C source files in the source tree
configuring module ftpd
This is unix cwd=/home/jrs/sb/sb-dev-master/
The module ftpd is not for unix.
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
configuring module curl
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/curl.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module sqlite
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/sqlite.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module dbg
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/dbg.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
 extracting header from dbg_con.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module trial
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/trial.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module t
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/t.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module mxml
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/mxml.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from mxml-node.c
 extracting header from interface.c
 extracting header from mxml-entity.c
 extracting header from mxml-private.c
 extracting header from mxml-file.c
 extracting header from mxml-get.c
 extracting header from mxml-index.c
 extracting header from mxml-search.c
 extracting header from mxml-string.c
 extracting header from mxml-set.c
 extracting header from mxml-attr.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module cgi
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/cgi.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
 extracting header from cgi.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module mysql
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/mysql.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module ux
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/ux.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module json
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/json.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
 extracting header from parson.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module curses
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/curses.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module hash
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/hash.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module zlib
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/zlib.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module nt
This is unix cwd=/home/jrs/sb/sb-dev-master/
The module nt is not for unix.
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
configuring module sdbg
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/sdbg.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
 extracting header from sdbg_con.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module cio
This is unix cwd=/home/jrs/sb/sb-dev-master/
The module cio is not for unix.
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
configuring module odbc
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/odbc.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module slre
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/slre.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
 extracting header from slre.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module mt
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/mt.a
This is unix cwd=/home/jrs/sb/sb-dev-master/
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
Module was compiled fine
configuring module dyc
This is unix cwd=/home/jrs/sb/sb-dev-master/
The module dyc is not for unix.
executing headerer for the C files
 extracting header from interface.c
creating the module object directory
Processing jamal files creating makefile
making compile command file(s)
starting compilation
ar: creating /home/jrs/sb/sb-dev-master/bin/lib/lscriba.a
ScriptBasic v2.1
Variation >>STANDARD<< build 1
Magic value 859037496
Node size is 24
Extension interface version is 11
Compilation: Nov 28 2018 15:18:40
mkdir: cannot create directory ‘/home/jrs/sb/sb-dev-master/bin/var/httpd’: File exists
ar: creating /home/jrs/sb/sb-dev-master/bin/lib/libscriba.a
scriba executable OK 
sbhttpd executable OK 
libscriba library OK 
MODULE curl:     dll OK   lib OK   bas OK 
MODULE sqlite:   dll OK   lib OK   bas OK 
MODULE dbg:      dll OK   lib OK   bas OK 
MODULE trial:    dll OK   lib OK   bas OK 
MODULE t:        dll OK   lib OK   bas OK 
MODULE mxml:     dll OK   lib OK   bas OK 
MODULE cgi:      dll OK   lib OK   bas OK 
MODULE mysql:    dll OK   lib OK   bas OK 
MODULE ux:       dll OK   lib OK   bas OK 
MODULE json:     dll OK   lib OK   bas OK 
MODULE curses:   dll OK   lib OK   bas OK 
MODULE hash:     dll OK   lib OK   bas OK 
MODULE zlib:     dll OK   lib OK   bas OK 
MODULE sdbg:     dll OK   lib OK   bas OK 
MODULE odbc:     dll OK   lib OK   bas OK 
MODULE slre:     dll OK   lib OK   bas OK 
MODULE mt:       dll OK   lib OK   bas OK 
jrs@jrs-laptop:~/sb/sb-dev-master$


Okay Tomaaz, it's soup.  ;D
« Last Edit: November 28, 2018, 03:34:47 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #24 on: November 28, 2018, 09:21:09 PM »
The updated public SB-DEV repo is now available in the sandbox.

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #25 on: November 28, 2018, 10:17:51 PM »
It would be great if you could post a list of apt-get install commands to install the needed dependencies until something more automated can be conceived.

Offline AIR

  • BASIC Developer
  • Posts: 932
  • Coder
Re: Scriptbasic Build Linux
« Reply #26 on: November 28, 2018, 11:01:25 PM »
Attached are two appimages, one for Linux the other for Raspberry Pi.

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #27 on: November 28, 2018, 11:12:13 PM »
You have exceeded your extra points rewards and will have to accept my gratitude instead. This kind of progress is what makes open source projects so much fun.

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #28 on: November 28, 2018, 11:23:46 PM »
The Rasberry Pi build was something Peter suggested sometime ago but never got around to it. You have made Peter happy, I'm sure.

Offline John

  • Forum Support / SB Dev
  • Posts: 3571
    • ScriptBasic Open Source Project
Re: Scriptbasic Build Linux
« Reply #29 on: November 28, 2018, 11:48:58 PM »
Script BASIC on Linux can't be any easier to use. All I did was extract sb from the archive and sudo cp sb /usr/bin.


jrs@jrs-laptop:~/sb/abcc/json$ sb create.bas
jrs@jrs-laptop:~/sb/abcc/json$ cat root.json
{
    "client1": {
        "name": "Joe Blow",
        "age": 56,
        "address": {
            "city": "Tarrytown",
            "state": "NY",
            "zip": "10891"
        }
    },
    "client2": {
        "name": "John Smith",
        "age": 86,
        "address": {
            "city": "Cupertino",
            "state": "CA",
            "zip": "N\/A"
        }
    }
}
jrs@jrs-laptop:~/sb/abcc/json$ sb parse2.bas
----------------------------------------
Joe Blow
56
Tarrytown
NY
10891
----------------------------------------
John Smith
86
Cupertino
CA
N/A
----------------------------------------
jrs@jrs-laptop:~/sb/abcc/json$ sb
Usage: basic [options] program.bas

options: -o file_name
            specify output file, save binary format to file but don't execute
         -b file_name
            load binary format from file and execute
         -n
            do not use cache (no save, no load)
         -e
            execute after binary format was saved
         -v
            print version info and stop
         -c
            inform scriba that this is a CGI script.
         -C
            save C program output.
         -E
            save executable output. (may not work under some OS)
         -p preprocessor
            specify external preprocessor.
         -i preprocessor
            specify internal preprocessor.
         -f configurationfile
            specify configuration file
         -d
            debug module error (UNIX only)
         -k text_config_file
            compile the configuration file to binary
         -D
            dump the configuration file in text format
jrs@jrs-laptop:~/sb/abcc/json$ sb -v
ScriptBasic v2.1
Variation >>STANDARD<< build 1
Magic value 859037497
Node size is 24
Extension interface version is 11
Compilation: Nov 29 2018 00:20:12
jrs@jrs-laptop:~/sb/abcc/json$

« Last Edit: November 29, 2018, 12:09:58 AM by John »