compiling 0.7.3 on cygwin64

Joel Rees <[email protected]>
Newsgroups gmane.comp.lang.forth.gforth
Message-ID <CAAr43iNS=p4SjWBkR-7Tr7gmLqv5A=8PP1aqEZD_C=w6wO2dPQ@mail.gmail.com>
Is it known to work, and any suggestions? Should I just grab the latest instead?

Looking in README,  INSTALL.DOS and INSTALL, I figured I should just
run ./configure in cygwin's bash shell.

Doing so, the only things that pop out as issues are

-----------------
checking for gforth... echo "You need to configure with a gforth in
\$PATH to build this part" && false
....
config.status: WARNING:  'engine/Makefile.in' seems to ignore the
--datarootdir setting
----------------

Following that with make,

----------------
In file included from ./engine.c:455:0:
prim: 関数 (function) ‘gforth_engine’ 内:
prim:2157:5: 警告 (warning): implicit declaration of function ‘ecvt’;
did you mean ‘exit’? [-Wimplicit-function-declaration]
prim:2157:4: 警告: 代入で整数からキャスト無しにポインタを作成しています (pointer from int without
cast) [-Wint-conversion]
In file included from ./engine.c:455:0:
prim:2513:8: 警告: 代入でのポインタの先の符号が異なります (sign of int pointed to is
different) [-Wpointer-sign]
prim:2514:12: 警告: 1 番目の ‘strlen’ の引数 (first arg) を渡すときのポインタの先の符号が異なります
[-Wpointer-sign]
In file included from ./engine.c:31:0:
/usr/include/string.h:41:9: 備考 (notice) : expected ‘const char *’ but
argument is of type ‘Char * {aka unsigned char *}’
 size_t  strlen (const char *);
         ^~~~~~
-----------

and similar warnings. No hard errors until

