Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 14:54

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Чт янв 17, 2019 20:17 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Привет всем!

Можно ли на 64-bit Linux собрать SPF 4.20 32-bit из исходников, никто не пробовал?

Старособранный 32-bit СПФ работает, но дает ошибку при выходе

EXCEPTION!  CODE:0000000B  ADDRESS:F7D308D4  WORD:<?not found>
USER DATA: F7EDA200 THREAD ID: F7F22940 HANDLER: 00000000
[Segmentation fault] Code:UNHANDLED EXCEPTION: FFFFFFF6
RETURN STACK:
FFAA7200 : 08053137 CATCH
FFAA7204 : 00000000
FFAA7208 : FFAA81BC
FFAA720C : 08069497 FATAL-HANDLER1
FFAA7210 : 080530CB THROW
FFAA7214 : 080698D2 (errsignal)
FFAA7218 : 0805211C _WNDPROC-CODE
FFAA721C : F7EDA200
FFAA7220 : 00000010
FFAA7224 : FFAA81CC
FFAA7228 : FFAA824C
FFAA722C : 00000000
FFAA7230 : F7F27070
[...]
SOURCE:

^ -10 Деление на ноль


СПФ из гита не собирается

~/s/s/src (master|…) $ ./compile
rm: cannot remove 'spf4.o': No such file or directory
make: Entering directory '/home/oleg/src/spf-spf/src/posix'
gcc -Wall -Werror -DSPF_SRC config.c -oconfig.gen -m32
In file included from config.c:7:
config.c: In function ‘test’:
config.c:38:10: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_sigaction) == 0)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:39:10: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_mask) == CELL)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:40:10: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_flags) == sizeof(sigset_t) + CELL)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:41:10: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_restorer) - offsetof(struct sigaction, sa_flags) == CELL)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:41:51: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_restorer) - offsetof(struct sigaction, sa_flags) == CELL)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:42:17: error: invalid application of ‘sizeof’ to incomplete type ‘struct sigaction’
ENSURE(sizeof(struct sigaction) == 3*CELL + sizeof(sigset_t))
^~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c: In function ‘main’:
config.c:66:11: error: ‘SA_RESTART’ undeclared (first use in this function)
DEFINE( SA_RESTART )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:66:11: note: each undeclared identifier is reported only once for each function it appears in
DEFINE( SA_RESTART )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:67:11: error: ‘SA_SIGINFO’ undeclared (first use in this function); did you mean ‘S_IFIFO’?
DEFINE( SA_SIGINFO )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:68:11: error: ‘SA_NODEFER’ undeclared (first use in this function)
DEFINE( SA_NODEFER )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:70:11: error: ‘SIGILL’ undeclared (first use in this function)
DEFINE( SIGILL )
^~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:71:11: error: ‘SIGSEGV’ undeclared (first use in this function)
DEFINE( SIGSEGV )
^~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:72:11: error: ‘SIGBUS’ undeclared (first use in this function)
DEFINE( SIGBUS )
^~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:73:11: error: ‘SIGFPE’ undeclared (first use in this function)
DEFINE( SIGFPE )
^~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:74:11: error: ‘SIGINT’ undeclared (first use in this function)
DEFINE( SIGINT )
^~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:75:33: error: unknown type name ‘siginfo_t’
CONST( SIGINFO_CODE, offsetof(siginfo_t,si_code))
^~~~~~~~~
config.h:28:41: note: in definition of macro ‘CONST’
#define CONST(name,value) a_const(#name,value,#value);
^~~~~
config.c:76:11: error: ‘FPE_INTDIV’ undeclared (first use in this function)
DEFINE( FPE_INTDIV )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:77:11: error: ‘FPE_INTOVF’ undeclared (first use in this function)
DEFINE( FPE_INTOVF )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:78:11: error: ‘FPE_FLTDIV’ undeclared (first use in this function)
DEFINE( FPE_FLTDIV )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:79:11: error: ‘FPE_FLTOVF’ undeclared (first use in this function)
DEFINE( FPE_FLTOVF )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:80:11: error: ‘FPE_FLTUND’ undeclared (first use in this function)
DEFINE( FPE_FLTUND )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:81:11: error: ‘FPE_FLTRES’ undeclared (first use in this function)
DEFINE( FPE_FLTRES )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:82:11: error: ‘FPE_FLTINV’ undeclared (first use in this function)
DEFINE( FPE_FLTINV )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
make: *** [Makefile:9: config.gen] Error 1
make: Leaving directory '/home/oleg/src/spf-spf/src/posix'
Wait a bit while compiling...
./compile: 13: ./compile: ./spf4orig: not found
gcc: error: spf4.o: No such file or directory
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 8.2.0-7ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 8.2.0 (Ubuntu 8.2.0-7ubuntu1)
mv: cannot stat 'spf4': No such file or directory


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Вс янв 20, 2019 15:24 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Запустился старый СПФ
Что это было - неизвестно


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Ср янв 23, 2019 23:04 
Не в сети

