BASIC Developer & Support Resources > Scripting Languages

Scriptbasic Build Linux

(1/52) > >>

John:
Yours works.

I need to get the SB-DEV you generated able to create Linux rather than Mac code. I'm pretty rusty with Peter's build system since I have been creating my own gcc make files on Windows and Linux has been static for the most part.

AIR:
Re grab it, I reconfigured it so it should work now.  Just tested.

Just do a "git pull".

John:
Thanks AIR!

John:
Much better then the last  time I tried this.

Good news!

The json.so extension module I created with your updated SB source works fine.



--- Code: ---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 3066 files in the source tree
there are 132 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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/ftpd/interface.c
Processing jamal files creating makefile
configuring module curl
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/curl.a
ld: //usr/lib/x86_64-linux-gnu/libcurl.a(libcurl_gnutls_la-netrc.o): in function `Curl_parsenetrc':
(.text+0x333): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: //usr/lib/x86_64-linux-gnu/libcurl.a(libcurl_gnutls_la-curl_addrinfo.o): in function `Curl_getaddrinfo_ex':
(.text+0x83): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: //usr/lib/x86_64-linux-gnu/libc.a(malloc.o): relocation R_X86_64_TPOFF32 against `tcache' can not be used when making a shared object; recompile with -fPIC
ld: //usr/lib/x86_64-linux-gnu/libc.a(init-first.o): relocation R_X86_64_PC32 against symbol `__environ' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: bad value
make: *** [makefile:13: /home/jrs/sb/sb-dev-master/bin/mod/dll/curl.so] Error 1
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/curl/interface.c
Processing jamal files creating makefile
ERROR: SO was not created for some reason.
configuring module sqlite
interface.c:62:10: fatal error: sqlite3.h: No such file or directory
 #include <sqlite3.h>
          ^~~~~~~~~~~
compilation terminated.
make: *** [makefile:19: /home/jrs/sb/sb-dev-master/bin/mod/obj/sqlite/s_interface.o] Error 1
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/sqlite/interface.c
Processing jamal files creating makefile
ERROR: The module did not compile
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
Creating typical makefile.jam for the module
file: interface.c
file: dbg_con.c
determining dependency from extensions/dbg/interface.c
determining dependency from extensions/dbg/dbg_con.c
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/trial/interface.c
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/t/interface.c
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
Creating typical makefile.jam for the module
file: mxml-node.c
file: interface.c
file: mxml-entity.c
file: mxml-private.c
file: mxml-file.c
file: mxml-get.c
file: mxml-index.c
file: mxml-search.c
file: mxml-string.c
file: mxml-set.c
file: mxml-attr.c
determining dependency from extensions/mxml/mxml-node.c
determining dependency from extensions/mxml/interface.c
determining dependency from extensions/mxml/mxml-entity.c
determining dependency from extensions/mxml/mxml-private.c
determining dependency from extensions/mxml/mxml-file.c
determining dependency from extensions/mxml/mxml-get.c
determining dependency from extensions/mxml/mxml-index.c
determining dependency from extensions/mxml/mxml-search.c
determining dependency from extensions/mxml/mxml-string.c
determining dependency from extensions/mxml/mxml-set.c
determining dependency from extensions/mxml/mxml-attr.c
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
Creating typical makefile.jam for the module
file: interface.c
file: cgi.c
determining dependency from extensions/cgi/interface.c
determining dependency from extensions/cgi/cgi.c
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/mysql/interface.c
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/ux/interface.c
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
Creating typical makefile.jam for the module
file: interface.c
file: parson.c
determining dependency from extensions/json/interface.c
determining dependency from extensions/json/parson.c
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
ld: //usr/lib/x86_64-linux-gnu/libcurses.a(lib_beep.o): relocation R_X86_64_PC32 against undefined symbol `cur_term' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: bad value
make: *** [makefile:13: /home/jrs/sb/sb-dev-master/bin/mod/dll/curses.so] Error 1
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/curses/interface.c
Processing jamal files creating makefile
ERROR: SO was not created for some reason.
configuring module gd
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/gd.a
ld: //usr/lib/x86_64-linux-gnu/libc.a(malloc.o): relocation R_X86_64_TPOFF32 against `tcache' can not be used when making a shared object; recompile with -fPIC
ld: //usr/lib/x86_64-linux-gnu/libc.a(init-first.o): relocation R_X86_64_PC32 against symbol `__environ' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: bad value
make: *** [makefile:13: /home/jrs/sb/sb-dev-master/bin/mod/dll/gd.so] Error 1
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/gd/interface.c
Processing jamal files creating makefile
ERROR: SO was not created for some reason.
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/hash/interface.c
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
ld: //usr/lib/x86_64-linux-gnu/libc.a(malloc.o): relocation R_X86_64_TPOFF32 against `tcache' can not be used when making a shared object; recompile with -fPIC
ld: //usr/lib/x86_64-linux-gnu/libc.a(init-first.o): relocation R_X86_64_PC32 against symbol `__environ' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: bad value
make: *** [makefile:13: /home/jrs/sb/sb-dev-master/bin/mod/dll/zlib.so] Error 1
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/zlib/interface.c
Processing jamal files creating makefile
ERROR: SO was not created for some reason.
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/nt/interface.c
Processing jamal files creating makefile
configuring module re
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/re.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 regex_test.c
 extracting header from regerror.c
 extracting header from regfree.c
 extracting header from regexec.c
 extracting header from regcomp.c
