seed7-users Mailing List for Seed7 (Page 6)
Interpreter and compiler for the Seed7 programming language.
Brought to you by:
thomas_mertes
You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
|
Feb
(9) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(4) |
Aug
|
Sep
(4) |
Oct
(4) |
Nov
|
Dec
(1) |
| 2011 |
Jan
(2) |
Feb
|
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
(2) |
Aug
(6) |
Sep
(7) |
Oct
(3) |
Nov
(10) |
Dec
(4) |
| 2013 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
|
Dec
(1) |
| 2014 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
(6) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
(1) |
| 2015 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
| 2016 |
Jan
|
Feb
(3) |
Mar
(2) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(3) |
Dec
(3) |
| 2021 |
Jan
(2) |
Feb
(6) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(12) |
Oct
(4) |
Nov
(17) |
Dec
(3) |
| 2022 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(2) |
May
|
Jun
(17) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2023 |
Jan
|
Feb
(1) |
Mar
(4) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
(5) |
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
(12) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2025 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(11) |
Nov
(5) |
Dec
|
|
From: L. S. <lsp...@gm...> - 2020-11-30 19:56:09
|
The official documentation is not bad, quite good actually, but it's like it's not really enough for a beginner. So I appreciate any answer I get. I'm trying to write a program to read elf-files. I can read the headers of 32bit files but would like to extend it a bit. 64bit will be easy to add afterwards. 1. Currently I read the data and then extracts every field from the string. I wrote my own function to handle little-endian but with bytedata.s7i <http://seed7.sourceforge.net/libraries/bytedata.htm> it all got much cleaner and easier. But...Could I read the data directly into my structure (like in C and ASM) or do I always have to insert it myself? 2. When I read the section table (from the elf file) I get some types and would like to have an array of pointers to functions. If the type is 1 I call myarray[1](), if it is 2 I call myarray[2](); Can I do that? I can use a 'case-statement' but when you have many possibilities it becomes a bit long. 3. How does "type" work? Is it just like "typedef"? Is it just an alias? |
|
From: Thomas M. <tho...@gm...> - 2020-11-22 17:33:11
|
In the example below the arguments 'a' and 'b' are read at runtime:
-------------------- begin l_skov.sd7 --------------------
$ include "seed7_05.s7i";
const proc: tester (in var integer: a, in var integer: b, ref func integer: fun) is func
begin
writeln("Value of fun: " <& fun);
writeln("end");
writeln("inside: a = " <& a);
writeln("inside: b = " <& b);
end func;
const proc: main is func
local
var integer: a is 0;
var integer: b is 0;
begin
write("a? ");
readln(a);
write("b? ");
readln(b);
tester(a, b, a+b);
end func;
-------------------- end l_skov.sd7 --------------------
The function 'tester' can also work without the parameters 'a' and 'b':
-------------------- begin l_skov2.sd7 --------------------
$ include "seed7_05.s7i";
const proc: tester (ref func integer: fun) is func
begin
writeln("Value of fun: " <& fun);
end func;
const proc: main is func
local
var integer: a is 0;
var integer: b is 0;
begin
write("a? ");
readln(a);
write("b? ");
readln(b);
tester(a+b);
tester(a*b);
end func;
-------------------- end l_skov2.sd7 --------------------
Regarding your 2nd question:
You can write
boolean parse "TRUE"
because the syntax of the 'parse' operator is defined in the file syntax.s7i with:
$ syntax expr: .().parse.() is <- 1;
The syntax of function calls like
writeln("something")
is not defined explicit (in e.g. syntax.s7i).
Generally the syntax of all function calls
function_name(parameter1, parameter2)
is hard coded. The hard coded syntax for function calls
requires parentheses around the parameters.
If there is a syntax definition then parentheses can be omitted.
E.g.: The 'not' operator is defined in syntax.s7i with:
$ syntax expr: .not.() is <- 13;
This allows you to write
not some_expression
without parentheses.
Regards,
Thomas Mertes
--
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
|
|
From: L. S. <lsp...@gm...> - 2020-11-16 21:15:31
|
Hi
Just started learning seed7 a few days ago.
Not totally convinced yet but it seems a useful language so far, much
better than it's popularity suggests.
1. I'm currently trying to pass a pointer to a function to another function:
tester(a,b,myfun(a,b));
const proc: tester (in var integer: a, in var integer: b, ref func integer:
fun) is func
local
begin
a := 10;
b := 20;
writeln("Value of fun: " <& fun);
writeln("end");
writeln("inside: a = " <& a);
writeln("inside: b = " <& b);
end func;
The arguments to "myfun" seems to be evaluated when calling tester or at
compile time. How do I change the arguments 'a' and 'b' at runtime.
2. By curiosity I wonder why I can write:
boolean parse "TRUE"
but not
writeln "something" [without parentheses!]
|
|
From: Anders C. <ca...@gm...> - 2020-08-24 08:34:43
|
Hi! I encounter problems when trying to run the make depend command, as seen in the attached file "error_install". Operating system: windows 10 Distribution used: ? Source Forge (seed7_05_20200727) C compiler: MinGW GNU c++ Version of Seed7: seed7_05_20200727 Regards Anders Carstensen email: ca...@gm... |
|
From: Zachary M. <zao...@ou...> - 2020-06-27 19:16:06
|
Hey Thomas,
I’ve come across a couple issues regarding the function “buttonPressed” (in the “keybd.s7i” file) that I’d like to bring to your attention (if you’ve got the time to look into them). I attached a file to demonstrate the issues I am having.
The first issue is that the function “buttonPressed” doesn’t seem to work unless the function “busy_getc” (or something similar) is continually being called. You can see this in the program I attached if you comment out line 14, then the program can no longer be exited via the ‘q’ key.
The second issue is that “buttonPressed” is unable to detect the when the keys “KEY_MOUSE_BACK” and “KEY_MOUSE_FWD” are being pressed; the function simply returns false regardless. You should also be able to see this in the attached program, as nothing will be written to the terminal when the aforementioned buttons are pressed.
Other than these, though, I’m loving the extra functionality you’ve added to the input detection system.
Thanks again for all your work,
Zachary
|
|
From: Thomas M. <tho...@gm...> - 2019-08-19 13:39:31
|
Hi Brett, thank you very much for your report. I forgot adding the line #define SQL_DRIVER_NOPROMPT 0 to the file db_odbc.h. I have attached db_odbc.h. This should fix it. This problem probably affects Linux, when unixODBC is not installed. Under Windows sql.h is usually present. Please tell me if the fix works. Thank you in advance for your effort. Regards, Thomas Mertes -- Seed7 Homepage: http://seed7.sourceforge.net Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch, statically typed, interpreted or compiled, portable, runs under linux/unix/windows. |
|
From: Brett S. (Y. M. #1) <bre...@ya...> - 2019-08-19 06:24:27
|
I am running Debian Linux (testing/bullseye), kernel 4.19.37 on a 64 bit
machine. The version of the C compiler is 8.3.0 and the complete log
file (make depend and then make) is as follows:
echo "#define LIST_DIRECTORY_CONTENTS \"ls\"" >> chkccomp.h
echo "#define LINKER_OPT_STATIC_LINKING \"-static\"" >> chkccomp.h
echo "#define MYSQL_LIBS \"-lmysqlclient\"" >> chkccomp.h
echo "#define MYSQL_DLL \"libmysqlclient.so\"" >> chkccomp.h
echo "#define MYSQL_USE_LIB" >> chkccomp.h
echo "#define SQLITE_LIBS \"-lsqlite3\"" >> chkccomp.h
echo "#define SQLITE_DLL \"libsqlite3.so\"" >> chkccomp.h
echo "#define SQLITE_USE_LIB" >> chkccomp.h
echo "#define POSTGRESQL_LIBS \"-lpq\"" >> chkccomp.h
echo "#define POSTGRESQL_DLL \"libpq.so\",\"libpq.so.5\"" >> chkccomp.h
echo "#define POSTGRESQL_USE_LIB" >> chkccomp.h
echo "#define ODBC_LIBS \"-lodbc\"" >> chkccomp.h
echo "#define ODBC_DLL \"libodbc.so\"" >> chkccomp.h
echo "#define ODBC_USE_LIB" >> chkccomp.h
echo "#define OCI_LIBS \"-lclntsh\"" >> chkccomp.h
echo "#define OCI_DLL \"libclntsh.so\"" >> chkccomp.h
echo "#define OCI_USE_DLL" >> chkccomp.h
echo "#define FIRE_LIBS \"-lfbclient\"" >> chkccomp.h
echo "#define FIRE_DLL \"libfbclient.so\"" >> chkccomp.h
echo "#define FIRE_USE_DLL" >> chkccomp.h
echo "#define PATH_DELIMITER '/'" > version.h
echo "#define SEARCH_PATH_DELIMITER ':'" >> version.h
echo "#define AWAIT_WITH_SELECT" >> version.h
echo "#define USE_TERMINFO" >> version.h
echo "#define SIGNAL_HANDLER_CAN_DO_IO" >> version.h
echo "#define CONSOLE_UTF8" >> version.h
echo "#define OS_STRI_UTF8" >> version.h
echo "#define ESCAPE_SHELL_COMMANDS" >> version.h
echo "#define OBJECT_FILE_EXTENSION \".o\"" >> version.h
echo "#define LIBRARY_FILE_EXTENSION \".a\"" >> version.h
echo "#define C_COMPILER \"gcc\"" >> version.h
echo "#define CPLUSPLUS_COMPILER \"g++\"" >> version.h
echo "#define GET_CC_VERSION_INFO \"gcc --version >\"" >> version.h
echo "#define CC_SOURCE_UTF8" >> version.h
echo "#define CC_OPT_DEBUG_INFO \"-g\"" >> version.h
echo "#define CC_OPT_NO_WARNINGS \"-w\"" >> version.h
echo "#define CC_FLAGS \"-ffunction-sections -fdata-sections\"" >> version.h
echo "#define CC_ERROR_FILDES 2" >> version.h
echo "#define LINKER_OPT_NO_DEBUG_INFO \"-Wl,--strip-debug\"" >> version.h
echo "#define LINKER_OPT_OUTPUT_FILE \"-o \"" >> version.h
echo "#define LINKER_FLAGS \"-Wl,--gc-sections\"" >> version.h
echo "#define SYSTEM_LIBS \"-lm -ldl\"" >> version.h
echo "#define SYSTEM_CONSOLE_LIBS \"-lncurses\"" >> version.h
echo "#define SYSTEM_DRAW_LIBS \"-lX11\"" >> version.h
gcc --version > cc_vers.txt
gcc chkccomp.c -o chkccomp
./chkccomp version.h
Prepare compile command: done
Chkccomp uses /dev/null as null device.
Numeric sizes:
############*.+############*.+############*.+############*.+############*.+############*.+############*.############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.############*.+############*.+############*.+############*.
determined
General settings:
############*.+############*.############*.############*.+############*.############*.############*.+############*.############*.+############*.############*.############*.+############*.############*.############*.############*.############*.############*.############*.############*.############*.############*.############*.############*.+############*.############*.############*.############*.############*.+############*.+#############*.############*.############*.############*.+############*.+############*.+############*.############*.############*.+##############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.############*.+############*.+############*.############*.+#############*.############*.+#############*.+############*.+############*.+############*.+############*.+
determined
Numeric properties:
############*.+############*.+############*.+############*.+############*.+############*.############*.+############*.+############*.+############*.+############*.############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.############*.+############*.+############*.+############*.+############*.+############*.+############*.>############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.>############*.############*.+############*.>############*.+############*.+############*.+############*.+############*.+############*.+
determined
Advanced settings:
############*.+############*.+############*.############*.+############*.+############*.+############*.############*.+############*.+############*.############*.+############*.+############*.############*.+############*.############*.############*.+############*.############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.+############*.############*.############*.############*.
determined
############*.############*. MySql/MariaDb:
mysql/mysql.h found in system include directory.
############*. MySql/MariaDb: Linker option: -lmysqlclient
############*. SQLite: sqlite3.h found in system include
directory.
############*. SQLite: Linker option: -lsqlite3
############*. PostgreSQL: libpq-fe.h found in system
include directory.
############*.############*.############*.
PostgreSQL: catalog/pg_type.h not found in include directories.
############*. PostgreSQL: postgres.h not found in include
directories.
############*. PostgreSQL: db_post.h found in Seed7 include
directory.
############*. PostgreSQL: Linker option: -lpq
############*.############*.############*.
Odbc: db_odbc.h found in Seed7 include directory.
############*. Odbc: DLL / Shared library: libodbc.so
############*.############*. Oracle: db_oci.h
found in Seed7 include directory.
Oracle: DLL / Shared library: libclntsh.so
############*.############*.############*.
Firebird: db_fire.h found in Seed7 include directory.
Firebird: DLL / Shared library: libfbclient.so
############*.+############*.############*.+#
Macro read_buffer_empty defined.
###### rm chkccomp
rm cc_vers.txt
echo "#define SEED7_LIB \"seed7_05.a\"" >> version.h
echo "#define CONSOLE_LIB \"s7_con.a\"" >> version.h
echo "#define DRAW_LIB \"s7_draw.a\"" >> version.h
echo "#define COMP_DATA_LIB \"s7_data.a\"" >> version.h
echo "#define COMPILER_LIB \"s7_comp.a\"" >> version.h
gcc setpaths.c -o setpaths
./setpaths "S7_LIB_DIR=" "SEED7_LIBRARY=" >> version.h
rm setpaths
gcc wrdepend.c -o wrdepend
cp version.h vers_linux.h
./wrdepend -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -M
s7.c "> depend"
./wrdepend -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -M
arr_rtl.c bln_rtl.c bst_rtl.c chr_rtl.c cmd_rtl.c con_rtl.c dir_rtl.c
drw_rtl.c fil_rtl.c flt_rtl.c hsh_rtl.c int_rtl.c itf_rtl.c pcs_rtl.c
set_rtl.c soc_rtl.c sql_rtl.c str_rtl.c tim_rtl.c ut8_rtl.c heaputl.c
numutl.c sigutl.c striutl.c big_rtl.c big_gmp.c cmd_unx.c dir_win.c
dll_unx.c fil_unx.c pcs_unx.c pol_unx.c soc_none.c sql_base.c sql_fire.c
sql_lite.c sql_my.c sql_oci.c sql_odbc.c sql_post.c tim_unx.c ">> depend"
./wrdepend -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -M
kbd_rtl.c con_inf.c kbd_poll.c trm_inf.c ">> depend"
./wrdepend -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -M
gkb_rtl.c drw_x11.c gkb_x11.c ">> depend"
./wrdepend -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -M
typ_data.c rfl_data.c ref_data.c listutl.c flistutl.c typeutl.c
datautl.c ">> depend"
./wrdepend -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -M
runerr.c option.c primitiv.c actlib.c arrlib.c biglib.c binlib.c
blnlib.c bstlib.c chrlib.c cmdlib.c conlib.c dcllib.c drwlib.c enulib.c
fillib.c fltlib.c hshlib.c intlib.c itflib.c kbdlib.c lstlib.c pcslib.c
pollib.c prclib.c prglib.c reflib.c rfllib.c sctlib.c setlib.c soclib.c
sqllib.c strlib.c timlib.c typlib.c ut8lib.c exec.c doany.c objutl.c
act_comp.c prg_comp.c analyze.c syntax.c token.c parser.c name.c type.c
expr.c atom.c object.c scanner.c literal.c numlit.c findid.c error.c
infile.c libpath.c symbol.c info.c stat.c fatal.c match.c syvarutl.c
traceutl.c actutl.c executl.c blockutl.c entutl.c identutl.c chclsutl.c
arrutl.c ">> depend"
Use 'make' (with your make command) to create the interpreter.
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o s7.o s7.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o runerr.o runerr.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o option.o option.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o primitiv.o primitiv.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o actlib.o actlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o arrlib.o arrlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o biglib.o biglib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o binlib.o binlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o blnlib.o blnlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o bstlib.o bstlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o chrlib.o chrlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o cmdlib.o cmdlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o conlib.o conlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o dcllib.o dcllib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o drwlib.o drwlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o enulib.o enulib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o fillib.o fillib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o fltlib.o fltlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o hshlib.o hshlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o intlib.o intlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o itflib.o itflib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o kbdlib.o kbdlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o lstlib.o lstlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o pcslib.o pcslib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o pollib.o pollib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o prclib.o prclib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o prglib.o prglib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o reflib.o reflib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o rfllib.o rfllib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sctlib.o sctlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o setlib.o setlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o soclib.o soclib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sqllib.o sqllib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o strlib.o strlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o timlib.o timlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o typlib.o typlib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o ut8lib.o ut8lib.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o exec.o exec.c
exec.c: In function ‘exec_lambda’:
exec.c:425:44: warning: ‘backup_block_result’ may be used uninitialized
in this function [-Wmaybe-uninitialized]
block_result->object->value.objValue = backup_block_result;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
exec.c:483:16: note: ‘backup_block_result’ was declared here
objectType backup_block_result;
^~~~~~~~~~~~~~~~~~~
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o doany.o doany.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o objutl.o objutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o act_comp.o act_comp.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o prg_comp.o prg_comp.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o analyze.o analyze.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o syntax.o syntax.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o token.o token.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o parser.o parser.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o name.o name.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o type.o type.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o expr.o expr.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o atom.o atom.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o object.o object.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o scanner.o scanner.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o literal.o literal.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o numlit.o numlit.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o findid.o findid.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o error.o error.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o infile.o infile.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o libpath.o libpath.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o symbol.o symbol.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o info.o info.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o stat.o stat.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o fatal.o fatal.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o match.o match.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o syvarutl.o syvarutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o traceutl.o traceutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o actutl.o actutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o executl.o executl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o blockutl.o blockutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o entutl.o entutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o identutl.o identutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o chclsutl.o chclsutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o arrutl.o arrutl.c
ar r ../bin/s7_comp.a runerr.o option.o primitiv.o actlib.o arrlib.o
biglib.o binlib.o blnlib.o bstlib.o chrlib.o cmdlib.o conlib.o dcllib.o
drwlib.o enulib.o fillib.o fltlib.o hshlib.o intlib.o itflib.o kbdlib.o
lstlib.o pcslib.o pollib.o prclib.o prglib.o reflib.o rfllib.o sctlib.o
setlib.o soclib.o sqllib.o strlib.o timlib.o typlib.o ut8lib.o exec.o
doany.o objutl.o act_comp.o prg_comp.o analyze.o syntax.o token.o
parser.o name.o type.o expr.o atom.o object.o scanner.o literal.o
numlit.o findid.o error.o infile.o libpath.o symbol.o info.o stat.o
fatal.o match.o syvarutl.o traceutl.o actutl.o executl.o blockutl.o
entutl.o identutl.o chclsutl.o arrutl.o
ar: creating ../bin/s7_comp.a
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o typ_data.o typ_data.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o rfl_data.o rfl_data.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o ref_data.o ref_data.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o listutl.o listutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o flistutl.o flistutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o typeutl.o typeutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o datautl.o datautl.c
ar r ../bin/s7_data.a typ_data.o rfl_data.o ref_data.o listutl.o
flistutl.o typeutl.o datautl.o
ar: creating ../bin/s7_data.a
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o gkb_rtl.o gkb_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o drw_x11.o drw_x11.c
drw_x11.c: In function ‘redraw’:
drw_x11.c:166:13: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
width, height, xPos, yPos);
^~~~~
drw_x11.c:166:20: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
width, height, xPos, yPos);
^~~~~~
drw_x11.c:98:27: warning: conversion to ‘int’ from ‘unsigned int’ may
change the sign of the result [-Wsign-conversion]
#define to_width(win) (((const_x11_winType) win)->width)
^
drw_x11.c:175:20: note: in expansion of macro ‘to_width’
xClear = to_width(expose_window);
^~~~~~~~
drw_x11.c:176:37: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
clearWidth = xPos + width - to_width(expose_window);
^
drw_x11.c:176:24: warning: conversion to ‘int’ from ‘unsigned int’ may
change the sign of the result [-Wsign-conversion]
clearWidth = xPos + width - to_width(expose_window);
^~~~
drw_x11.c:99:27: warning: conversion to ‘int’ from ‘unsigned int’ may
change the sign of the result [-Wsign-conversion]
#define to_height(win) (((const_x11_winType) win)->height)
^
drw_x11.c:182:24: note: in expansion of macro ‘to_height’
yClear = to_height(expose_window);
^~~~~~~~~
drw_x11.c:183:43: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
clearHeight = yPos + height - to_height(expose_window);
^
drw_x11.c:183:29: warning: conversion to ‘int’ from ‘unsigned int’ may
change the sign of the result [-Wsign-conversion]
clearHeight = yPos + height - to_height(expose_window);
^~~~
drw_x11.c:188:55: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
xPos, yClear, to_width(expose_window) - xPos,
clearHeight);
^
drw_x11.c:188:63: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
xPos, yClear, to_width(expose_window) - xPos,
clearHeight);
^~~~~~~~~~~
drw_x11.c:194:27: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
xClear, yPos, clearWidth, height);
^~~~~~~~~~
drw_x11.c:194:39: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
xClear, yPos, clearWidth, height);
^~~~~~
drw_x11.c:99:27: warning: conversion to ‘int’ from ‘unsigned int’ may
change the sign of the result [-Wsign-conversion]
#define to_height(win) (((const_x11_winType) win)->height)
^
drw_x11.c:202:20: note: in expansion of macro ‘to_height’
yClear = to_height(expose_window);
^~~~~~~~~
drw_x11.c:203:39: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
clearHeight = yPos + height - to_height(expose_window);
^
drw_x11.c:203:25: warning: conversion to ‘int’ from ‘unsigned int’ may
change the sign of the result [-Wsign-conversion]
clearHeight = yPos + height - to_height(expose_window);
^~~~
drw_x11.c:208:27: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
xPos, yClear, width, clearHeight);
^~~~~
drw_x11.c:208:34: warning: conversion to ‘unsigned int’ from ‘int’ may
change the sign of the result [-Wsign-conversion]
xPos, yClear, width, clearHeight);
^~~~~~~~~~~
In file included from drw_x11.c:51:
drw_x11.c: In function ‘drwPolyLine’:
common.h:280:27: warning: conversion from ‘int’ to ‘short int’ may
change value [-Wconversion]
#define castToShort(num) (inShortRange(num) ? (short int) (num) :
(raise_error(RANGE_ERROR), (short int) 0))
^
drw_x11.c:1546:22: note: in expansion of macro ‘castToShort’
points[0].x += castToShort(x);
^~~~~~~~~~~
common.h:280:27: warning: conversion from ‘int’ to ‘short int’ may
change value [-Wconversion]
#define castToShort(num) (inShortRange(num) ? (short int) (num) :
(raise_error(RANGE_ERROR), (short int) 0))
^
drw_x11.c:1547:22: note: in expansion of macro ‘castToShort’
points[0].y += castToShort(y);
^~~~~~~~~~~
drw_x11.c: In function ‘drwFPolyLine’:
common.h:280:27: warning: conversion from ‘int’ to ‘short int’ may
change value [-Wconversion]
#define castToShort(num) (inShortRange(num) ? (short int) (num) :
(raise_error(RANGE_ERROR), (short int) 0))
^
drw_x11.c:1574:22: note: in expansion of macro ‘castToShort’
points[0].x += castToShort(x);
^~~~~~~~~~~
common.h:280:27: warning: conversion from ‘int’ to ‘short int’ may
change value [-Wconversion]
#define castToShort(num) (inShortRange(num) ? (short int) (num) :
(raise_error(RANGE_ERROR), (short int) 0))
^
drw_x11.c:1575:22: note: in expansion of macro ‘castToShort’
points[0].y += castToShort(y);
^~~~~~~~~~~
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o gkb_x11.o gkb_x11.c
ar r ../bin/s7_draw.a gkb_rtl.o drw_x11.o gkb_x11.o
ar: creating ../bin/s7_draw.a
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o kbd_rtl.o kbd_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o con_inf.o con_inf.c
con_inf.c:387:12: warning: ‘inf_setfont’ defined but not used
[-Wunused-function]
static int inf_setfont (char *fontname)
^~~~~~~~~~~
con_inf.c:369:13: warning: ‘inf_standardcolour’ defined but not used
[-Wunused-function]
static void inf_standardcolour (void)
^~~~~~~~~~~~~~~~~~
con_inf.c:332:13: warning: ‘inf_beep’ defined but not used
[-Wunused-function]
static void inf_beep (void)
^~~~~~~~
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o kbd_poll.o kbd_poll.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o trm_inf.o trm_inf.c
ar r ../bin/s7_con.a kbd_rtl.o con_inf.o kbd_poll.o trm_inf.o
ar: creating ../bin/s7_con.a
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o arr_rtl.o arr_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o bln_rtl.o bln_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o bst_rtl.o bst_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o chr_rtl.o chr_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o cmd_rtl.o cmd_rtl.c
cmd_rtl.c: In function ‘cmdSetFileMode’:
cmd_rtl.c:3158:42: warning: conversion to ‘__mode_t’ {aka ‘unsigned
int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
chmod_result = os_chmod(os_path, int_mode);
^~~~~~~~
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o con_rtl.o con_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o dir_rtl.o dir_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o drw_rtl.o drw_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o fil_rtl.o fil_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o flt_rtl.o flt_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o hsh_rtl.o hsh_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o int_rtl.o int_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o itf_rtl.o itf_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o pcs_rtl.o pcs_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o set_rtl.o set_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o soc_rtl.o soc_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sql_rtl.o sql_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o str_rtl.o str_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o tim_rtl.o tim_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o ut8_rtl.o ut8_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o heaputl.o heaputl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o numutl.o numutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sigutl.o sigutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o striutl.o striutl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o big_rtl.o big_rtl.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o big_gmp.o big_gmp.c
big_gmp.c: In function ‘bigHashCode’:
big_gmp.c:906:90: warning: conversion to ‘mp_size_t’ {aka ‘long int’}
from ‘size_t’ {aka ‘long unsigned int’} may change the sign of the
result [-Wsign-conversion]
result = (intType) (mpz_getlimbn(big1, 0) << 5 ^ size << 3 ^
mpz_getlimbn(big1, size - 1));
~~~~~^~~
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o cmd_unx.o cmd_unx.c
cmd_unx.c: In function ‘getExecutablePath’:
cmd_unx.c:92:23: warning: implicit declaration of function ‘readlink’;
did you mean ‘cmdReadlink’? [-Wimplicit-function-declaration]
readlink_result = readlink("/proc/self/exe", buffer,
sizeof(buffer) - 1);
^~~~~~~~
cmdReadlink
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o dir_win.o dir_win.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o dll_unx.o dll_unx.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o fil_unx.o fil_unx.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o pcs_unx.o pcs_unx.c
pcs_unx.c: In function ‘pcsPty’:
pcs_unx.c:489:18: warning: implicit declaration of function
‘posix_openpt’; did you mean ‘os_popen’? [-Wimplicit-function-declaration]
masterfd = posix_openpt(O_RDWR|O_NOCTTY);
^~~~~~~~~~~~
os_popen
In file included from pcs_unx.c:35:
pcs_unx.c:491:38: warning: implicit declaration of function ‘grantpt’
[-Wimplicit-function-declaration]
if (unlikely(masterfd == -1 || grantpt(masterfd) == -1 ||
^~~~~~~
version.h:82:39: note: in definition of macro ‘unlikely’
#define unlikely(x) __builtin_expect((x),0)
^
pcs_unx.c:492:20: warning: implicit declaration of function ‘unlockpt’;
did you mean ‘unlink’? [-Wimplicit-function-declaration]
unlockpt(masterfd) == -1 ||
^~~~~~~~
version.h:82:39: note: in definition of macro ‘unlikely’
#define unlikely(x) __builtin_expect((x),0)
^
pcs_unx.c:493:35: warning: implicit declaration of function ‘ptsname’;
did you mean ‘ttyname’? [-Wimplicit-function-declaration]
(slavedevice = ptsname(masterfd)) == NULL)) {
^~~~~~~
version.h:82:39: note: in definition of macro ‘unlikely’
#define unlikely(x) __builtin_expect((x),0)
^
pcs_unx.c:493:33: warning: assignment to ‘char *’ from ‘int’ makes
pointer from integer without a cast [-Wint-conversion]
(slavedevice = ptsname(masterfd)) == NULL)) {
^
version.h:82:39: note: in definition of macro ‘unlikely’
#define unlikely(x) __builtin_expect((x),0)
^
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o pol_unx.o pol_unx.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o soc_none.o soc_none.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sql_base.o sql_base.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sql_fire.o sql_fire.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sql_lite.o sql_lite.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sql_my.o sql_my.c
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sql_oci.o sql_oci.c
sql_oci.c:1064:13: warning: ‘dumpSqltNumber’ defined but not used
[-Wunused-function]
static void dumpSqltNumber (memSizeType dataLen, const uint8Type
*ociNumberData)
^~~~~~~~~~~~~~
sql_oci.c:1054:13: warning: ‘ociNumberFromDecimalInt’ defined but not
used [-Wunused-function]
static void ociNumberFromDecimalInt (OCINumber *ociNumber, const
const_striType decimal,
^~~~~~~~~~~~~~~~~~~~~~~
sql_oci.c:910:12: warning: ‘ociNumberToDecimalFraction’ defined but not
used [-Wunused-function]
static int ociNumberToDecimalFraction (const OCINumber *ociNumber,
striType stri,
^~~~~~~~~~~~~~~~~~~~~~~~~~
sql_oci.c:754:13: warning: ‘ociNumberToDecimalInt’ defined but not used
[-Wunused-function]
static void ociNumberToDecimalInt (const OCINumber *ociNumber,
striType stri,
^~~~~~~~~~~~~~~~~~~~~
gcc -O2 -g -ffunction-sections -fdata-sections -Wall
-Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith -c
-o sql_odbc.o sql_odbc.c
sql_odbc.c: In function ‘connectToServer’:
sql_odbc.c:5433:36: error: ‘SQL_DRIVER_NOPROMPT’ undeclared (first use
in this function)
SQL_DRIVER_NOPROMPT);
^~~~~~~~~~~~~~~~~~~
sql_odbc.c:5433:36: note: each undeclared identifier is reported only
once for each function it appears in
make: *** [<builtin>: sql_odbc.o] Error 1
Please note that I have been able to successfully compile seed7 in the
past and have compiled the previous release - 2019-07-14 - without any
issues. It compiles fine and all tests pass.
If you require any further information, then please contact me, and I
will endeavour to provide it.
Brett.
|
|
From: Thomas M. <tho...@gm...> - 2019-05-23 18:57:36
|
Hello Anton, many thanks for your bug report. Nothing is missing in your understanding. You discovered a test-case for generics, that was not used until now. The templates used in the Seed7 libraries don't need this use case. Nevertheless this case should work like other cases. I have just released a new version of Seed7: seed7_05_20190523.tgz With this version the bug is fixed. Regards, Thomas Mertes -- Seed7 Homepage: http://seed7.sourceforge.net Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch, statically typed, interpreted or compiled, portable, runs under linux/unix/windows. |
|
From: Anton L. <ant...@ur...> - 2019-05-20 01:17:54
|
Hi,
I am trying to understand how generics in Seed7 work and after reading the
FAQ section under "Are there generics/templates" my understanding is that a
generic function should be able to accept other functions as generic
parameters, however, when I compile the code below I am getting a
segmentation fault, so what am I missing in my understanding?
$ include "seed7_05.s7i";
const proc : GENERIC (in proc : procedure) is func
begin
const proc : run is func
begin
procedure;
end func;
end func;
GENERIC (writeln ("Hello from Seed7!"));
const proc : main is func
begin
run;
end func;
SEED7 COMPILER Version 3.0 Copyright (c) 1990-2019 Thomas Mertes
Source: generic2.sd7
Compiling the program ...
Segmentation fault
Best,
Anton
|
|
From: Stéphane G. <ste...@wa...> - 2018-12-06 14:56:14
|
Hello,
I would like to sort a table of rows, depending on the content of the
second cell of a row.
* A Row is an array of strings.
* The table is an array of rows.
* I want to sort table.
* So I need to compare Rows.
* So I thought I had to implement a compare() function that takes Rows as
arguments and compares the specific string cell I desire.
Here is the code I tried:
----------------------------
$ include "seed7_05.s7i";
include "stdio.s7i";
const type: Row is array string;
const func integer: compare(in Row: A, in Row: B) is
return compare(A[2], B[2]);
const proc: main is func
local
var array Row : table is [] ( [] ("CCC", "BBB"), [] ("CCC", "AAA"), [] ("AAA", "CCC"));
var Row : r is 2 times "";
begin
for r range table do
writeln(r[1] & " " & r[2]);
end for;
table:=sort(table);
writeln("-----------");
for r range table do
writeln(r[1] & " " & r[2]);
end for;
end func;
----------------------------
And it fails to compile, complaining that I redeclare the compare()
function:
----------------------------
~/test/seed7 $s7c compare_array.s7
SEED7 COMPILER Version 3.0 Copyright (c) 1990-2018 Thomas Mertes
Source: compare_array.s7
Compiling the program ...
*** compare_array.s7(8):34: (ref TEST_3 param, ref TEST_3 param) compare
declared twice
return compare(A[2], B[2]);
-----------------------------------^
1 error found
----------------------------
I imagine it has something to do with my Row type being not a true
separate type, but rather some kind of alias to array? (I am knew to the
language so I don't know if that even makes sense ;-) )
Anyway, what would be the right way(s) to achieve my goal?
Faithfully yours,
Stéphane Goujet. |
|
From: Joseph K. <joe...@gm...> - 2017-03-20 08:15:52
|
Hello there.
I am looking at returinng to University to do a B.A Music or a B.Sc
Computer Science (or both - I'm not sure yet). In order to get a headstart
on the B.Sc, I read the syllabus and saw the introductory programming paper
was a Python-based one, so I thought I'd have a go at writing some Python.
I thought what would be easiest given that I haven't really programmed for
20 odd years was to find an existing bit of code and convert it. In a
completely unrelated search, I found the Seed7 listing for the classic Star
Trek game, and I thought that would be a fun thing to work with.
To my satisfaction and mild surprise, I have got nearly all of it working
and behaving like it should (I'm using the 'global' declaration in Python,
which it seems would normally get me burnt at the stake, but for what I
need, it works, so I'm at this point not too concerned).
The only thing I can't quite get working is the movement / torpedo code,
which according to what I have read, should just work.
The Seed7 code:
row := sectorRow;
column := sectorColumn;
x1 := flt(column) + 0.5;
y1 := flt(row) + 0.5;
angle := (course - 1.0) * 0.785398;
delta_x := cos(angle);
delta_y := -sin(angle);
inquad := TRUE;
blocked := FALSE;
number := 1;
while number <= distance do
y1 := y1 + delta_y;
x1 := x1 + delta_x;
row := trunc(y1);
column := trunc(x1);
if column < 1 or column > 8 or row < 1 or row > 8 then
inquad := FALSE;
number := distance;
else
if sect[row][column] <> 1 then (* Object blocking move *)
blocked := TRUE;
number := distance;
end if;
end if;
incr(number);
and my code:
num = 0
inQuad = False
blocked = False
x1 = 0.0
y1 = 0.0
row = 0
column = 0
angle = 0.0
deltaX = 0.0
deltaY = 0.0
row = sectorRow
column = sectorColumn
x1 = float(column) + 0.5
y1 = float(row) + 0.5
angle = (course - 1.0) * 0.785398
deltaX = math.cos(angle)
deltaY = -math.sin(angle)
inQuad = True
blocked = False
num = 1
while num <= distance:
y1 += deltaY
x1 += deltaX
row = int(round(y1))
column = int(round(x1))
if column < 0 or column > 7 or row < 0 or row > 7:
inQuad = False
num = distance
else:
if sect[row][column] != 1:
blocked = True
num = distance
num += 1
The sin and cos functions according to Seed7 and Python should output the
same numbers, and I think the inputs are the same, but when I try to move,
it doesn't correspond to what the help text says to expect.
The only thing I can think of is I'm not using incr() at the end (I'm just
going num += 1), and that's putting it all wrong, but I'm not sure.
Can anybody who knows Seed7 and a bit of Python give me some advice? I'm
just about there in terms of making it work, and this is the last real
hurdle.
Any help would greatly appreciated.
Joseph Karl.
|
|
From: Fernando R. <fer...@gm...> - 2016-05-27 07:16:06
|
I reply to the list, sorry for the duplicate email. Thank you very much for your response. > Hi, thank you for your interest in Seed7. > I am pleased to hear such a positive feedback. > Regarding your question. I am not an SQLite expert, but years ago I > did some > performance measurements with SQLite (not with Seed7 but with C++). > With the > measurements I found out that SQLite is much faster when it just works in > memory without a file. Opening an in memory SQLite database in Seed7 > is done with: > openDatabase(DB_SQLITE, "", "", "") Ok > The C interface of SQLite (and maybe also Tcl) uses the name > ":memory:" to open > an in memory database. So maybe your Tcl example works in memory while the > Seed7 example does not. The example was working in file :) > With short googling about SQLite autocommit I found this explanation: > https://www.sqlite.org/c3ref/get_autocommit.html > It seems that autocommit is on until you are inside a transaktion. > Transaktions are explained here: > http://www.tutorialspoint.com/sqlite/sqlite_transactions.htm > The commit function in the Seed7 driver for SQLite is currently a noop, so > commit(db) > will currently not work for a SQLite database but the following should > work: > execute(db, "BEGIN"); > execute(db, "COMMIT"); Yes, it works. From 5 seconds to 0.101 seconds. That's what I expected. Thanks. > Different databases have different behavior regarding commit and > transaktions. > So maybe Tcl always starts a transaktion without telling you. This > could be a way > to emulate that autocommit is switched off. If that works the Seed7 > interface > could do that also. I general I want to provide the same behavior for > all databases. > So it depends how the other databases handle autocommit and transactions. > I hope that I could help you. > Regards > Thomas Mertes > > > ------------------------------------------------------------------------------ > Mobile security can be enabling, not merely restricting. Employees who > bring their own devices (BYOD) to work are irked by the imposition of MDM > restrictions. Mobile Device Manager Plus allows you to control only the > apps on BYO-devices by containerizing them, leaving personal data untouched! > https://ad.doubleclick.net/ddm/clk/304595813;131938128;j > > > _______________________________________________ > Seed7-users mailing list > See...@li... > https://lists.sourceforge.net/lists/listinfo/seed7-users Cheers |
|
From: Thomas M. <tho...@gm...> - 2016-05-26 07:59:02
|
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div> <div>Hi, thank you for your interest in Seed7.</div> <div>I am pleased to hear such a positive feedback.</div> <div> </div> <div>Regarding your question. I am not an SQLite expert, but years ago I did some</div> <div>performance measurements with SQLite (not with Seed7 but with C++). With the</div> <div>measurements I found out that SQLite is much faster when it just works in</div> <div>memory without a file. Opening an in memory SQLite database in Seed7</div> <div>is done with:</div> <div> </div> <div> openDatabase(DB_SQLITE, "", "", "")</div> <div> </div> <div>The C interface of SQLite (and maybe also Tcl) uses the name ":memory:" to open</div> <div>an in memory database. So maybe your Tcl example works in memory while the</div> <div>Seed7 example does not.</div> <div> </div> <div>With short googling about SQLite autocommit I found this explanation:</div> <div>https://www.sqlite.org/c3ref/get_autocommit.html</div> <div>It seems that autocommit is on until you are inside a transaktion.</div> <div>Transaktions are explained here:</div> <div>http://www.tutorialspoint.com/sqlite/sqlite_transactions.htm</div> <div>The commit function in the Seed7 driver for SQLite is currently a noop, so</div> <div> </div> <div>commit(db)</div> <div> </div> <div>will currently not work for a SQLite database but the following should work:</div> <div>execute(db, "BEGIN");</div> <div>execute(db, "COMMIT");</div> <div> <div> </div> <div>Different databases have different behavior regarding commit and transaktions.</div> <div>So maybe Tcl always starts a transaktion without telling you. This could be a way</div> <div>to emulate that autocommit is switched off. If that works the Seed7 interface</div> <div>could do that also. I general I want to provide the same behavior for all databases.</div> <div>So it depends how the other databases handle autocommit and transactions.</div> <div> </div> <div>I hope that I could help you.</div> <div> </div> <div>Regards</div> <div>Thomas Mertes</div> </div> </div></div></body></html> |
|
From: FRD <fer...@gm...> - 2016-05-20 10:38:32
|
Hi, I'm new in the user's list. I've discovered Seed7 by accident browsing Rosetta Code's site. Now I'm doing small programs to understand the language. TL;DR My initial contact with the language is very positive. I like the syntax, very clear and regular, that makes programs very easy to read, but not as heavy to write as the Ada language (!). The use or result instead of return and the local block of variables make sense, it makes the code more structured. I like this feature in Eiffel language too. Multimethods are another good move. I'm interested in languages with this feature like Dylan or Common Lisp. Extension mecanism looks great, but I'm not ready yet to use it :). The documentation is good and the examples in prg directory are very interesting. Really impressive work. Congratulations. Now a question: I made a small program with SQLITE database. I notice that the insert time of a thousand records is more slow than I expected. The same program with Tcl doing only one transaction is 0.4s and with one transaction per insertion is 4s, the same time than the s7d program. It is possible to make a transaction with all the records together in Seed7? Is autocommit in SQLITE on? I didn't see nothing in the sql_base API to change it. my code is like db := open database prepare(statement) for record range records bind(parameters) execute(statement) end for commit(db) Kind regards, |
|
From: Arnel <jal...@gm...> - 2016-03-03 20:10:33
|
Hi Thomas, On Thu, 3 Mar 2016 10:56:16 +0100, "Thomas Mertes" <tho...@gm...> wrote: > Hi Arnel, > > I was able to install MSYS2 and gcc 5.3 from mingw64. > So I could test Seed7 with MSYS2 and gcc 5.3. > > In the latest release of Seed7 (2016-02-29) I fixed the error with > the floating point compare function. The other floating point error > (Sci operator for float with many digits does not work correct.) > does not show up. Maybe it was fixed in a previous Seed7 release. > Please update to the newest Seed7 release. With that no errors > should show up. If the tests still fail please tell me. That's great to hear. I already saw the new version a day or so ago, and confirmed there are no more errors. Thanks for the fix. > There is another issue with the MSYS2 console. Programs that want > to read single key presses without echo (e.g. kbd.sd7) do > not work. AFAIK this is a bug in the MSYS2 console (I found hints > for that by googling). The programs that have problems in the > MSYS2 console work without any problem in the windows console. > Just start kbd.sd7 in both consoles to see the difference. > In the windows console kbd.sd7 is terminated with ! and in the > MSYS2 console it must be terminated with CTRL-C (since it just > hangs). > > I found out that the function getch() (from conio.h) does cause > the hang up in the MSYS2 console. So the MSYS2 console should be > fixed or there should be special code in Seed7 to circumvent this > error. Maybe you have an idea. I also saw that, but unfortunately: (1) I'm not sure where to report that issue since the MSYS2 repository at Github appears to be related more to package management than the actual MSYS-2.0 project; (2) I've been on Linux (Ubuntu) for a week now, so I will probably spend less time on my Windows box to acclimatize myself to this new environment (Seed7 is already set up here anyway :)) At any rate, thank you for the quick response, and apologies for not being able to assist on the MSYS2 issue. ---- Thank you, Arnel |
|
From: Thomas M. <tho...@gm...> - 2016-03-03 09:56:29
|
Hi Arnel, I was able to install MSYS2 and gcc 5.3 from mingw64. So I could test Seed7 with MSYS2 and gcc 5.3. In the latest release of Seed7 (2016-02-29) I fixed the error with the floating point compare function. The other floating point error (Sci operator for float with many digits does not work correct.) does not show up. Maybe it was fixed in a previous Seed7 release. Please update to the newest Seed7 release. With that no errors should show up. If the tests still fail please tell me. There is another issue with the MSYS2 console. Programs that want to read single key presses without echo (e.g. kbd.sd7) do not work. AFAIK this is a bug in the MSYS2 console (I found hints for that by googling). The programs that have problems in the MSYS2 console work without any problem in the windows console. Just start kbd.sd7 in both consoles to see the difference. In the windows console kbd.sd7 is terminated with ! and in the MSYS2 console it must be terminated with CTRL-C (since it just hangs). I found out that the function getch() (from conio.h) does cause the hang up in the MSYS2 console. So the MSYS2 console should be fixed or there should be special code in Seed7 to circumvent this error. Maybe you have an idea. Regards Thomas Mertes |
|
From: Arnel L. <jal...@gm...> - 2016-02-23 16:07:15
|
Hi Thomas,
On Tue, 23 Feb 2016 12:20:57 +0100, "Thomas Mertes" <tho...@gm...> wrote:
> To reproduce this problem I installed MSYS2 on a a 64-bit Windows 8.1 machine.
> I was able to install gcc 4.9.2 but you used 5.3.0
> Please tell me the detailed commands to install gcc 5.3.0
After installing MSYS2, I ran the following commands:
pacman -Syu # updates the package lists
pacman -S mingw64/mingw-w64-x86_64-gcc
If I search for 'gcc' by running 'pacman -Ss gcc', I usually get the mingw64 one near the top of the list, and I usually install that, but it does list near the bottom 'msys/gcc 4.9.2-6'. I'll try that and see if I get the same problem.
> Did you use the "makefile" or some "mk_*" variant?
> I proceeded with "makefile" (although it is intended for Linux) and gcc 4.9.2.
> Then it failed because X11 is missing in my default MSYS2 installation.
> Please tell me the detailed commands to install X11.
> When I have gcc 5.3.0 and X11 on my machine I can proceed to search for the error.
I followed your instructions of copying 'mk_msys.mak' as 'makefile' and proceeded from there. Ran 'make' then 'make test'. I did not get asked for X11 or anything else.
> >From the logs you provided it seems that float comparisons with NaN (Not a Number)
> do not work correctly. The program chkccomp.c checks the behaviour of NaN
> (and other things) and writes the result to version.h
> Your version file contains a definition for NAN_COMPARISON_OKAY.
> Depending on the value of NAN_COMPARISON_OKAY the function fltCmp (in flt_rtl.c)
> uses different code to compute the compare function.
> Please send me your version.h file. It contains helpful information about your
> compiler and your C runtime library.
Here's the contents of the 'version.h' file:
#define PATH_DELIMITER 92 /* backslash (ASCII) */
#define USE_DIRENT
#define SEARCH_PATH_DELIMITER ';'
#define CTRL_C_SENDS_EOF
#define WITH_SQL
#define CONSOLE_WCHAR
#define OS_STRI_WCHAR
#define os_chdir _wchdir
#define os_getcwd _wgetcwd
#define os_mkdir(path,mode) _wmkdir(path)
#define os_rmdir _wrmdir
#define os_opendir _wopendir
#define os_readdir _wreaddir
#define os_closedir _wclosedir
#define os_DIR _WDIR
#define os_dirent_struct struct _wdirent
#define os_fstat _fstati64
#define os_lstat _wstati64
#define os_stat _wstati64
#define os_stat_struct struct _stati64
#define os_chown(name,uid,gid)
#define os_chmod _wchmod
#define os_utime _wutime
#define os_utimbuf_struct struct _utimbuf
#define os_remove _wremove
#define os_rename _wrename
#define os_system _wsystem
#define os_pclose _pclose
#define os_popen _wpopen
#define os_fopen _wfopen
#define os_fseek fseeko64
#define os_ftell ftello64
#define os_off_t off64_t
#define os_environ _wenviron
#define os_getenv _wgetenv
#define os_putenv _wputenv
#define os_getch _getwch
#define QUOTE_WHOLE_SHELL_COMMAND
#define USE_WINSOCK
#define USE_BIG_RTL_LIBRARY
#define OBJECT_FILE_EXTENSION ".o"
#define LIBRARY_FILE_EXTENSION ".a"
#define EXECUTABLE_FILE_EXTENSION ".exe"
#define C_COMPILER "gcc"
#define GET_CC_VERSION_INFO "gcc --version >"
#define CC_OPT_DEBUG_INFO "-g"
#define CC_OPT_NO_WARNINGS "-w"
#define CC_FLAGS "-ffunction-sections -fdata-sections"
#define REDIRECT_C_ERRORS "2>"
#define LINKER_OPT_NO_DEBUG_INFO "-Wl,--strip-debug"
#define LINKER_OPT_OUTPUT_FILE "-o "
#define LINKER_FLAGS "-Wl,--gc-sections,--stack,8388608"
#define SYSTEM_LIBS "-lm -lws2_32"
#define SYSTEM_CONSOLE_LIBS ""
#define SYSTEM_DRAW_LIBS "-lgdi32"
#define C_COMPILER_VERSION "gcc (Rev2, Built by MSYS2 project) 5.3.0"
#define UNISTD_H_PRESENT
#define HAS_SIGNAL 1
#define HAS_SIGACTION 0
#define makeDir(path,mode) mkdir(path)
#define likely(x) __builtin_expect((x),1)
#define unlikely(x) __builtin_expect((x),0)
#define NORETURN __attribute__ ((noreturn))
#define MACRO_DEFS "#define likely(x) __builtin_expect((x),1)\n#define unlikely(x) __builtin_expect((x),0)\n#define NORETURN __attribute__ ((noreturn))\n"
#define HAS_POPEN 1
#define POPEN_SUPPORTS_BINARY_MODE 1
#define POPEN_SUPPORTS_TEXT_MODE 1
#define FTELL_SUCCEEDS_FOR_PIPE 1
#define STDOUT_IS_IN_TEXT_MODE 1
#define FILENO_WORKS_FOR_NULL 1
#define FSEEK_SUCCEEDS_FOR_STDIN 1
#define FOPEN_OPENS_DIRECTORIES 0
#define FWRITE_WRONG_FOR_READ_ONLY_FILES 0
#define REMOVE_FAILS_FOR_EMPTY_DIRS 1
#define OS_PATH_HAS_DRIVE_LETTERS 1
#define HOME_DIR_ENV_VAR {'U', 'S', 'E', 'R', 'P', 'R', 'O', 'F', 'I', 'L', 'E', 0}
#define USE_ALTERNATE_UTIME
#define os_utime_orig _wutime
#undef os_utime
#define os_utime alternate_utime
#define EXDEV_IS_DEFINED
#define USE_EACCES_INSTEAD_OF_EXDEV
#define RENAME_BEFORE_REMOVE
#define SHORT_SIZE 16
#define INT_SIZE 32
#define LONG_SIZE 32
#define LONG_LONG_SIZE 64
#define POINTER_SIZE 64
#define FLOAT_SIZE 32
#define DOUBLE_SIZE 64
#define WCHAR_T_SIZE 16
#define OS_OFF_T_SIZE 64
#define TIME_T_SIZE 64
#define TIME_T_SIGNED 1
#define SIZE_T_SIGNED 0
#define BOOLTYPE _Bool
#define BOOLTYPE_STRI "_Bool"
#define INT8TYPE signed char
#define INT8TYPE_STRI "signed char"
#define UINT8TYPE unsigned char
#define UINT8TYPE_STRI "unsigned char"
#define INT16TYPE short int
#define INT16TYPE_STRI "short int"
#define UINT16TYPE unsigned short int
#define UINT16TYPE_STRI "unsigned short int"
#define INT32TYPE int
#define INT32TYPE_STRI "int"
#define UINT32TYPE unsigned int
#define UINT32TYPE_STRI "unsigned int"
#define INT32_SUFFIX(num) num
#define UINT32_SUFFIX(num) num ## U
#define INT32TYPE_LITERAL_SUFFIX ""
#define INT32TYPE_FORMAT ""
#define INT64TYPE long long
#define INT64TYPE_STRI "long long"
#define UINT64TYPE unsigned long long
#define UINT64TYPE_STRI "unsigned long long"
#define INT64_SUFFIX(num) num ## LL
#define UINT64_SUFFIX(num) num ## ULL
#define INT64TYPE_LITERAL_SUFFIX "LL"
#define INT64TYPE_FORMAT "ll"
#define INT128TYPE __int128
#define INT128TYPE_STRI "__int128"
#define UINT128TYPE unsigned __int128
#define UINT128TYPE_STRI "unsigned __int128"
#define RSHIFT_DOES_SIGN_EXTEND 1
#define TWOS_COMPLEMENT_INTTYPE 1
#define ONES_COMPLEMENT_INTTYPE 0
#define LITTLE_ENDIAN_INTTYPE 1
#define BIG_ENDIAN_INTTYPE 0
#define DO_SIGFPE_WITH_DIV_BY_ZERO
#define CHECK_INT_DIV_BY_ZERO 0
#define CHECK_INT_REM_BY_ZERO 0
#define CHECK_INT_REM_ZERO_BY_ZERO 1
#define OVERFLOW_SIGNAL ""
#define ROUND_HALF_AWAY_FROM_ZERO
#define PRINTF_SUPPORTS_VARIABLE_FORMATS 1
#define DOUBLE_MIN_EXP10 -308
#define DOUBLE_MAX_EXP10 308
#define MIN_PRINTED_EXPONENT_DIGITS 3
#define MAX_PRINTED_EXPONENT_DIGITS 3
#define FLOAT_STR_FORMAT "%1.5e"
#define FLOAT_STR_LARGE_NUMBER 1.0e6
#define DOUBLE_STR_FORMAT "%1.14e"
#define DOUBLE_STR_LARGE_NUMBER 1.0e15
#define CAST_INT_TO_FLOAT_OKAY 1
#define HAS_LOG2 1
#define HAS_CBRT 1
#define CHECK_FLOAT_DIV_BY_ZERO 0
#define USE_NEGATIVE_ZERO_BITPATTERN 0
#define os_isnan isnan
#define OS_ISNAN_DEFINITION "#define os_isnan isnan\n"
#define HAS_EXP 1
#define HAS_EXP2 1
#define HAS_EXP10 0
#define FLOAT_ZERO_TIMES_INFINITE_OKAY 1
#define NAN_COMPARISON_OKAY 1
#define NAN_MULTIPLICATION_OKAY 1
#define NAN_DIVISION_OKAY 1
#define MAX_ODD_FLOAT 16777215.0
#define MAX_ODD_DOUBLE 9007199254740991.0
#define POW_OF_NAN_OKAY 1
#define POW_OF_ZERO_OKAY 1
#define POW_OF_ONE_OKAY 1
#define POW_EXP_NAN_OKAY 1
#define POW_EXP_MINUS_INFINITY_OKAY 1
#define POW_UNDERFLOW_WITH_SIGN 1
#define PRINTS_NEGATIVE_ZERO 1
#define os_isinf isinf
#define FLOAT_TO_INT_OVERFLOW_SATURATES
#define INT_RANGE_IN_FLOAT_MAX 16777216
#define FLOAT_MANTISSA_FACTOR 16777216.0
#define FLOAT_MANTISSA_SHIFT 24
#define INT_RANGE_IN_DOUBLE_MAX 9007199254740992
#define DOUBLE_MANTISSA_FACTOR 9007199254740992.0
#define DOUBLE_MANTISSA_SHIFT 53
#define PRINTF_FMT_F_MAXIMUM_FLOAT_PRECISION 512
#define STRTOD_ACCEPTS_HEX_NUMBERS 1
#define ATOF_ACCEPTS_HEX_NUMBERS 0
#define STRTOD_ACCEPTS_DENORMAL_NUMBERS 1
#define ATOF_ACCEPTS_DENORMAL_NUMBERS 1
#define MALLOC_ALIGNMENT 4
#define UNALIGNED_MEMORY_ACCESS_OKAY 1
#define CASTING_GETS_A_UNION_ELEMENT 1
#define TRIGRAPH_SEQUENCES_ARE_REPLACED 0
#define STACK_GROWS_DOWNWARD
#define STACK_SIZE 0x1000000
#define USE_LOCALTIME_S
#define LOCALTIME_WORKS_SIGNED 0
#define DECLARE_OS_ENVIRON 0
#define USE_GET_ENVIRONMENT 0
#define INITIALIZE_OS_ENVIRON 1
#define HAS_GETRLIMIT 0
#define HAS_WMEMCMP 1
#define HAS_WMEMCHR 1
#define HAS_WMEMSET 1
#define HAS_SETJMP 1
#define HAS_SIGSETJMP 0
#define HAS_SYMBOLIC_LINKS 0
#define HAS_READLINK 0
#define HAS_FIFO_FILES 0
#define HAS_POLL 0
#define MYSQL_INCLUDE "db_my.h"
#define MYSQL_DLL "libmariadb.dll", "libmysql.dll",
#define SQLITE_INCLUDE "db_lite.h"
#define SQLITE_DLL "sqlite3.dll",
#define POSTGRESQL_INCLUDE "db_post.h"
#define POSTGRESQL_DLL "libpq.dll",
#define WINDOWS_ODBC
#define ODBC_INCLUDE_SQLEXT
#define ODBC_INCLUDE "sql.h"
#define OCI_INCLUDE "db_oci.h"
#define OCI_DLL "oci.dll",
#define INCLUDE_OPTIONS ""
#define SYSTEM_DB_LIBS "-lodbc32"
#define read_buffer_empty(fp) ((fp)->_cnt <= 0)
#define SEED7_LIB "seed7_05.a"
#define CONSOLE_LIB "s7_con.a"
#define DRAW_LIB "s7_draw.a"
#define COMP_DATA_LIB "s7_data.a"
#define COMPILER_LIB "s7_comp.a"
#define S7_LIB_DIR "/d/projs/s7/src/bin"
#define SEED7_LIBRARY "/d/projs/s7/src/lib"
> Regards
> Thomas Mertes
----
Thanks,
Arnel
|
|
From: Thomas M. <tho...@gm...> - 2016-02-23 11:21:10
|
Hi Arnel, To reproduce this problem I installed MSYS2 on a a 64-bit Windows 8.1 machine. I was able to install gcc 4.9.2 but you used 5.3.0 Please tell me the detailed commands to install gcc 5.3.0 Did you use the "makefile" or some "mk_*" variant? I proceeded with "makefile" (although it is intended for Linux) and gcc 4.9.2. Then it failed because X11 is missing in my default MSYS2 installation. Please tell me the detailed commands to install X11. When I have gcc 5.3.0 and X11 on my machine I can proceed to search for the error. >From the logs you provided it seems that float comparisons with NaN (Not a Number) do not work correctly. The program chkccomp.c checks the behaviour of NaN (and other things) and writes the result to version.h Your version file contains a definition for NAN_COMPARISON_OKAY. Depending on the value of NAN_COMPARISON_OKAY the function fltCmp (in flt_rtl.c) uses different code to compute the compare function. Please send me your version.h file. It contains helpful information about your compiler and your C runtime library. Regards Thomas Mertes |
|
From: Arnel L. <jal...@gm...> - 2016-02-16 13:10:37
|
Hi, After running 'make test' on the recently available Seed7 source using GCC 5.3.0 using MSYS2 (https://msys2.github.io/) on a 64-bit Windows 8.1 machine, I'm getting the following failure for the 'chkflt' part: ../bin/s7.exe -l ../lib ../prg/chk_all build SEED7 INTERPRETER Version 5.0.7542 Copyright (c) 1990-2016 Thomas Mertes checking for presence of ../bin/s7c.exe - okay chkint ........... okay chkovf ........... okay chkflt *** The interpreted chkflt does not work okay: Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. *** The compiled chkflt does not work okay: Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. *** The interpreted compiler and the compiled compiler do not produce the same output. *** The program chkflt does not work okay, when it is compiled with the compiled compiler. Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. The error happened with the option *** The compiled chkflt does not work okay: Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. *** The interpreted compiler and the compiled compiler do not produce the same output. *** The program chkflt does not work okay, when it is compiled with the compiled compiler. Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. The error happened with the option -oc0 *** The compiled chkflt does not work okay: Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. *** The interpreted compiler and the compiled compiler do not produce the same output. *** The program chkflt does not work okay, when it is compiled with the compiled compiler. Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. The error happened with the option -oc1 *** The compiled chkflt does not work okay: Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. *** The interpreted compiler and the compiled compiler do not produce the same output. *** The program chkflt does not work okay, when it is compiled with the compiled compiler. Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. The error happened with the option -oc2 *** The compiled chkflt does not work okay: Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. *** The interpreted compiler and the compiled compiler do not produce the same output. *** The program chkflt does not work okay, when it is compiled with the compiled compiler. Comparison of float values works correct. ***** Compare for float values does not work correct. ***** Compare of float values does not work correct. ***** Sci operator for float with many digits does not work correct. ***** Decimal conversion of float does not work correct. Conversion from integer to float works correct. Truncation of float works correct. Addition works correct for selected values. Division works correct for selected values. A ** B works correct for selected values. A ** B with integer B works correct for selected values. Negative zero does work correct. Infinity works correct for selected values. NaN works correct for selected values. The error happened with the option -oc3 chkchr ........... okay chkstr ........... okay chkprc ........... okay chkbig ........... okay chkbool ........... okay chkset ........... okay chkhsh ........... okay chkexc ........... okay makefile:119: recipe for target 'test' failed I've trawled the mailing list on Sourceforge and the Seed7 FAQ for answers and/or workarounds, but I have not found any. Any advice or suggestions? ---- Thanks, Arnel --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus |
|
From: Thomas M. <tho...@gm...> - 2015-11-30 15:11:41
|
Hello Bob,
Seed7 has specific makefiles for Mac OS X:
mk_osx.mak for compiling with gcc and
mk_osxcl.mak for compiling with clang.
Are you using one of these Mac OS X makefiles?
If not: Use one of them. You can either do A or B:
A) Use the option -f every time you call make, to specify the source file.
B: Copy the desired mk_osx*.mak to makefile and use the normal make
commands.
Do you have XQuartz (the X11 support of OS X) intalled?
If not: Install XQuartz. I cannot remember the details of
installing XQuartz. If there are several possibilites you need the
development version (which contains *.h header files).
The cause for "library not found for -lX11":
The place of the X11 library may be different on your computer. Maybe the place
of the library can be found somewhere in the documentation of XQuartz. The
linker option -lX11 searches for files like libX11.a or libX11.dylib (maybelibX11.so)
in directories like /lib /usr/lib /usr/local/lib, etc. On my Mac OS X machine (and
on the computers of several others) the X11 library is found in /usr/X11R6/lib.
You can search for the X11 library on your computer with:
find / -name "libX11*" -print
When you found the X11 library (e.g. libX11.a) in e.g. /strangeDir/lib you need to
change the makefile (e.g. mk_osx.mak) the line
LDFLAGS = -L/usr/X11R6/lib
to
LDFLAGS = -L/strangeDir/lib
If that does not work you can also change
SYSTEM_DRAW_LIBS = -lX11
to
SYSTEM_DRAW_LIBS =/strangeDir/liblibX11.a
Hope that helps.
Ich you have more questions just ask.
Regards,
Thomas Mertes
--
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
|
|
From: Thomas M. <tho...@gm...> - 2015-11-24 10:59:14
|
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div> <div>Hello Bob,</div> <div> </div> <div>Seed7 has specific makefiles for Mac OS X:</div> <div>mk_osx.mak for compiling with gcc and</div> <div>mk_osxcl.mak for compiling with clang.</div> <div> </div> <div>Are you using one of these Mac OS X makefiles?</div> <div> If not: Use one of them. You can either do A or B:</div> <div> A) Use the option -f every time you call make, to specify the source file.</div> <div> B: Copy the desired mk_osx*.mak to makefile and use the normal make</div> <div> commands.</div> <div> </div> <div>Do you have XQuartz (the X11 support of OS X) intalled?</div> <div> If not: Install XQuartz. I cannot remember the details of</div> <div> installing XQuartz. If there are several possibilites you need the</div> <div> development version (which contains *.h header files).</div> <div> </div> <div>The cause for "library not found for -lX11":</div> <div>The place of the X11 library may be different on your computer. Maybe the place</div> <div>of the library can be found somewhere in the documentation of XQuartz. The</div> <div>linker option -lX11 searches for files like libX11.a or libX11.dylib (maybelibX11.so)</div> <div>in directories like /lib /usr/lib /usr/local/lib, etc. On my Mac OS X machine (and</div> <div>on the computers of several others) the X11 library is found in /usr/X11R6/lib.</div> <div>You can search for the X11 library on your computer with:</div> <div> </div> <div> find / -name "libX11*" -print</div> <div> </div> <div>When you found the X11 library (e.g. libX11.a) in e.g. /strangeDir/lib you need to</div> <div>change the makefile (e.g. mk_osx.mak) the line</div> <div> </div> <div>LDFLAGS = -L/usr/X11R6/lib</div> <div> </div> <div>to</div> <div> </div> <div>LDFLAGS = -L/strangeDir/lib</div> <div> </div> <div>If that does not work you can also change</div> <div> </div> <div>SYSTEM_DRAW_LIBS = -lX11</div> <div> </div> <div>to</div> <div> </div> <div>SYSTEM_DRAW_LIBS =/strangeDir/liblibX11.a</div> <div> </div> <div>Hope that helps.</div> <div>Ich you have more questions just ask.</div> <div> </div> <div> <pre>Regards, Thomas Mertes -- Seed7 Homepage: <a href="http://seed7.sourceforge.net" rel="nofollow">http://seed7.sourceforge.net</a> Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch, statically typed, interpreted or compiled, portable, runs under linux/unix/windows. </pre> <div> </div> </div> </div></div></body></html> |
|
From: Bob F. <bob...@gm...> - 2015-11-14 00:46:58
|
Both clang and gcc make fail because of -LX11 not found, e.g., src$ make gcc -L/usr/X11R6/lib s7.o ../bin/s7_comp.a ../bin/s7_data.a ../bin/s7_draw.a ../bin/s7_con.a ../bin/seed7_05.a -lX11 -lncurses -lm -ldl -lsqlite3 -lpq -liodbc -o ../bin/s7 ld: library not found for -lX11 Bob |
|
From: Stéphane G. <ste...@wa...> - 2015-05-27 00:54:11
|
Hello, There is a small technical error in the manual; at line 245 of the text version, a bit of HTML code remains: ============= <font color="orange"> Programming should be fun ============= (It seems it was introduced 3 years ago, in version 20120603.) Goodbye, Stéphane. |
|
From: Thomas M. <tho...@gm...> - 2015-05-17 14:16:34
|
Hi Arkady, You must distinguish between X11 runtime support, and X11 development support. X11 runtime support is present on most computers, but may be missing on some servers. X11 development support (header files such as X11/X.h) is often not installed on todays computers. I think that Seed7 should not be compiled from source on every computer. Instead packages (or ports) should be used and installed on a computer. The BSD people support Seed7 with ports: OpenBSD port: http://openports.se/lang/seed7 FreeBSD port: http://www.freshports.org/lang/seed7 There is also an openSUSE package for Seed7: https://build.opensuse.org/package/show?package=seed7&project=home%3Azhonghuaren Unfortunately the openSUSE package is not updated so often. You mention Debian GNU/Linux 7.8. I made a Debian package for Seed7 in 2013, but without "sponsor" I was not able to get it into the repository. You can find still some discussions about that. E.g.: http://comments.gmane.org/gmane.linux.debian.devel.mentors/60182 I have attached my debian stuff from 2013. Maybe you can update it to a current version. With that you should be able to install a Seed7 package on the server. For the graphics I plan to have a similar solution as for the databases. Function pointers and dynamic loading should allow that programs run on computers without X11 installed. On a server a Seed7 program would get an exception, when it tries to open a window. I am experimenting with a GL graphics driver also. I have not yet decided how X11 and GL graphics mix. There is also the file drw_dos.c which works like a dummy graphics library. You can change the makefile to use drw_dos.c instead of drw_x11.c, but this is not a good solution. A Debian package for Seed7 would be the best solution. Greetings, Thomas Mertes |
|
From: Arkadiy K. <ark...@ya...> - 2015-05-07 20:33:23
|
Hello Seed7 Users, Today I have tried to compile seed7 interpreter on a shared hosting which doesn't have X11 libraries installed. The system is Debian GNU/Linux 7.8 and I see the following error: drw_x11.o drw_x11.c drw_x11.c:41:19: fatal error: X11/X.h: No such file or directory compilation terminated. make: *** [drw_x11.o] Error 1 I understand it might be a common practice to have no X11 packages on servers and looking for a solution. Perhaps the graphic libraries can be made optional in the make file? The end goal would be to have a simple web interface for running seed7 programs behind a web server similar to http://codepad.org/ My intention is to start with a simple scenario, i.e. submit the form data to a CGI script which will call s7 and return the standard output back. Please advice if you have any suggestions Thank you, Arkady K |