Зарегистрирован: Пт июн 06, 2008 14:21
Сообщения: 128
Откуда: Карелия
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.
Цитата:
СПФ из гита не собирается
Там может проблема с окончанием строки, стоит только 0xA, и под Win не собирается тоже, пока 0xD не добавить


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Вт окт 08, 2019 19:01 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Собрал-таки
Сделал несколько исправлений
Добавил старые spf4orig и compile.ini, которых нет в гите, но валялись у меня

Но он не запускается
Код:
“./spf4” terminated by signal SIGSEGV (Address boundary error)

Буду дальше рыть, может что и выйдет


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Ср окт 09, 2019 19:33 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
oco писал(а):
Собрал-таки
Сделал несколько исправлений
Добавил старые spf4orig и compile.ini, которых нет в гите, но валялись у меня

Но он не запускается
Код:
“./spf4” terminated by signal SIGSEGV (Address boundary error)

Буду дальше рыть, может что и выйдет

Могу быть "тестеровщиком"! :wink:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Чт окт 10, 2019 11:48 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Спасибо!

Вроде починил и сделал ПР в основной репозиторий.
Тут форк, можно пробовать https://github.com/oco2000/spf


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Чт окт 10, 2019 22:22 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
oco писал(а):
Спасибо!

Вроде починил и сделал ПР в основной репозиторий.
Тут форк, можно пробовать https://github.com/oco2000/spf

На вскидку не взлетело :( :
Код:
cd src
make

make: *** Нет правила для сборки цели «compile.ini», требуемой для «spf4.o».  Останов.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Пт окт 11, 2019 13:54 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Надо зайти в src, скопировать файл compile.ini.linux в файл compile.ini и запустить compile, а не make


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Пт окт 11, 2019 19:56 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
oco писал(а):
Надо зайти в src, скопировать файл compile.ini.linux в файл compile.ini и запустить compile, а не make

Собралось и вроде работает!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Вт окт 15, 2019 11:53 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Отлично, я тоже потестил на своих проектах, вроде ок


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Вс янв 07, 2024 14:21 
Не в сети

Зарегистрирован: Сб май 19, 2007 18:05
Сообщения: 18
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Доброго времени суток!

oco писал(а):
Надо зайти в src, скопировать файл compile.ini.linux в файл compile.ini и запустить compile, а не make

Скопировал compile.ini.linux в файл compile.ini и запустил ./compile. Получил
Код:
gcc -Wall -Werror -DSPF_SRC config.c -oconfig.gen -m32
In file included from config.h:7:0,
                 from config.c:7:
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: Нет такого файла или каталога
#include <bits/libc-header-start.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.


Что я сделал неправильно?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Вс янв 07, 2024 19:30 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 174
Благодарил (а): 20 раз.
Поблагодарили: 13 раз.
marc_2006 писал(а):
Получил
Код:
gcc -Wall -Werror -DSPF_SRC config.c -oconfig.gen -m32
In file included from config.h:7:0,
                 from config.c:7:
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: Нет такого файла или каталога
#include <bits/libc-header-start.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.


Что я сделал неправильно?


Могу предположить, что у Вас стоит чисто 64-битная версия компилятора, поэтому при указании флага -m32 начинаются проблемы. Нужно поставить версию для i686 или multilib (и 32 и 64 бита)



За это сообщение автора zma поблагодарил: marc_2006
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB