Вопрос по gcc-4.1

2007-01-01 Пенетрантность Dmitriy Sirant

Добрый день

Понимаю что офтоп, но простите, это в первый раз в этом году :)
Тему про индуских программистов тоже читал и честно попытался в течении 
дня найти ответ в конференциях и google, но видимо не хватает общих 
знаний по данному вопросу.


Год назад была написана програмка для авторизации через радиус (xtradius 
- внешний модуль авторизации). С gcc-3.4 все компилируется и работает 
без проблем.
Пришел новый сервер, на него поставил etch и решил пересобрать с gcc-4.1 
- при сборке показало варнинг и перестала работать CHAP авторизация. 
Если не сложно - подскажите, что не устраивает новый gcc, так как на C 
писать приходилось только чуть-чуть, а этот кусок кода был найден где-то 
на просторах интернета...


Вот текст ошибки, код в приложении.

gcc-4.1 -c auth_radius.c -O3 -ffast-math -march=i686 -funroll-loops 
-Wall -W -DCRYPT -I/usr/include/mysql

auth_radius.c: In function 'main':
auth_radius.c:208: warning: pointer targets in passing argument 1 of 
'strlen' differ in signedness
auth_radius.c:208: warning: pointer targets in passing argument 1 of 
'strlen' differ in signedness
auth_radius.c:208: warning: pointer targets in passing argument 2 of 
'__builtin_strcmp' differ in signedness
auth_radius.c:208: warning: pointer targets in passing argument 2 of 
'__builtin_strcmp' differ in signedness
auth_radius.c:208: warning: pointer targets in passing argument 1 of 
'strlen' differ in signedness
auth_radius.c:208: warning: pointer targets in passing argument 2 of 
'__builtin_strcmp' differ in signedness
auth_radius.c:208: warning: pointer targets in passing argument 2 of 
'__builtin_strcmp' differ in signedness
auth_radius.c:208: warning: pointer targets in passing argument 2 of 
'strncmp' differ in signedness
gcc-4.1 -o auth_radius auth_radius.o -L/usr/lib -lmysqlclient -lcrypt 
-lsasl2 -lz
#include stdio.h
#include fcntl.h
#include stdlib.h
#include string.h
#include time.h
#include mysql.h
#include conf.h
#include config.c
#include base_func.h
#include errno.h
#include timestr.c
#include sasl/md5global.h
#include sasl/md5.h

char *crypt(const char *key, const char *salt);
char *crypt_pw(char *ct_pw, char *salt);

MYSQL mysql;
char *SQL;
int rc;

char *crypt_pw(char *ct_pw, char *salt)
{
char *st;

st = (char *) malloc(35*sizeof(char));
strcpy(st, (char *) crypt(ct_pw, salt));
return st;
}

