URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 301
[ Назад ]

Исходное сообщение
"CGI Си Linux2FreeBSD"

Отправлено gudleifr , 28-Ноя-01 20:25 
Господа, помогите чайнику!

Работающие на домашнем сервере (Linux Apache) тупые ELF-CGIшники ("Hello World" и не более того) после переноса на сервер (FreeBSD Apache) упорно валятся по signal 6. Хозяева хостинга упорно не хотят понять, в чем дело. Может проблема в ключах cc?

Заранее благодарен.
Глеб.


Содержание

Сообщения в этом обсуждении
"RE: CGI Си Linux2FreeBSD"
Отправлено DimaM , 28-Ноя-01 22:35 
>Господа, помогите чайнику!
>
>Работающие на домашнем сервере (Linux Apache)
>тупые ELF-CGIшники ("Hello World" и
>не более того) после переноса
>на сервер (FreeBSD Apache) упорно
>валятся по signal 6. Хозяева
>хостинга упорно не хотят понять,
>в чем дело. Может проблема
>в ключах cc?
>
>Заранее благодарен.
>Глеб.

imho, linux и freebsd немного разные вещи ;)
elf'ы являются полноценными программками и не зависят от web-сервера(apache). лучше, конечно, компилировать под той ОС, где они будут работать.

с уважением, Dmitry.


"RE: CGI Си Linux2FreeBSD"
Отправлено YOSNAIL , 02-Июн-02 20:31 
/* >>Господа, помогите чайнику!
* >>
* >>Работающие на домашнем сервере (Linux Apache)
* >>тупые ELF-CGIшники ("Hello World" и
* >>не более того) после переноса
* >>на сервер (FreeBSD Apache) упорно
* >>валятся по signal 6. Хозяева
* >>хостинга упорно не хотят понять,
* >>в чем дело. Может проблема
* >>в ключах cc?
* >>
* >>Заранее благодарен.
* >>Глеб.
* >
* >imho, linux и freebsd немного разные вещи ;)
* >elf'ы являются полноценными программками и не зависят от web-серве (apache). лучше, конечно, компилировать
* >под той ОС, где они будут работать.
* >
* >с уважением, Dmitry.
*
*
* А я предлагаю типа такую прогу скомпилить де надо!
* Типа сам на С++ пишу СGI !
*
*/

#include <iostream.h>
int main(int argc, char *argv[])
{ cout<<"Content-type: text/html\n"<<endl;

cout<<\
"<HTML><HEAD><TITLE> Testing CGI </TITLE><HEAD><BODY>\
<CENTER><H1>HELLO WORLD!!!</H1></CENTER>\
</BODY></HTML>"<<endl;

}

// Сто пудово сработает !!!


"RE: CGI Си Linux2FreeBSD"
Отправлено Sasha_Ka , 05-Июн-02 18:19 
поробуй собрать все библиотеки статиком, должно работать ..

только вот не помню как это делать короче man make


"RE: CGI Си Linux2FreeBSD"
Отправлено YOSNAIL , 07-Июн-02 23:02 
>поробуй собрать все библиотеки статиком, должно работать ..
>
>только вот не помню как это делать короче man make


YO! Типа это опять я! Сигнал номер 6 - это SIGABRT !!!
Он может быть вызван только програмно ( функцией аборт! )
Попробуй включить в CGI обработку сигналов !!!
man sigaction !!!
И забей на этот сигнал ! Предлагаю такой код:

#include <signal.h>
#include <string.h>

void ignore_signals(int signal_number)
{ ;
}

void sigaction__()
{ struct sigaction sa;
        memset (&sa, 0, sizeof(sa));
        sa.sa_handler = &ignore_signals;

        sigaction(SIGHUP, &sa, NULL);
}


Ну прсто по началу проги вызывай

sigaction__();

и болт сигналу!
А потом что - то типа :

cout<<"Content-type: text\html\n"<<endl;
cout<<"<HTML ..........

Типа удачи !!!

А что касается библиотек ... То если в них дело, переустанови их нафиг,
а если и мой совет не проканает, Apache дырявая ! Чо - то в ее
кодах abort(); мутит !!!! :)

Ну все ! PEASE FOR ALL !!!


"RE: CGI Си Linux2FreeBSD"
Отправлено YOSNAIL , 07-Июн-02 23:05 
>        sigaction(SIGHUP, &sa, NULL);

Тфу, блин, башка тупая моя! :)
Вместо SIGHUP подставь SIGABRT! И еще ...
Не СС в командной строке пиши, а с++ !!!