creating the module object directory
Creating typical makefile.jam for the module
file: interface.c
file: regex_test.c
file: regerror.c
file: regfree.c
file: regexec.c
file: regcomp.c
determining dependency from extensions/re/interface.c
determining dependency from extensions/re/regex_test.c
determining dependency from extensions/re/regerror.c
determining dependency from extensions/re/regfree.c
determining dependency from extensions/re/regexec.c
determining dependency from extensions/re/regcomp.c
Processing jamal files creating makefile
Module was compiled fine
configuring module iodbc
ar: creating /home/jrs/sb/sb-dev-master/bin/mod/lib/iodbc.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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/iodbc/interface.c
Processing jamal files creating makefile
Module was compiled fine
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
Creating typical makefile.jam for the module
file: interface.c
file: sdbg_con.c
determining dependency from extensions/sdbg/interface.c
determining dependency from extensions/sdbg/sdbg_con.c
Processing jamal files creating makefile
Module was compiled fine
configuring module xml
interface.c:20:10: fatal error: libxml/parser.h: No such file or directory
 #include <libxml/parser.h>
          ^~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile:19: /home/jrs/sb/sb-dev-master/bin/mod/obj/xml/s_interface.o] Error 1
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/xml/interface.c
Processing jamal files creating makefile
ERROR: The module did not compile
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/cio/interface.c
Processing jamal files creating makefile
configuring module odbc
interface.c:11:10: fatal error: sql.h: No such file or directory
 #include <sql.h>
          ^~~~~~~
compilation terminated.
make: *** [makefile:19: /home/jrs/sb/sb-dev-master/bin/mod/obj/odbc/s_interface.o] Error 1
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/odbc/interface.c
Processing jamal files creating makefile
ERROR: The module did not compile
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
Creating typical makefile.jam for the module
file: interface.c
file: slre.c
determining dependency from extensions/slre/interface.c
determining dependency from extensions/slre/slre.c
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/mt/interface.c
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
Creating typical makefile.jam for the module
file: interface.c
determining dependency from extensions/dyc/interface.c
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 859037495
Node size is 24
Extension interface version is 11
Compilation: Nov 27 2018 18:24:04
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
ld: /home/jrs/sb/sb-dev-master/bin/obj/filesys.o: in function `file_chown':
filesys.c:(.text+0x1005): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: /home/jrs/sb/sb-dev-master/bin/obj/filesys.o: in function `file_getowner':
filesys.c:(.text+0x109e): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: /home/jrs/sb/sb-dev-master/bin/obj/filesys.o: in function `file_gethost':
filesys.c:(.text+0x1387): warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: filesys.c:(.text+0x142c): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: /home/jrs/sb/sb-dev-master/bin/obj/dynlolib.o: in function `dynlolib_LoadLibrary':
dynlolib.c:(.text+0x90): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: //usr/lib/x86_64-linux-gnu/libpthread.a(lowlevellock.o): in function `__lll_lock_wait_private':
/build/glibc-B9XfQf/glibc-2.28/nptl/../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:46: multiple definition of `__lll_lock_wait_private'; //usr/lib/x86_64-linux-gnu/libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
ld: //usr/lib/x86_64-linux-gnu/libpthread.a(lowlevellock.o): in function `__lll_unlock_wake_private':
/build/glibc-B9XfQf/glibc-2.28/nptl/../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:296: multiple definition of `__lll_unlock_wake_private'; //usr/lib/x86_64-linux-gnu/libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
ld: //usr/lib/x86_64-linux-gnu/libc.a(malloc.o): relocation R_X86_64_TPOFF32 against `tcache' can not be used when making a shared object; recompile with -fPIC
ld: //usr/lib/x86_64-linux-gnu/libc.a(inet_ntoa.o): relocation R_X86_64_TPOFF32 against `buffer' can not be used when making a shared object; recompile with -fPIC
ld: //usr/lib/x86_64-linux-gnu/libpthread.a(elision-lock.o): .preinit_array section is not allowed in DSO
ld: failed to set dynamic section sizes: nonrepresentable section on output
make: *** [bin/make/Makefile:12: /home/jrs/sb/sb-dev-master/bin/lib/libscriba.so] Error 1
ld: //usr/lib/x86_64-linux-gnu/libcurl.a(libcurl_gnutls_la-netrc.o): in function `Curl_parsenetrc':
(.text+0x333): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: //usr/lib/x86_64-linux-gnu/libcurl.a(libcurl_gnutls_la-curl_addrinfo.o): in function `Curl_getaddrinfo_ex':
(.text+0x83): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: //usr/lib/x86_64-linux-gnu/libc.a(malloc.o): relocation R_X86_64_TPOFF32 against `tcache' can not be used when making a shared object; recompile with -fPIC
ld: //usr/lib/x86_64-linux-gnu/libc.a(init-first.o): relocation R_X86_64_PC32 against symbol `__environ' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: bad value
make: *** [makefile:13: /home/jrs/sb/sb-dev-master/bin/mod/dll/curl.so] Error 1
interface.c:62:10: fatal error: sqlite3.h: No such file or directory
 #include <sqlite3.h>
          ^~~~~~~~~~~
compilation terminated.
make: *** [makefile:19: /home/jrs/sb/sb-dev-master/bin/mod/obj/sqlite/s_interface.o] Error 1
ld: //usr/lib/x86_64-linux-gnu/libcurses.a(lib_beep.o): relocation R_X86_64_PC32 against undefined symbol `cur_term' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: bad value
make: *** [makefile:13: /home/jrs/sb/sb-dev-master/bin/mod/dll/curses.so] Error 1
ld: //usr/lib/x86_64-linux-gnu/libc.a(malloc.o): relocation R_X86_64_TPOFF32 against `tcache' can not be used when making a shared object; recompile with -fPIC
ld: //usr/lib/x86_64-linux-gnu/libc.a(init-first.o): relocation R_X86_64_PC32 against symbol `__environ' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: bad value
make: *** [makefile:13: /home/jrs/sb/sb-dev-master/bin/mod/dll/gd.so] Error 1
ld: //usr/lib/x86_64-linux-gnu/libc.a(malloc.o): relocation R_X86_64_TPOFF32 against `tcache' can not be used when making a shared object; recompile with -fPIC
ld: //usr/lib/x86_64-linux-gnu/libc.a(init-first.o): relocation R_X86_64_PC32 against symbol `__environ' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: bad value
make: *** [makefile:13: /home/jrs/sb/sb-dev-master/bin/mod/dll/zlib.so] Error 1
interface.c:20:10: fatal error: libxml/parser.h: No such file or directory
 #include <libxml/parser.h>
          ^~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile:19: /home/jrs/sb/sb-dev-master/bin/mod/obj/xml/s_interface.o] Error 1
interface.c:11:10: fatal error: sql.h: No such file or directory
 #include <sql.h>
          ^~~~~~~
compilation terminated.
make: *** [makefile:19: /home/jrs/sb/sb-dev-master/bin/mod/obj/odbc/s_interface.o] Error 1
scriba executable OK 
sbhttpd executable OK 
libscriba library OK 
MODULE curl:     dll FAIL lib OK   bas FAIL
MODULE sqlite:   dll FAIL lib FAIL bas OK 
MODULE dbg:      dll OK   lib OK   bas OK 
MODULE trial:    dll OK   lib OK   bas FAIL
MODULE t:        dll OK   lib OK   bas FAIL
MODULE mxml:     dll OK   lib OK   bas FAIL
MODULE cgi:      dll OK   lib OK   bas OK 
MODULE mysql:    dll OK   lib OK   bas FAIL
MODULE ux:       dll OK   lib OK   bas FAIL
MODULE json:     dll OK   lib OK   bas OK 
MODULE curses:   dll FAIL lib OK   bas FAIL
MODULE gd:       dll FAIL lib OK   bas FAIL
MODULE hash:     dll OK   lib OK   bas FAIL
MODULE zlib:     dll FAIL lib OK   bas FAIL
MODULE re:       dll OK   lib OK   bas FAIL
MODULE iodbc:    dll OK   lib OK   bas OK 
MODULE sdbg:     dll OK   lib OK   bas FAIL
MODULE xml:      dll FAIL lib FAIL bas OK 
MODULE odbc:     dll FAIL lib FAIL bas FAIL
MODULE slre:     dll OK   lib OK   bas OK 
MODULE mt:       dll OK   lib OK   bas FAIL
jrs@jrs-laptop:~/sb/sb-dev-master$

--- End code ---

John:
It would be great if the build engine would check for the latest / missing dependencies and generate an apt-get install shell script.

I've always wanted to replace the Perl build scripts with SB scripts. Scriba would be the first executable built and used during the remainder of the build process.

Navigation

[0] Message Index

[#] Next page

Go to full version