int
main (int argc, char *argv[])
{

MYSQL_RES *result;
MYSQL_ROW row;

char *st;
char *salt;
char *pw_string;

int l;

char *command;
int command_length, rc, ret;
char *username = ;
char *password = ;
char msg[256];
char *challenge = ;
char *secret = ;
char authtype[4];

ret = 0;

readConfigFile (CONFIG_FILE);

username = strdup(argv[1]);

if (argc == 2)
{
strcpy(authtype, CHAP);
}
else if (argc == 3)
{
strcpy(authtype, PAP);
}

if (strcmp(authtype, PAP) == 0)
{
if (getenv(Password))
{
password = getenv(Password);
}
else
{
password = strdup(argv[2]);
}
}
else if (strcmp(authtype, CHAP) == 0)
{
challenge = (char *) malloc (sizeof(char)*256);
pack(getenv(CHAP-Challenge),challenge);
secret = (char *) malloc (sizeof(char)*256);
pack(getenv(CHAP-Password),secret);
}

mysql_init(mysql);
if 
(!mysql_real_connect(mysql,mysql_server,mysql_user,mysql_passwd,mysql_database,0,NULL,0))
{
fprintf(stderr, Failed to connect to database: Error: %s\n,
mysql_error(mysql));
exit(1);
}

command_length = sizeof(SQL_SET_NAMES);
command = (char *) malloc(command_length*sizeof(char) + 1);
command_length = snprintf(command,command_length,SQL_SET_NAMES);

rc = mysql_real_query(mysql, command, command_length);
if (rc) { printf(Blah! %s\n, mysql_error(mysql)); exit(1); }
free(command);

if ((strstr(username, :)) || ((strlen(username) == 13)  (strstr(username, 
-
{
if ((strlen(username) == 13)  (strstr(username, -)))
{
sprintf (username, %c%c:%c%c:%c%c:%c%c:%c%c:%c%c, 
username[0],username[1],username[2],username[3],username[4],username[5],username[7],username[8],username[9],username[10],username[11],username[12]);
}
if (strcmp(password,radius_share_secret) == 0)
{
command_length = sizeof(SQL_SELECT_RADIO) + strlen(username);
command = (char *) malloc(command_length*sizeof(char) + 1);
command_length = 
snprintf(command,command_length,SQL_SELECT_RADIO,username);

rc = mysql_real_query(mysql, command, command_length);
if (rc) { printf(Blah! %s\n, mysql_error(mysql)); exit(1); }
free(command);
result = mysql_store_result(mysql);
row = mysql_fetch_row(result);
mysql_free_result(result);
mysql_close(mysql);

if ( !row )
{
fprintf(stdout, Reply-Message=\We havent client with MAC 
'%s'\\n, username);
exit(1);
}

if (strcmp(row[0],0) == 0)
{
fprintf(stdout, Reply-Message=\All OK, password '%s', ip '%s', 
name '%s'\\n, password, 

Re: Пакет pocketpc-gcc и программирование под WinCE

2007-01-01 Пенетрантность Pechnikov Alexey
eTcl при работе с SQLite базой данных на КПК начинает сильно тормозить при 
получении записей из базы данных. Например, получение 100 записей по 5 байт 
занимает около 15 сек, а по 50 байт - 30 секунд. При этом просто отображение 
текста из файла работает без видимой задержки, программа на С++ из той же 
базы выводит данные также быстро. Можно ли как-то ускорить работу? 
Под линуксом программа на eTcl печатает все результаты запроса к базе в 
консоль, может, как раз этот вывод и тормозит на КПК.


Re: Пакет pocketpc-gcc и программирование под WinCE

2007-01-01 Пенетрантность Pechnikov Alexey
В сообщении от Понедельник 01 января 2007 18:45 Pechnikov Alexey написал(a):
 eTcl при работе с SQLite базой данных на КПК начинает сильно тормозить при
 получении записей из базы данных. Например, получение 100 записей по 5 байт
 занимает около 15 сек, а по 50 байт - 30 секунд. При этом просто
 отображение текста из файла работает без видимой задержки, программа на С++
 из той же базы выводит данные также быстро. Можно ли как-то ускорить
 работу? Под линуксом программа на eTcl печатает все результаты запроса к
 базе в консоль, может, как раз этот вывод и тормозит на КПК.

Отвечаю сам себе, может быть, еще кому-то пригодится. Извлечение записей в 
массив идет медленно (так я пытался делать раньше), а вот приведенная ниже 
конструкция работает быстро:

 db eval {select id from table1} {
puts $id
 }


Re: Вопрос по gcc-4.1

2007-01-01 Пенетрантность Dmitry Nezhevenko
On Mon, Jan 01, 2007 at 02:23:51PM +0200, Dmitriy Sirant wrote:
 Вот текст ошибки, код в приложении.
 
 gcc-4.1 -c auth_radius.c -O3 -ffast-math -march=i686 -funroll-loops 
 -Wall -W -DCRYPT -I/usr/include/mysql
 auth_radius.c: In function 'main':
 auth_radius.c:208: warning: pointer targets in passing argument 1 of 
 'strlen' differ in signedness

Это ругань на то что strncmp подсовывается unsigned char* в качестве
одного из аргумента. ПО идее от warning-а избавит замена

if(strncmp(secret+1,hash,16) == 0)
на
if(strncmp(secret+1,(char*)hash,16) == 0)

Но это вряд ли является причиной проблемы.

-- 
WBR, Dmitry


signature.asc
Description: Digital signature


fglrx troubles

2007-01-01 Пенетрантность Alexander GQ Gerasiov
Всех с новым годом.

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

Железка: ATI Radeon X1650Pro (в исполнении Gigabyte)
Система: etch

Проблема номер раз:
перестал работать tvtime - просмотрщик телевизора.
Говорит 
xvoutput: No XVIDEO port found which supports YUY2 images.
В гугле советуют поиграться настройками fglrx (VideoOverlay) но это не
помогает. Может кто знает что с этим можно сделать или знает, где
почитать подробнее о xvideo?

Проблема номер два:
У меня все время запущено 2 Хсервера на 7 и 8 терминалах. С nVidia,
которая у меня стояла раньше все было хорошо: в обоих иксах работал
DRI (Насколько понимаю только для текущего активного сервера.). А тут я
столкнулся с тем, что первый запущенный сервер цепляется к ядерному
модулю и второй сообщает
(WW) fglrx(0): ***
(WW) fglrx(0): * DRI initialization failed!  *
(WW) fglrx(0): * (maybe driver kernel module missing or bad) *
(WW) fglrx(0): * 2D acceleraton available (MMIO) *
(WW) fglrx(0): * no 3D acceleration available*
(WW) fglrx(0): * *
Это что же никак нельзя запустить оба сервера с DRI?

-- 
Александр.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



captive ntfs

2007-01-01 Пенетрантность Mikhail Ramendik
Всем привет!

Понадобился мне captive ntfs. У хорошего знакомого архивный диск ntfs-ный, а 
мне ему хотелось бы кое-что записывать; насколько я понимаю, ядерный 
драйвер для этого пока что не подходит (если я неправ, просьба поправить).

Со страницы http://www.jankratochvil.net/project/captive/ доступны rpm, 
бинарный tgz и исходники. Я попробовал поставить rpm через alien; но 
почему-то в результате не обнаружился sandbox server, и rw режим отказался 
запускаться.

Собирать из исходников? Или где-то можно найти deb?


-- 
Yours, Mikhail Ramendik


Re: captive ntfs

2007-01-01 Пенетрантность Pechnikov Alexey
aptitude search ntfs
p   libntfs-3g-dev- ntfs-3g filesystem 
in userspace (FUSE) library headers
p   libntfs-3g0   - ntfs-3g filesystem 
in userspace (FUSE) library
p   libntfs-dev   - library that 
provides common NTFS access functions (development
p   libntfs-gnomevfs  - NTFS GNOME virtual 
filesystem module
p   libntfs9  - library that 
provides common NTFS access functions
p   ntfs-3g   - read-write NTFS 
driver for FUSE
p   ntfsdoc   - documentation 
about NTFS partitions format
p   ntfsprogs - tools for doing 
neat things in NTFS partitions from Linux


aptitude show ntfs-3g

Описание: read-write NTFS driver for FUSE
 The ntfs-3g driver is an open source, GPL licensed, third generation Linux 
NTFS driver for 32-bit, little-endian
 architectures which was implemented by the Linux-NTFS project. It provides 
full read-write access to NTFS, excluding access
 to encrypted files, writing compressed files, changing file ownership, access 
right.

 Technically it's based on and a major improvement to the third generation 
Linux NTFS driver, ntfsmount. The improvements
 includes functionality, quality and performance enhancements.

 The driver currently is in BETA status: before release of this software we 
haven't experienced any driver crashes or data
 loss during our heavy quality testing, however we are aware of some minor 
issues which will be resolved in the near future.

 ntfs-3g is based on FUSE (userspace filesystem framework for Linux), thus you 
will have to prepare fuse kernel module to be
 able to use it.



Re: fglrx troubles

2007-01-01 Пенетрантность Roman Makurin
В сообщении от Понедельник 01 января 2007 19:59 Alexander GQ Gerasiov 
написал(a):
 Всех с новым годом.

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

 Железка: ATI Radeon X1650Pro (в исполнении Gigabyte)
 Система: etch

 Проблема номер раз:
 перестал работать tvtime - просмотрщик телевизора.
 Говорит
 xvoutput: No XVIDEO port found which supports YUY2 images.
 В гугле советуют поиграться настройками fglrx (VideoOverlay) но это не
 помогает. Может кто знает что с этим можно сделать или знает, где
 почитать подробнее о xvideo?

По-моему это решается добавлением в xorg.conf
Driver  fglrx
Option  VideoOverlay on



 Проблема номер два:
 У меня все время запущено 2 Хсервера на 7 и 8 терминалах. С nVidia,
 которая у меня стояла раньше все было хорошо: в обоих иксах работал
 DRI (Насколько понимаю только для текущего активного сервера.). А тут я
 столкнулся с тем, что первый запущенный сервер цепляется к ядерному
 модулю и второй сообщает
 (WW) fglrx(0): ***
 (WW) fglrx(0): * DRI initialization failed!  *
 (WW) fglrx(0): * (maybe driver kernel module missing or bad) *
 (WW) fglrx(0): * 2D acceleraton available (MMIO) *
 (WW) fglrx(0): * no 3D acceleration available*
 (WW) fglrx(0): * *
 Это что же никак нельзя запустить оба сервера с DRI?


Черт его знает, у меня вообще всегда в этом месте система намертво виснет :)

 --
 Александр.

-- 
If you think of MS-DOS as mono, and Windows as stereo,
  then Linux is Dolby Digital and all the music is free...


Re: captive ntfs

2007-01-01 Пенетрантность Виталий Ищенко
В Пнд, 01/01/2007 в 20:30 +, Mikhail Ramendik пишет:
 Всем привет!
 
 Понадобился мне captive ntfs. У хорошего знакомого архивный диск ntfs-ный, а 
 мне ему хотелось бы кое-что записывать; насколько я понимаю, ядерный 
 драйвер для этого пока что не подходит (если я неправ, просьба поправить).
 
 Со страницы http://www.jankratochvil.net/project/captive/ доступны rpm, 
 бинарный tgz и исходники. Я попробовал поставить rpm через alien; но 
 почему-то в результате не обнаружился sandbox server, и rw режим отказался 
 запускаться.

Пожалуй ntfs-3g будет лучше, чем captive
captive крайне медленный и багов тоже с вагончик
Для ntfs-3g нужен fuse


Re: fglrx troubles

2007-01-01 Пенетрантность Alexander GQ Gerasiov
На Tue, 2 Jan 2007 00:35:52 +0300
Roman Makurin [EMAIL PROTECTED] записано:
  Проблема номер раз:
  перестал работать tvtime - просмотрщик телевизора.
  Говорит
  xvoutput: No XVIDEO port found which supports YUY2 images.
  В гугле советуют поиграться настройками fglrx (VideoOverlay) но это
  не помогает. Может кто знает что с этим можно сделать или знает, где
  почитать подробнее о xvideo?
 
 По-моему это решается добавлением в xorg.conf
 Driver  fglrx
 Option  VideoOverlay on
У меня не решается :( Даже если добавить OpenGLOverlay off или как-то
вроде.
 
 
 
  Проблема номер два:
  У меня все время запущено 2 Хсервера на 7 и 8 терминалах. С nVidia,
  которая у меня стояла раньше все было хорошо: в обоих иксах работал
  DRI (Насколько понимаю только для текущего активного сервера.). А
  тут я столкнулся с тем, что первый запущенный сервер цепляется к
  ядерному модулю и второй сообщает
  (WW) fglrx(0): ***
  (WW) fglrx(0): * DRI initialization failed!  *
  (WW) fglrx(0): * (maybe driver kernel module missing or bad) *
  (WW) fglrx(0): * 2D acceleraton available (MMIO) *
  (WW) fglrx(0): * no 3D acceleration available*
  (WW) fglrx(0): * *
  Это что же никак нельзя запустить оба сервера с DRI?
 
 
 Черт его знает, у меня вообще всегда в этом месте система намертво
 виснет :)
Похоже придется продавать радеон и покупать гефорс =/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Бекпорт ntfs-3g, было captive ntfs

2007-01-01 Пенетрантность Mikhail Ramendik
On Monday 01 January 2007 23:21, Виталий Ищенко wrote:

 Пожалуй ntfs-3g будет лучше, чем captive
 captive крайне медленный и багов тоже с вагончик
 Для ntfs-3g нужен fuse

fuse как раз в бекпортах есть. А вот ntfs-3g нету. Я попытался сделать бекпорт 
из testign самостоятельно, но всё сыпется абсолютно непонятным мне образом - 
libntfs-3g.so.0.0.0, собирается, но не инсталлится, и соответственно и сборка 
обламывается.

Подробности, которые я смог найти:

На этапе сборки 

i386-linux-gcc 
-shared  .libs/libntfs_3g_la-attrib.o .libs/libntfs_3g_la-attrlist.o 
.libs/libntfs_3g_la-bitmap.o .libs/libntfs_3g_la-bootsect.o 
.libs/libntfs_3g_la-collate.o .libs/libntfs_3g_la-compat.o 
.libs/libntfs_3g_la-compress.o .libs/libntfs_3g_la-debug.o 
.libs/libntfs_3g_la-device.o .libs/libntfs_3g_la-device_io.o 
.libs/libntfs_3g_la-dir.o .libs/libntfs_3g_la-index.o 
.libs/libntfs_3g_la-inode.o .libs/libntfs_3g_la-lcnalloc.o 
.libs/libntfs_3g_la-logfile.o .libs/libntfs_3g_la-logging.o 
.libs/libntfs_3g_la-mft.o .libs/libntfs_3g_la-misc.o .libs/libntfs_3g_la-mst.o 
.libs/libntfs_3g_la-runlist.o .libs/libntfs_3g_la-security.o 
.libs/libntfs_3g_la-unistr.o .libs/libntfs_3g_la-version.o 
.libs/libntfs_3g_la-volume.o   
-Wl,-z -Wl,defs -Wl,-soname -Wl,libntfs-3g.so.0 -o .libs/libntfs-3g.so.0.0.0
(cd .libs  rm -f libntfs-3g.so.0  ln -s libntfs-3g.so.0.0.0 
libntfs-3g.so.0)
(cd .libs  rm -f libntfs-3g.so  ln -s libntfs-3g.so.0.0.0 libntfs-3g.so)

происходит без ошибок

На этапе инсталляции

/usr/bin/install 
-c .libs/libntfs-3g.so.0.0.0 
/home/misha/source/ntfs-3g/ntfs-3g-0.20061031-BETA/debian/tmp/usr/lib/libntfs-3g.so.0.0.0
(cd /home/misha/source/ntfs-3g/ntfs-3g-0.20061031-BETA/debian/tmp/usr/lib  
rm -f libntfs-3g.so.0  ln -s libntfs-3g.so.0.0.0 libntfs-3g.so.0)
(cd /home/misha/source/ntfs-3g/ntfs-3g-0.20061031-BETA/debian/tmp/usr/lib  
rm -f libntfs-3g.so  ln -s libntfs-3g.so.0.0.0 libntfs-3g.so)

происходит без ошибок, в обеих локациях файл имеется и оба симлинка тоже. 
Далее этот файл не упоминается до вот этой точки:

dh_shlibdeps
dpkg-shlibdeps: warning: could not find path for libntfs-3g.so.0
dh_gencontrol
dpkg-gencontrol: warning: unknown substitution variable ${binary:Version}
dh_md5sums
dh_builddeb
dpkg-deb: сборка пакета ntfs-3g в 
файл ../ntfs-3g_0.0.0+20061031-4-sarge1_i386.deb.
dpkg-deb: ошибка разбора в файле debian/libntfs-3g-dev/DEBIAN/control около 
строки 6 пакет libntfs-3g-dev:
 Поле Depends, ссылка на libntfs-3g0: ошибка в поле версии -- строка версии 
пуста
dh_builddeb: command returned error code 512
make: *** [binary-arch] Ошибка 1

Вот с этим чего бы сделать? Да, debhelper и на всякий случай debconf из 
бекпортов поставить я догадался, не помогло.

-- 
Yours, Mikhail Ramendik


Re: Бекпорт ntfs-3g, было captive ntfs

2007-01-01 Пенетрантность Yuri Kozlov

2007/1/2, Mikhail Ramendik [EMAIL PROTECTED]:

происходит без ошибок, в обеих локациях файл имеется и оба симлинка тоже.
Далее этот файл не упоминается до вот этой точки:

dh_shlibdeps
dpkg-shlibdeps: warning: could not find path for libntfs-3g.so.0
dh_gencontrol
dpkg-gencontrol: warning: unknown substitution variable ${binary:Version}


Нужно, чтобы dpkg-dev был = 1.13.19.
Ну или вручную указать номер версии.

--
Regards,
Yuri Kozlov


Re: Вопрос по gcc-4.1

2007-01-01 Пенетрантность Dmitriy Sirant


Это ругань на то что strncmp подсовывается unsigned char* в качестве
одного из аргумента. ПО идее от warning-а избавит замена

if(strncmp(secret+1,hash,16) == 0)
на
if(strncmp(secret+1,(char*)hash,16) == 0)

Но это вряд ли является причиной проблемы.



Как Вы и предполагали - это решило проблему warning-a но не решило сути 
проблемы, всеравно авторизация CHAP не проходит при компиляции gcc-4.1. 
Как мне написал в личку Victor Wagner - это не единственная проблема с 
gcc-4.1: http://gcc.gnu.org/ml/gcc/2006-07/msg00037.html


Жаль... буду либо использовать gcc-3.4 либо ждать gcc-4.2


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Пакет pocketpc-gcc и прог раммирование под WinCE

2007-01-01 Пенетрантность Andrey A. Zhelnin
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

  VW Ну, желательно бы несколько тестов для разных типичных задач:
  VW 1. Чтение fb2 в FBReader/Haali Reader (близко к полежать,
  VW показывая текст)
 
 Приблизим эту задачу просто лежанием. Автолисталку страничек делать не
 хочется - это haali/fbreader править надо.

Эээ помоему хаали давно уже умеет листать автоматом
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFmebHlm9O2vfjJcARAorGAKDIfxBFnVdI3HylDBCxeyuwwCWJhgCeNhbD
Yd/Wao5WOWPrIROP+rsY6AY=
=4F+i
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



[D-I Manual] Build log for ru (01 Jan 2007) - ERRORS DURING BUILD

2007-01-01 Пенетрантность Frans Pop
A build of the Debian Installer Manual was triggered by an update to SVN.

!!! There were errors during the build process.
!!! Please check the log and correct the errors.

Only architectures (if any) that were built correctly have been uploaded.

A log of the build is available at:
- http://people.debian.org/~fjp/d-i_manual/log/ru.log

===
It is possible to use RSS to track changes to the manual.
For more information, see:
http://d-i.alioth.debian.org/manual/translators.html
===
Note: PDF output is not yet supported for some languages; this
is being worked on.
===
If you have any questions about the build or this message, feel
free to contact me at elendil_at_planet_dot_nl.
===

Updated files ('svn up')

Upo/ru/random-bits.po
Upo/ru/boot-installer.po
Updated to revision 43735.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]