LINUX.ORG.RU

Сообщения Archer73

 

Баг в Python?

Форум — Development

Мне кажется, что результат работы метода count для строк не соответствует документации:

>>> help(str.count)
Help on method_descriptor:

count(...)
    S.count(sub[, start[, end]]) -> int

    Return the number of non-overlapping occurrences of substring sub in
    string S[start:end].  Optional arguments start and end are
    interpreted as in slice notation.

>>> "".count("")
1
>>> "a".count("")
2
>>> "ab".count("")
3
>>> "Привет".count("")
7

Это баг или фича? Складывается впечатление что он ищет '\0' в строке, но находит его у каждой буквы и в конце самой строки. Разве это правильно?

 

Archer73
()

Странное поведение numpy

Форум — Development

Не могу понять как это работает

L = numpy.array([1, 2, 3])
def add_val(L, a):
    L = L + a
    print('Local L:', L)

add_val(L, 2)
print('Global L:', L)
Local L: [3 4 5]
Global L: [1 2 3]
L = numpy.array([1, 2, 3])
def add_val(L, a):
    L += a
    print('Local L:', L)

add_val(L, 2)
print('Global L:', L)
Local L: [3 4 5]
Global L: [3 4 5]
L = numpy.array([1, 2, 3])
def add_val(L, a):
    L = L[:]
    L += a
    print('Local L:', L)

add_val(L, 2)
print('Global L:', L)
Local L: [3 4 5]
Global L: [3 4 5]

Почему первый и второй случай так различаются? Что происходит в третьем случае? Почему не копируется массив?

 ,

Archer73
()

Является ли бинарное дерево сбалансированным?

Форум — Development

Нубский вопрос. Попробовал реализовать АВЛ-дерево. В качестве теста закидывал случайно перетасованные значения. На одном из прогонов получилось такое дерево.

           9
    3            11
 1     6     10     13
0 2  5   8        12  16
    4   7
Лист 10 на два уровня выше листьев 4 и 7. Но при этом у любой вершины глубина левого поддерева не превышает глубины правого более чем 1 уровень. Это считается сбалансированным деревом? Если да, то получается что с ростом дерева разница в уровне отдельных листьев может продолжать увеличиваться?

 ,

Archer73
()

Не работает man

Форум — General

Система Ubuntu 16.04.2 LTS предустановленная производителем. Архитектура arm (Pinebook).

При попытке открыть любую страницу man открывается пустой less.

При выходе из less в терминале ошибка:

pine64@pinebook:~$ man man
man: команда завершилась с кодом 2: /usr/lib/man-db/zsoelim | /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE | preconv -e UTF-8 | tbl | nroff -mandoc -Tutf8

Периодически всплывает окошко извещающее что упал troff. Подскажите, в какую сторону копать?

 , , , ,

Archer73
()

Samba AD DC. Открыть общий доступ к папке для НЕ членов домена

Форум — Admin

Добрый день. Имеется проблема с расшариванием папок в Samba 4. Поднят AD контроллер домена, который без проблем даёт доступ всем учёткам из базы, но требует ввода логина/пароля для всех локальных пользователей и компьютеров не являющихся членами домена. Можно ли это исправить?

 , ,

Archer73
()

Разное поведение vsnprintf в linux и msys

Форум — Development

Приветствую. Потребовалась функция на Си, которая создает форматную строку нужной длины. Первоначальный вариант без проблем компилировался и работал на винде через связку msys+mingw-w64

typedef struct cl_String_s{
  char *str;
  size_t length;
} cl_String;


cl_String *StringCreateF(const char *format, ...){
  va_list argptr;
  cl_String *result = malloc(sizeof(cl_String));
  va_start(argptr, format);
  int res = vsnprintf(NULL, 0, format, argptr);
  if(res<0){
    perror("StringCreateF ERROR");
    errno = 0;
    free(result);
    return NULL; 
  }
  result->length = res;
  result->str = malloc(result->length + 1);
  vsnprintf(result->str, result->length + 1, format, argptr);
  va_end(argptr);
  return result;
}

А вот после компиляции в Linux он сегфолтится на втором vsnprintf. Работает нормально только если заново инициировать argptr.

  ...

  va_end(argptr);
  va_start(argptr, format);
  vsnprintf(result->str, result->length + 1, format, argptr);
  va_end(argptr);
  return result;
}

В чем может быть причина?

 

Archer73
()

Не получается обновить qtcore

Форум — Linux-install

Хочет qtchooser и сам же его блокирует.

emerge -avu qtcore

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ~] dev-qt/qtchooser-0_p20150102::gentoo  USE="-qt5 {-test}" 31 KiB
[ebuild     U ~] dev-qt/qtcore-4.8.6-r1:4::gentoo [4.8.5-r2:4::gentoo] USE="exceptions glib iconv icu qt3support ssl (-aqua) -debug -pch" ABI_X86="32%* (64%*) (-x32)" 235 961 KiB
[ebuild  N    ~] dev-qt/qttranslations-4.8.6-r1:4::gentoo  ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild     U ~] dev-qt/qtscript-4.8.6-r1:4::gentoo [4.8.5:4::gentoo] USE="exceptions iconv jit (-aqua) -debug -pch" ABI_X86="32%* (64%*) (-x32)" 0 KiB
[ebuild     U ~] dev-qt/qtgui-4.8.6-r2:4::gentoo [4.8.5-r4:4::gentoo] USE="accessibility cups exceptions glib mng qt3support tiff xv (-aqua) -debug -egl -gtkstyle -nas -nis -pch -trace -xinerama" ABI_X86="32%* (64%*) (-x32)" 0 KiB
[ebuild     U ~] dev-qt/qtsql-4.8.6-r1:4::gentoo [4.8.5:4::gentoo] USE="exceptions qt3support sqlite (-aqua) -debug -freetds -mysql -oci8 -odbc -pch -postgres (-firebird%)" ABI_X86="32%* (64%*) (-x32)" 0 KiB
[ebuild     U ~] dev-qt/qt3support-4.8.6-r1:4::gentoo [4.8.5:4::gentoo] USE="accessibility exceptions (-aqua) -debug -pch" ABI_X86="32%* (64%*) (-x32)" 0 KiB
[blocks B      ] <dev-qt/qtscript-4.8.6:4 ("<dev-qt/qtscript-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtdbus-4.8.6:4 ("<dev-qt/qtdbus-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qt3support-4.8.6:4 ("<dev-qt/qt3support-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtopengl-4.8.6:4 ("<dev-qt/qtopengl-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtcore-4.8.6:4 ("<dev-qt/qtcore-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtsql-4.8.6:4 ("<dev-qt/qtsql-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtgui-4.8.6:4 ("<dev-qt/qtgui-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
(dev-qt/qtchooser-0_p20150102:0/0::gentoo, ebuild scheduled for merge) pulled in by
    dev-qt/qtchooser required by (dev-qt/qttranslations-4.8.6-r1:4/4::gentoo, ebuild scheduled for merge)
    dev-qt/qtchooser required by (dev-qt/qtsql-4.8.6-r1:4/4::gentoo, ebuild scheduled for merge)
    dev-qt/qtchooser required by (dev-qt/qt3support-4.8.6-r1:4/4::gentoo, ebuild scheduled for merge)
    dev-qt/qtchooser required by (dev-qt/qtscript-4.8.6-r1:4/4::gentoo, ebuild scheduled for merge)
    dev-qt/qtchooser required by (dev-qt/qtgui-4.8.6-r2:4/4::gentoo, ebuild scheduled for merge)
    dev-qt/qtchooser required by (dev-qt/qtcore-4.8.6-r1:4/4::gentoo, ebuild scheduled for merge)

 ,

Archer73
()

Вопрос по ассемблерным вставкам в Си

Форум — Development

Код:

#include <stdio.h>

int main(int argc, char *argv[]){
  int i = 58;
  int b = 52;
  int sum;
  asm("add %1, %2;" : "=r"(sum) : "r"(i), "r"(b));
  printf("Hello, %d+%d=%d \n", i, b, sum);
  return 0;
}

Получившийся ассемблерный код выглядит так:

...
	mov	edx, 52
	mov	eax, 58
	mov	ecx, 52
	mov	esi, 58
	mov	edi, OFFSET FLAT:.LC0
#APP
# 7 "test1.c" 1
	add eax, ecx;
# 0 "" 2
#NO_APP
	xor	eax, eax
	call	printf
...

После выполнения моей вставки регистр eax обнуляется. Тем не менее результат сложения сохраняется и нормально отображается. Если выполнить xor eax, eax внутри моей вставки, то sum обнуляется. Что за магия?

 ,

Archer73
()

Вопрос по pam_ldap

Форум — Admin

Есть PDC на samba в которой забиты пароли учетки через smbldap-tools. На Windows клиентах все ок. На Linux машинах через месяц PAM перестал пропускать учетки с требованием сменить пароль. После смены пароля на Win машинах PAM снова позволяет логиниться. Как отключить проверку срока жизни паролей в PAM?

Archer73
()

Debian squeeze и VIA Rhine II

Форум — Linux-hardware

Имеется 18 стареньких машин с матерью ECS P4M890T-M с интегрированной сетевой картой VIA Rhine II. Сначала собрал сервер с debian squeeze. После установки сетевуха отвалилась. ifconfig выдавал только lo. Нашел две других сетевухи, настроил dhcp, dns, samba и т.д. На следуещей машине поставил XP и дуалбутом к ней debian. В xp все завелось, после установки Squeeze карта опять отвалилась (на второй машине подряд!). Причем отвалилась и в XP и даже в биосе. Что характерно, во время установки debian карта определилась и через нее подгружались обновления. Дальнейший опыт показал, что сетевуха оживает и без проблем работает в xp после clear CMOS. До первой загрузки Debian. Дальше процедуру необходимо повторять. Буду крайне признателен за любую помощь. Покупать 17 сетевух желания нет.

Archer73
()

Ubuntu 10.04 после обновления сломался fglrx

Форум — Linux-hardware

Видеокарта HD4870. Из коробки все на удивление замечательно работало. После последнего обновления OpenGL отвалился и окна стали жутко тормозить.
При удалении драйвера ati имею:

sudo /usr/share/ati/fglrx-uninstall.sh
restore of system environment completed

Error! There are no instances of module: fglrx
8.723 located in the DKMS tree.
Errors during DKMS module removal
Uninstall fglrx driver complete...

При установке скачанного драйвера:

Creating symlink /var/lib/dkms/fglrx/8.723/source ->

/usr/src/fglrx-8.723



DKMS: add Completed.

You can use the --kernelsourcedir option to tell DKMS where it's located, or you could install the linux-headers-2.6.31-16-generic package.

[Error] Kernel Module : Failed to build fglrx-8.723 with DKMS

[Error] Kernel Module : Removing fglrx-8.723 from DKMS



------------------------------

Deleting module version: 8.723

completely from the DKMS tree.

------------------------------

Done.

И окна жутко тормозят. Catalyst открывается и карту определяет правильно, но в строке OpenGL пустота. Помогите, если кто знает.

Archer73
()

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