Вопрос по gcc-4.1
Добрый день Понимаю что офтоп, но простите, это в первый раз в этом году :) Тему про индуских программистов тоже читал и честно попытался в течении дня найти ответ в конференциях и 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
eTcl при работе с SQLite базой данных на КПК начинает сильно тормозить при получении записей из базы данных. Например, получение 100 записей по 5 байт занимает около 15 сек, а по 50 байт - 30 секунд. При этом просто отображение текста из файла работает без видимой задержки, программа на С++ из той же базы выводит данные также быстро. Можно ли как-то ускорить работу? Под линуксом программа на eTcl печатает все результаты запроса к базе в консоль, может, как раз этот вывод и тормозит на КПК.
Re: Пакет pocketpc-gcc и программирование под WinCE
В сообщении от Понедельник 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
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
Всех с новым годом. Прикупил тут к новому году новую железку и столкнулся с парой весьма неприятных проблем. Железка: 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
Всем привет! Понадобился мне captive ntfs. У хорошего знакомого архивный диск ntfs-ный, а мне ему хотелось бы кое-что записывать; насколько я понимаю, ядерный драйвер для этого пока что не подходит (если я неправ, просьба поправить). Со страницы http://www.jankratochvil.net/project/captive/ доступны rpm, бинарный tgz и исходники. Я попробовал поставить rpm через alien; но почему-то в результате не обнаружился sandbox server, и rw режим отказался запускаться. Собирать из исходников? Или где-то можно найти deb? -- Yours, Mikhail Ramendik
Re: captive ntfs
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
В сообщении от Понедельник 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
В Пнд, 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
На 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
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/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
Это ругань на то что 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
-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
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]