FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение grot » 13.02.2010 16:49:53

Здравствуйте коллеги !
(Заголовок сообщения подвергнут цензуре !)

Есть два компьютера с FreeBSD 6.3 : боевой и тестовый примерно одинаковой конфигурации.
На тестовом стоит FPC 2.4.0 - там я и компилирую свое простое приложение :
утилита для CGI - читает пару переменных окружения и запускает другую программу:
fpc -Mdelphi web.pas

пробовал параметр -XD
но все равно выходит статическая линковка :
(
%ldd ./web.cgi
ldd: ./web.cgi: not a dynamic executable
)
Внимание вопрос :
ПОЧЕМУ на тестовом компьютере приложение работает, а на боевом НЕТ !?!
(а выдает невразумительное : Runtime error 216 at $111916B2 )

Спасибо !
grot
новенький
 
Сообщения: 80
Зарегистрирован: 13.02.2010 16:33:03

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение coyot.rush » 13.02.2010 17:07:43

grot
ldd: ./web.cgi: not a dynamic executable

Подобную ошибку выдает ldd если его натравить на скрипт
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение grot » 13.02.2010 17:12:25

coyot.rush писал(а):
grot
ldd: ./web.cgi: not a dynamic executable

Подобную ошибку выдает ldd если его натравить на скрипт


Ошибку? Где ? Чью ? Я что-то недопонимаю ...

В данном случае ldd просто информирует, что
данное приложение слинковано статически и все !

А есть что сказать по существу вопроса ?
grot
новенький
 
Сообщения: 80
Зарегистрирован: 13.02.2010 16:33:03

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение coyot.rush » 13.02.2010 17:29:05

ПОЧЕМУ на тестовом компьютере приложение работает, а на боевом НЕТ !?!

Сам же написал на тестовом стоит fpc. значит с его устоновкой произошла какаята донастройка ситемы :?:
Может каието ограничения в виде ulimit :?:
PS эт только домыслы сам юзаю Linux. хотя там и там POSIX
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение grot » 13.02.2010 17:41:37

coyot.rush писал(а):
ПОЧЕМУ на тестовом компьютере приложение работает, а на боевом НЕТ !?!

Сам же написал на тестовом стоит fpc. значит с его устоновкой произошла какаята донастройка ситемы :?:
Может каието ограничения в виде ulimit :?:
PS эт только домыслы сам юзаю Linux. хотя там и там POSIX


Зашел как root - безрезультатно !

"Донастройка" при установке FPC возможна ...
Но при статической линковке внешние зависимости стремятся к нулю ...

Ха, ну и как тут возможно "распространять" готовую систему,
если между двумя своими компьютерами НЕ РАБОТАЕТ ?!?
grot
новенький
 
Сообщения: 80
Зарегистрирован: 13.02.2010 16:33:03

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение coyot.rush » 13.02.2010 17:52:31

Посчитал улетает по адресу aж 273 MB. :idea: Не свойственно для консольного приложения явно косяк вида
Код: Выделить всё
mov eax,some_var
jmp eax

Что гдето не так считаеться. Может ошибка в коде :?:
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение grot » 13.02.2010 18:39:07

Продолжение истории - делаю, как делал раньше бинарники для FreeBSD:
Захожу на Open SuSE 11.1 с FPC 2.2.2
так-же компилирую и переношу бинарник на FreeBSD 6.3
и запускаю :

%./web.cgi
ELF binary type "0" not known.
./web.cgi: Exec format error. Binary file not executable.

%brandelf -t Linux ./web.cgi
%./web.cgi
Segmentation fault

%ldd ./web.cgi
ldd: ./web.cgi: not a dynamic executable

Старый трюк не прошел,
вы спросите, а при чем здесь Java ...
grot
новенький
 
Сообщения: 80
Зарегистрирован: 13.02.2010 16:33:03

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение coyot.rush » 13.02.2010 18:45:43

На Open SuSE 11.1 с FPC 2.2.2 запускаеться???
PS FreeBSD 6.3, вышел FreeBSD 8
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение grot » 13.02.2010 18:49:00

coyot.rush писал(а):На Open SuSE 11.1 с FPC 2.2.2 запускаеться???

Конечно !

coyot.rush писал(а):PS FreeBSD 6.3, вышел FreeBSD 8

Не могу - у меня хостинг на 6.3 ...
grot
новенький
 
Сообщения: 80
Зарегистрирован: 13.02.2010 16:33:03

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение coyot.rush » 13.02.2010 19:05:59

Может это поможет Linux в гостях у FreeBSD http://www.xakep.ru/magazine/xa/101/116/1.asp
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение grot » 14.02.2010 01:25:59

Ну приложение в действительности не такое уж и простое - там используются Sockets для подключения к некоему серверу.
( стандартный unit Sockets). С похожими проблемами сталкивался и раньше когда делал клиента для E-mail ( по сути теже Sockets)
из CGI приложения. "Перетоптал" все что нашел - во FreeBSD 6.3 заработало _только_!_!_! приложение на базе Synapse с динамической линковкой. ( делал по вышеприведенному сценарию "из SuSE" ), а все остальное вываливалось с абсолютно неадекватными сообщениями ...

Похоже, придется перелопачивать Sockets в сторону Synapse...
(пи - пи ) или делать как все на этой (пи - пи) Java ?
grot
новенький
 
Сообщения: 80
Зарегистрирован: 13.02.2010 16:33:03

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение grot » 21.02.2010 14:42:50

Итак - итоги изысканий FPC vs. Java
на сервере FreeBSD 6.3 ( RAM - 64Mb, HDD 3G, on VirtualBox 3.x )

Испытатель: ab.exe (from Apache 2.2 on Windows) - 1000 запросов

FPC 2.4.0 - взят обрезанный пример из ExtPascal ( модуль fast-cgi на Apache 1.3.x mod_fastcgi )
- выводит только простой текст "Hello World!"

D:\temp>ab -v 0 -n 1000 -c 10 http://192.168.0.4/cgi-bin/web.fcgi
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software: Apache/1.3.39
Server Hostname: 192.168.0.4
Server Port: 80

Document Path: /cgi-bin/web.fcgi
Document Length: 14 bytes

Concurrency Level: 10
Time taken for tests: 33.594 seconds
Complete requests: 1000
Failed requests: 145
(Connect: 0, Receive: 0, Length: 145, Exceptions: 0)
Write errors: 0
Non-2xx responses: 145
Total transferred: 327995 bytes
HTML transferred: 98245 bytes
Requests per second: 29.77 [#/sec] (mean)
Time per request: 335.938 [ms] (mean)
Time per request: 33.594 [ms] (mean, across all concurrent requests)
Transfer rate: 9.53 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 4.2 0 16
Processing: 0 335 234.6 328 1609
Waiting: 0 333 233.6 328 1609
Total: 0 336 234.4 328 1609

Percentage of the requests served within a certain time (ms)
50% 328
66% 375
75% 422
80% 438
90% 516
95% 734
98% 1141
99% 1375
100% 1609 (longest request)

----------------------------------------------------------------------------------------------------
В результате испытуемый модуль просто ВЫЛЕТЕЛ !
========================================================================

Java :
JRE: diablo-latte-freebsd6-i386-1.6.0_07-b02.tar.bz2
apache-tomcat-6.0.18.tar.gz
Испытывается сервлет HelloWorld из прилагаемых примеров :

D:\temp>ab -v 0 -n 1000 -c 10 http://192.168.0.4:8080/examples/servlets/servlet/
HelloWorldExample
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software: Apache-Coyote/1.1
Server Hostname: 192.168.0.4
Server Port: 8080

Document Path: /examples/servlets/servlet/HelloWorldExample
Document Length: 359 bytes

Concurrency Level: 10
Time taken for tests: 2.500 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 507000 bytes
HTML transferred: 359000 bytes
Requests per second: 400.00 [#/sec] (mean)
Time per request: 25.000 [ms] (mean)
Time per request: 2.500 [ms] (mean, across all concurrent requests)
Transfer rate: 198.05 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 3.1 0 16
Processing: 0 24 16.0 16 125
Waiting: 0 23 15.8 16 125
Total: 0 24 16.2 16 125

Percentage of the requests served within a certain time (ms)
50% 16
66% 31
75% 31
80% 31
90% 31
95% 47
98% 78
99% 109
100% 125 (longest request)
--------------------------------------------------------------------------------------------------------
Сервлет - живой и легко прошел повторный аналогичный тест ...

Думайте и решайте сами ...
grot
новенький
 
Сообщения: 80
Зарегистрирован: 13.02.2010 16:33:03

Re: FreeBSD 6.3 (пи пи пи пииии пи пииии ) FPC

Сообщение Padre_Mortius » 21.02.2010 15:16:32

Скорее всего где-то есть ошибка, либо что-то не учли в момент разработки. Более детальный разбор поможет вам в этом.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб


Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru
cron