-----------
gcc  -export-dynamic engine-ll-reg.o engine2-ll-reg.o main-ll-reg.o
io.o signals.o support-ll-reg.o   -lffi -lm   -o gforth-ll-reg.exe
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld:
warning: --export-dynamic is not supported for PE+ targets, did you
mean --export-all-symbols?
make[3]: ディレクトリ '/home/H120903/gforth-0.7.3/engine' から出ます (leaving directory)
chcon: 'gforth-ll-reg.exe' のセキュリティコンテキストを取得できませんでした(couldn't get
security context): Not supported
make[3]: ディレクトリ '/home/H120903/gforth-0.7.3' に入ります (entering directory)
./preforth -p ".:~+:." -e 's" mach16b.fs"' ./kernel/main.fs -e
"save-cross kernl16b.fi- /usr/local/bin/gforth-0.7.3 bye"
./preforth -p ".:~+:." -e 's" mach16l.fs"' ./kernel/main.fs -e
"save-cross kernl16l.fi- /usr/local/bin/gforth-0.7.3 bye"
./preforth -p ".:~+:." -e 's" mach32b.fs"' ./kernel/main.fs -e
"save-cross kernl32b.fi- /usr/local/bin/gforth-0.7.3 bye"
./preforth -p ".:~+:." -e 's" mach32l.fs"' ./kernel/main.fs -e
"save-cross kernl32l.fi- /usr/local/bin/gforth-0.7.3 bye"
./preforth -p ".:~+:." -e 's" mach64b.fs"' ./kernel/main.fs -e
"save-cross kernl64b.fi- /usr/local/bin/gforth-0.7.3 bye"
./preforth -p ".:~+:." -e 's" mach64l.fs"' ./kernel/main.fs -e
"save-cross kernl64l.fi- /usr/local/bin/gforth-0.7.3 bye"
cp -p kernl64l.fi kernl64l.fi~
cp -p kernl64l.fi- kernl64l.fi
cp: 'kernl64l.fi-' を stat できません(can't stat): No such file or directory
make[3]: [Makefile:763: kernl64l.fi] エラー(error) 1 (無視されました(ignored))
cd engine && make gforth-ditc-noll.exe OPT=-noll OPTDEFINES= OPTOBJECTS=dblsub.o
make[4]: ディレクトリ '/home/H120903/gforth-0.7.3/engine' に入ります
gcc  -I./../arch/amd64 -I. -Wall -O2 -DHAVE_CONFIG_H
-DDEFAULTPATH='".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.7.3:/usr/local/share/gforth/0.7.3"'
  -fno-gcse -fno-strict-aliasing -fno-crossjumping -fno-reorder-blocks
-falign-labels=1 -falign-loops=1 -falign-jumps=1 -fno-defer-pop
-fcaller-saves -fno-inline -fno-reorder-blocks -DDOUBLY_INDIRECT -o
engine-ditc-noll.o -c ./engine.c
In file included from ./engine.c:455:0:
prim: 関数 ‘gforth_engine’ 内:
prim:2157:5: 警告: implicit declaration of function ‘ecvt’; did you mean
‘exit’? [-Wimplicit-function-declaration]
prim:2157:4: 警告: 代入で整数からキャスト無しにポインタを作成しています [-Wint-conversion]
In file included from ./engine.c:455:0:
prim:2513:8: 警告: 代入でのポインタの先の符号が異なります [-Wpointer-sign]
prim:2514:12: 警告: 1 番目の ‘strlen’ の引数を渡すときのポインタの先の符号が異なります [-Wpointer-sign]
In file included from ./engine.c:31:0:
/usr/include/string.h:41:9: 備考: expected ‘const char *’ but argument
is of type ‘Char * {aka unsigned char *}’
 size_t  strlen (const char *);
         ^~~~~~
gcc  -I./../arch/amd64 -I. -Wall -O2 -DHAVE_CONFIG_H
-DDEFAULTPATH='".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.7.3:/usr/local/share/gforth/0.7.3"'
  -DDOUBLY_INDIRECT -o main-ditc-noll.o -c ./main.c
./main.c:696:2: 警告: #warning You can ignore the warnings about
clobbered variables in gforth_go [-Wcpp]
 #warning You can ignore the warnings about clobbered variables in gforth_go
  ^~~~~~~
./main.c:919:14: 警告: ‘bsearch_next’ defined but not used [-Wunused-function]
 static Label bsearch_next(Label key, Label *a, UCell n)
              ^~~~~~~~~~~~
gcc -c  -I./../arch/amd64 -I. -Wall -O2 -DHAVE_CONFIG_H
-DDEFAULTPATH='".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.7.3:/usr/local/share/gforth/0.7.3"'
  -o support-noll.o ./support.c
gcc -c  -I./../arch/amd64 -I. -Wall -O2 -DHAVE_CONFIG_H
-DDEFAULTPATH='".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.7.3:/usr/local/share/gforth/0.7.3"'
  -o dblsub.o dblsub.c
gcc  -export-dynamic engine-ditc-noll.o main-ditc-noll.o io.o
signals.o support-noll.o  dblsub.o -lffi -lm   -o gforth-ditc-noll.exe
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld:
warning: --export-dynamic is not supported for PE+ targets, did you
mean --export-all-symbols?
make[4]: ディレクトリ '/home/H120903/gforth-0.7.3/engine' から出ます
cp -p engine/gforth-ditc-noll.exe gforth-ditc.exe
true
GFORTHD="./gforth-ditc -p .:." GFORTH="./gforth-ditc --die-on-signal
-p .:. -i kernl64l.fi exboot.fs startup.fs arch/amd64/asm.fs
arch/amd64/disasm.fs" includedir=`pwd`/include bindir=`pwd`
libccdir=`pwd`/lib/gforth/0.7.3/libcc-named/ ./gforthmi gforth.fi
--die-on-signal -p ".:~+:." -i kernl64l.fi exboot.fs startup.fs
arch/amd64/asm.fs arch/amd64/disasm.fs
chmod: 'gforth.fi' にアクセスできません (can't access) : No such file or directory
rm: './temp-image.fi1' を削除できません (can't delete): No such file or directory
rm: './temp-image.fi2' を削除できません (can't delete): No such file or directory
grep -v '^#line ' ./engine/prim.i >engine/prim-s.i
./engine/gforth-ll-reg.exe --die-on-signal -p
".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.7.3:/usr/local/share/gforth/0.7.3:."
test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs
test/string.fs test/float.fs test/deferred.fs test/coreext.fs
test/search.fs -e bye 2>&1 | tr -d '\015' | diff -c -
./test/coretest.out
*** -   2019-03-30 04:24:01.488768000 +0900
--- ./test/coretest.out 2013-10-12 06:31:28.093992500 +0900
***************
*** 1 ****
! ./engine/gforth-ll-reg: cannot open image file gforth.fi in path
.:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.7.3:/usr/local/share/gforth/0.7.3:.
for reading
--- 1,17 ----
! redefined {  redefined GDX  YOU SHOULD SEE THE STANDARD GRAPHIC CHARACTERS:
!  !"#$%&'()*+,-./0123456789:;<=>?@
! ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
! abcdefghijklmnopqrstuvwxyz{|}~
! YOU SHOULD SEE 0-9 SEPARATED BY A SPACE:
! 0 1 2 3 4 5 6 7 8 9
! YOU SHOULD SEE 0-9 (WITH NO SPACES):
! 0123456789
! YOU SHOULD SEE A-G SEPARATED BY A SPACE:
! A B C D E F G
! YOU SHOULD SEE 0-5 SEPARATED BY TWO SPACES:
! 0  1  2  3  4  5
! YOU SHOULD SEE TWO SEPARATE LINES:
! LINE 1
! LINE 2
! you should see this first.
! you should see this later.
make[3]: *** [Makefile:666: checkone] エラー 1 (error 1)
make[3]: ディレクトリ '/home/H120903/gforth-0.7.3' から出ます (leaving directory)
make[2]: *** [Makefile:812: gforth-ll-reg.exe] エラー 2 (error 2)
make[2]: ディレクトリ '/home/H120903/gforth-0.7.3' から出ます (leaving directory)
make[1]: *** [Makefile:823: optgforth] エラー 2 (error 2)
make[1]: ディレクトリ '/home/H120903/gforth-0.7.3' から出ます (leaving directory)
make[1]: ディレクトリ '/home/H120903/gforth-0.7.3' に入ります (entering directory)
make gforth-noll-reg.exe OPT=-noll-reg OPTDEFINES=-DFORCE_REG
OPTOBJECTS=dblsub.o
make[2]: ディレクトリ '/home/H120903/gforth-0.7.3' に入ります  (entering directory)
--------------

There are two more sequences like this, then it gives up:

--------------
make[3]: *** [Makefile:666: checkone] エラー 1 (error 1)
make[3]: ディレクトリ '/home/H120903/gforth-0.7.3' から出ます
make[2]: *** [Makefile:812: gforth-noll.exe] エラー 2 (error 2)
make[2]: ディレクトリ '/home/H120903/gforth-0.7.3' から出ます
make[1]: *** [Makefile:823: optgforth] エラー 2 (error 2)
make[1]: ディレクトリ '/home/H120903/gforth-0.7.3' から出ます
make: *** [Makefile:812: gforth.exe] エラー 2 (error 2)
--------------

-- 
Joel Rees

http://reiisi.blogspot.jp/p/novels-i-am-writing.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.