LINUX.ORG.RU

Сообщения mikek

 

newbee: Запутался в версиях Linux

Форум — General

Есть некоторое ПО, которое необходимо распространять в бинарниках.

Версии под FreeBSD, Solaris, Windows не вызывают никаких трудностей,
но вот с Линуксами я запутался окончательно:

В моем распоряжении было несколько дистрибутивов. Под каждым
я компилировал программу и потом каждую программу запускал
под каждым линуксом.

В итоге получил вот такую таблицу совместимости:

Таким образом у меня есть 4 версии программы, как мне указать, какая
из них для какого линукса ?

------------------------------------------------------------------
Компилировано в   Ядро    glic    Работает в        Ядро   glibc
------------------------------------------------------------------
Madrake-10.1      2.6.8   2.3.3   Madrake-10.1      2.6.8  2.3.3

SuSE 7.3          2.4.10  2.2.4   SuSE 7.3          2.4.10 2.2.4
                                  SuSE 9.0          2.4.21 2.3.2  
                                  Knopix 3.8        2.4.27 2.3.2
                                  Debian 3.0        2.2.20 2.2.5

IBM/Linyx LiveCD  2.6.3   2.3.3   IBM/Linyx LiveCD  2.6.3   2.3.3

Debian 2.2        2.2.17  2.1.3   Debian 2.2        2.2.17  2.1.3   




mikek
()

Версии библиотек

Форум — General

Компилирую под одним линуксом, просит libstdc++.so.5, под другим - просит libstdc++.so.6

Как мне правильна написать в системных требованиях это ?

Я видел что пишут так:

Linux glibc-2.2 (i386) и выше

Как мне писать ?

mikek
()

Проблема с сокетами.

Форум — Development

Пишу небольшой сервер. Все работает. Только два нюанса. После того, как accept первый раз возвращает «-1», последующие вызовы этой функции начинают возвращать «0» вместо IP адреса.

Вот кусочек кода:

memset(&c_sock_info,0,addr_length); c_sock=accept(m_sock,(struct sockaddr *)&c_sock_info,(socklen_t*)&addr_length);

if (c_sock<=0) continue; if (c_sock>0) { sendbuff_size=0; sendbuff[0]=0; memset(buf,0,MAXRECV+1); int status=recv(c_sock,buf,MAXRECV,O_NONBLOCK); char *ip=strdup(inet_ntoa(c_sock_info.sin_addr)); &#8230;

Вторая проблема в том, что сервер попросту вываливается, если в MSIE просто подержать F5. При тестировании через ab все работает, даже с большим количеством параллельных запросов.

Может кто-то встречался с такой проблемой?

mikek
()

Особенности программирования для FreeBSD

Форум — Development

Если я добавляю эту функцию в сорцы (просто добавляю, я ее даже не вызываю), то Segmentation Fault

-------------- void make_crctable( void ) { unsigned int i, j; UCRC r;

for (i = 0; i <= 255; i++) { r = i; for (j = 8; j > 0; j--) { if (r & 1) r = (r >> 1) ^ CRCPOLY; else r >>= 1; } crctable[i] = r; } } -------------

если же я ее заменяю на

-------------- void make_crctable( void ) { } -------------

то все работает.

И Все это только во FreeBSD, в Windows и в SUSE Linux все работает и так, и так.

mikek
()

Особенности программирования под FreeBSD

Форум — Development

Столкнулся тут с такой проблемой, моя программа не хочет работать под FreeBSD (пробовал 3.4 и 4.3). Все компилируется, но во время работы Segmentation Fault. Во время отладки не может обратится к некоторым глобальным переменным (объявленым как static).

Причем под Windows и SUSE Linux все работает на ура. Утечек памяти и прочей байды нет. Проверено CodeGuard'ом.

mikek
()

RSS подписка на новые темы