LINUX.ORG.RU

Сообщения Sergeyka

 

Наоборот сматфон на линуксе

Форум — Mobile

Встала задача запустить apk на линуксе и тут же начались проблемы. Пробую по порядку: anbox, shashlik, Genymotion, Chrome App Runtime. При установке anbox, не работает команда добавления репозитория:

sudo add-apt-repository ppa:morphis/anbox-support

Эм. Могу конечно ручками добавить, но не нравиться вот это «ppa» , что это за хрень? Какой адрес добавлять?

shahlik под 32 битную архитектуру, отпадает.

Genymotion работает на виртуалке.

sudo aptitude install virtualbox, что-то установил, но бинарника виртуалки нет. Как он установился и как ее запустить. Можете посоветовать еще виртуалки, под чем будет работать?

Chrome App Runtime самый лучший вариант, но расширения anchorn не встали. Даже после колдовства с манифестами. Отпадает.

Спасибо.

 ,

Sergeyka
()

Ui

Форум — Development

Приветствую.

Решил подкинуть ещё масла в огонь в битве x против woyland. Мне кажется, что обмен данными через shared memmory между окнами и менеджером окон, тоже имеет права на жизнь (должно быть быстрее и проще) и сейчас провожу изыскания на предмет с чего начать. Чат гпт после долгого распрашивания предложил хранит окна в b+ дереве, может глюканул, а может в инете есть где-то материал по этому поводу (я не нашел). У кого нибудь есть опыт по написанию UI. Может в игрушках делали. Мой сводится к рисованию окошек в TUI, к базе данных ещё на паскале. Благодарю.

 ,

Sergeyka
()

Забиндить внешнюю команду в виме

Форум — Development

Написал полезную команду, как бы ее теперь забиндить на хот-кей в виме? Что бы работал только над выделенным текстом, регистром или как еще это можно сделать?

Скрипт переводит текст «лучшим в мире переводчиком».

Нужно еще сделать передачу текста в скрипт. Пока так:

#!/bin/bash

text="hello world"
data='{"jsonrpc":"2.0","method": "LMT_handle_jobs","params":{"jobs":[{"kind":"default","sentences":[{"text":"'"${text}"'","id":1,"prefix":""}],"raw_en_context_before":[],"raw_en_context_after":[],"preferred_num_beams":4}],"lang":{"target_lang":"RU","preference":{"weight":{},"default":"default"},"source_lang_computed":"EN"},"priority":1,"commonJobParams":{"quality":"normal","mode":"translate","browserType":1,"textType":"plaintext"},"timestamp":1726658014839},"id":2300004}'

r=$(curl 'https://www2.deepl.com/jsonrpc?method=LMT_handle_jobs' '--http2' -H @header -b cookie --data-ascii "${data}" 2>/dev/null | jq -r '.result.translations[0].beams')
echo №1
echo $(echo "${r}"|jq .[0].sentences[0].text) 
echo №2
echo $(echo "${r}"|jq .[1].sentences[0].text) 
echo №3
echo $(echo "${r}"|jq .[2].sentences[0].text) 
echo №4
echo $(echo "${r}"|jq .[3].sentences[0].text) 
echo №5
echo $(echo "${r}"|jq .[4].sentences[0].text) 
echo №6
echo $(echo "${r}"|jq .[5].sentences[0].text) 
echo №7
echo $(echo "${r}"|jq .[6].sentences[0].text) 

 ,

Sergeyka
()

Ошибка при установке пакета csv в питоне

Форум — Development

Приветствую.

Может кто нибудь помочь установить пакет python-csv, это нужно для чтения csv файла.

Устновка прерывается при удовлетварении зависимости от пакета leven.

pip3 install leven
Defaulting to user installation because normal site-packages is not writeable
Collecting leven
  Using cached leven-1.0.4.tar.gz (20 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from leven) (1.16.0)
Requirement already satisfied: nose in ./.local/lib/python3.11/site-packages (from leven) (1.3.7)
Building wheels for collected packages: leven
  Building wheel for leven (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [144 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      creating build/lib.linux-x86_64-cpython-311/leven
      copying leven/__init__.py -> build/lib.linux-x86_64-cpython-311/leven
      running build_ext
      building 'leven._levenshtein' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/leven
      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ileven -I/usr/include/python3.11 -c leven/_levenshtein.cpp -o build/temp.linux-x86_64-cpython-311/leven/_levenshtein.o
      In file included from /usr/include/python3.11/unicodeobject.h:1042,
                       from /usr/include/python3.11/Python.h:51,
                       from leven/_levenshtein.cpp:16:
      leven/_levenshtein.cpp: In function ‘PyObject* __pyx_pf_5leven_12_levenshtein_levenshtein(PyObject*, PyObject*, PyObject*, PyObject*)’:
      /usr/include/python3.11/cpython/unicodeobject.h:698:56: warning: ‘Py_UNICODE* PyUnicode_AS_UNICODE(PyObject*)’ is deprecated [-Wdeprecated-declarations]
        698 | #  define PyUnicode_AS_UNICODE(op) PyUnicode_AS_UNICODE(_PyObject_CAST(op))
            |                                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:1004:42: note: in expansion of macro ‘PyUnicode_AS_UNICODE’
       1004 |       __pyx_t_7 = levenshtein_Py_UNICODE(PyUnicode_AS_UNICODE(__pyx_v_a), __pyx_v_m, PyUnicode_AS_UNICODE(__pyx_v_b), __pyx_v_n);
            |                                          ^~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:685:27: note: declared here
        685 | static inline Py_UNICODE* PyUnicode_AS_UNICODE(PyObject *op)
            |                           ^~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:698:56: warning: ‘Py_UNICODE* PyUnicode_AS_UNICODE(PyObject*)’ is deprecated [-Wdeprecated-declarations]
        698 | #  define PyUnicode_AS_UNICODE(op) PyUnicode_AS_UNICODE(_PyObject_CAST(op))
            |                                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:1004:86: note: in expansion of macro ‘PyUnicode_AS_UNICODE’
       1004 |       __pyx_t_7 = levenshtein_Py_UNICODE(PyUnicode_AS_UNICODE(__pyx_v_a), __pyx_v_m, PyUnicode_AS_UNICODE(__pyx_v_b), __pyx_v_n);
            |                                                                                      ^~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:685:27: note: declared here
        685 | static inline Py_UNICODE* PyUnicode_AS_UNICODE(PyObject *op)
            |                           ^~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp: In function ‘int __Pyx_InitCachedConstants()’:
      leven/_levenshtein.cpp:1194:216: error: invalid conversion from ‘int’ to ‘PyObject*’ {aka ‘_object*’} [-fpermissive]
       1194 |   __pyx_k_codeobj_4 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__levenshtein, 28, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
            |                                                                                                                                                                                                                        ^~
            |                                                                                                                                                                                                                        |
            |                                                                                                                                                                                                                        int
      leven/_levenshtein.cpp:119:72: note: in definition of macro ‘__Pyx_PyCode_New’
        119 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
            |                                                                        ^~~~~
      leven/_levenshtein.cpp:1194:220: error: invalid conversion from ‘PyObject*’ {aka ‘_object*’} to ‘int’ [-fpermissive]
       1194 |   __pyx_k_codeobj_4 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__levenshtein, 28, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
            |                                                                                                                                                                                                                            ^~~~~~~~~~~~~~~~~
            |                                                                                                                                                                                                                            |
            |                                                                                                                                                                                                                            PyObject* {aka _object*}
      leven/_levenshtein.cpp:119:79: note: in definition of macro ‘__Pyx_PyCode_New’
        119 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
            |                                                                               ^~~~
      leven/_levenshtein.cpp:119:21: error: too few arguments to function ‘PyCodeObject* PyCode_New(int, int, int, int, int, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, int, PyObject*, PyObject*)’
        119 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
            |           ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:1194:34: note: in expansion of macro ‘__Pyx_PyCode_New’
       1194 |   __pyx_k_codeobj_4 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__levenshtein, 28, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
            |                                  ^~~~~~~~~~~~~~~~
      In file included from /usr/include/python3.11/Python.h:71:
      /usr/include/python3.11/cpython/code.h:148:28: note: declared here
        148 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
            |                            ^~~~~~~~~~
      leven/_levenshtein.cpp: In function ‘int __Pyx_ParseOptionalKeywords(PyObject*, PyObject***, PyObject*, PyObject**, Py_ssize_t, const char*)’:
      /usr/include/python3.11/cpython/unicodeobject.h:664:52: warning: ‘Py_ssize_t PyUnicode_GET_SIZE(PyObject*)’ is deprecated [-Wdeprecated-declarations]
        664 | #  define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op))
            |                                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:1464:22: note: in expansion of macro ‘PyUnicode_GET_SIZE’
       1464 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
            |                      ^~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:652:26: note: declared here
        652 | static inline Py_ssize_t PyUnicode_GET_SIZE(PyObject *op)
            |                          ^~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:664:52: warning: ‘Py_ssize_t PyUnicode_GET_SIZE(PyObject*)’ is deprecated [-Wdeprecated-declarations]
        664 | #  define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op))
            |                                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:1464:52: note: in expansion of macro ‘PyUnicode_GET_SIZE’
       1464 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
            |                                                    ^~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:652:26: note: declared here
        652 | static inline Py_ssize_t PyUnicode_GET_SIZE(PyObject *op)
            |                          ^~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:664:52: warning: ‘Py_ssize_t PyUnicode_GET_SIZE(PyObject*)’ is deprecated [-Wdeprecated-declarations]
        664 | #  define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op))
            |                                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:1480:26: note: in expansion of macro ‘PyUnicode_GET_SIZE’
       1480 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
            |                          ^~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:652:26: note: declared here
        652 | static inline Py_ssize_t PyUnicode_GET_SIZE(PyObject *op)
            |                          ^~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:664:52: warning: ‘Py_ssize_t PyUnicode_GET_SIZE(PyObject*)’ is deprecated [-Wdeprecated-declarations]
        664 | #  define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op))
            |                                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:1480:59: note: in expansion of macro ‘PyUnicode_GET_SIZE’
       1480 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
            |                                                           ^~~~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/unicodeobject.h:652:26: note: declared here
        652 | static inline Py_ssize_t PyUnicode_GET_SIZE(PyObject *op)
            |                          ^~~~~~~~~~~~~~~~~~
      In file included from /usr/include/python3.11/Python.h:95:
      leven/_levenshtein.cpp: In function ‘void __Pyx_Raise(PyObject*, PyObject*, PyObject*, PyObject*)’:
      /usr/include/python3.11/ceval.h:34:34: warning: ‘PyObject* PyEval_CallObjectWithKeywords(PyObject*, PyObject*, PyObject*)’ is deprecated [-Wdeprecated-declarations]
         34 |     PyEval_CallObjectWithKeywords(callable, arg, (PyObject *)NULL)
            |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:1644:26: note: in expansion of macro ‘PyEval_CallObject’
       1644 |         owned_instance = PyEval_CallObject(type, args);
            |                          ^~~~~~~~~~~~~~~~~
      /usr/include/python3.11/ceval.h:27:43: note: declared here
         27 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
            |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp: In function ‘PyCodeObject* __Pyx_CreateCodeObjectForTraceback(const char*, int, int, const char*)’:
      leven/_levenshtein.cpp:2483:9: error: invalid conversion from ‘int’ to ‘PyObject*’ {aka ‘_object*’} [-fpermissive]
       2483 |         py_line,      /*int firstlineno,*/
            |         ^~~~~~~
            |         |
            |         int
      leven/_levenshtein.cpp:119:72: note: in definition of macro ‘__Pyx_PyCode_New’
        119 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
            |                                                                        ^~~~~
      leven/_levenshtein.cpp:2484:9: error: invalid conversion from ‘PyObject*’ {aka ‘_object*’} to ‘int’ [-fpermissive]
       2484 |         __pyx_empty_bytes  /*PyObject *lnotab*/
            |         ^~~~~~~~~~~~~~~~~
            |         |
            |         PyObject* {aka _object*}
      leven/_levenshtein.cpp:119:79: note: in definition of macro ‘__Pyx_PyCode_New’
        119 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
            |                                                                               ^~~~
      leven/_levenshtein.cpp:119:21: error: too few arguments to function ‘PyCodeObject* PyCode_New(int, int, int, int, int, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, int, PyObject*, PyObject*)’
        119 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
            |           ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      leven/_levenshtein.cpp:2469:15: note: in expansion of macro ‘__Pyx_PyCode_New’
       2469 |     py_code = __Pyx_PyCode_New(
            |               ^~~~~~~~~~~~~~~~
      /usr/include/python3.11/cpython/code.h:148:28: note: declared here
        148 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
            |                            ^~~~~~~~~~
      leven/_levenshtein.cpp: In function ‘void __Pyx_AddTraceback(const char*, int, int, const char*)’:
      leven/_levenshtein.cpp:2515:13: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
       2515 |     py_frame->f_lineno = py_line;
            |             ^~
      In file included from /usr/include/python3.11/Python.h:42:
      /usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
      [end of output]

Компилятор новый.

Стоит вообще возиться с устаревшим пакетом или лучше использоваться альтернативы?

 

Sergeyka
()

Ipc: pipe и fd

Форум — Development

Приветствую. Может кто нибудь подсказать направление в котором искать Проблема в следующем Пишу программу получающую данные через пайп, как cat. Только ничего не выходит. Сначала создаю именованный канал, вызовом mkfifo с правами 0666. Он создаёт, но права не те, поэтому вызываю chmod с этими правами.

Но это все равно не помогает. Данные через пайп не поступают.

Вызываю cat test_data|myprg.

В интернете нашёл описание, что моя программа и cat потомки терминала и можно переназначить неименованные каналы, только делать это надо в потомке. Тоже ничего не вышло. Потомок создаётся, но данные не читает.

Сейчас изучаю исходники cat на предмет алгоритма, но там, что-то системное, хотелось бы попроще.

Спасибо.

 , ,

Sergeyka
()

Параметры компиляции библиотеку

Форум — Development

Приветствую,

Я в процессе компиляции библиотеки FreeRDP для использования в своем проекте и столкнулся с некоторыми трудностями. Изучаю примеры, но возникла проблема: пример под X работает корректно только при запуске от другого пользователя. При запуске от текущего пользователя наблюдается черный экран. Путем самостоятельного поиска выяснил, что причиной может быть конфликт сеансов.

Нашел несколько рекомендаций по решению этой проблемы, однако пока не применял их. Поскольку при использовании Remmina сеансы создаются корректно (скриншот прилагаю: https://ibb.co/Rys9kPv), считаю, что проблема связана с примером.

Проверка с помощью ldd remmina не выявила ссылки на библиотеку libfreerdp, что, вероятно, указывает на статическую компиляцию. На моем компьютере установлены библиотеки libfreerdp-client и libfreerdp.

Возникает вопрос: как определить, какая из библиотек была использована при компиляции Remmina и какие параметры компиляции были применены? Моя цель - скомпилировать аналогичную библиотеку, чтобы пример работал так же корректно, как в случае с Remmina.

Буду признателен за любые рекомендации и помощь в данном вопросе.

С уважением, sergeyka

 ,

Sergeyka
()

Dns over vpn

Форум — Admin

Здравствуйте, не доступен корпоративный dns через vpn. Впн запускаю через команду OpenVPN –config файл.ovpn выданный админом. Сначала ругался на block-outside-dns, но я выяснил, что э то для виндового клиента и её можно удалить. Так же добавил в скрипт подключения script-security 2 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf

Инциализация выполняется без ошибок.

xfreerdp выдает Errconnect_dns_name_not_found

dig рдпшлюз

Выдаёт днс сервер моего роутера 192.168.0.1 Корпоративная подсеть 10.9.0

Под виндой все подключается, проблем нет.

Прошу идей, что ещё править надо, у меня закончились.

 ,

Sergeyka
()

Неправильное время после синхронизации по ntp

Форум — Admin

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

Синхронизацию времени делает ntpsec. Часовой пояс выставил с помощью dpkg-reconfigure tzdata. («другое» -> «GMT+9») Прописал сервера в ntp.conf (пулы тоже пробовал, результат тот же) ntpq -p Сервер видит (стоит звездочка). После рестарта демона, время отстаёт на 1 день 18 часов. (Например сейчас 16.02.2024 3.02, на компе 15.02.2024 9.02)

ntpdate показывает localhost - это нормально, так и должно быть? Я ожидал, что будет указан сервер синхронизации, а не адрес localhost.

Спасибо.

 

Sergeyka
()

Как подключить токен в configure

Форум — Development

Здравствуйте,

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

. /configure: line 15404 syntax error near unexpected token 'xkbcommon,'
. /configure: line 15404 'pkg_check_modules(xkbcommon, xkbcommon)'

Несмотря на то, что пакет libxkbcommon-dev уже установлен в системе, проблема сохраняется. Буду признателен за рекомендации или инструкции относительно подключения требуемого токена.

Информация о системе, на которой выполняется конфигурация: Дистрибутив: Linux wsprimo 6.1.42-antix.1-amd64-smp

С уважением.

 

Sergeyka
()

Скомпилировать модуль в AntiX 23

Форум — Development

Приветствую. Установил AntiX 23 x64 full на свой ноутбук Fujitsu Esprimo v5505, для wlan0 установился дефолтный драйвер iwl4965, но мне кажется, что через него сеть работает не достаточно быстро, скорость держится на уровне 500kb\s, в винде было быстрее. Путем гугления выяснил, что можно попробовать виндовый драйвер. Для его установки использовал ndiswrapper. При его установки происходит компиляция завершающая ошибкой:

root@wsprimo:/etc/apt/sources.list.d# sudo apt-get upgrade
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Расчёт обновлений… Готово
Следующий пакет устанавливался автоматически и больше не требуется:
  liblua5.3-0
Для его удаления используйте «sudo apt autoremove».
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Установлено или удалено не до конца 1 пакетов.
После данной операции объём занятого дискового пространства возрастёт на 0 B.
N: Игнорируется файл «debian.list.bkp» в каталоге «/etc/apt/sources.list.d/», так как он имеет неправильное расширение
N: Игнорируется файл «debian-stable-updates.list.bkp» в каталоге «/etc/apt/sources.list.d/», так как он имеет неправильное расширение
Хотите продолжить? [Д/н] y
Настраивается пакет ndiswrapper-dkms (1.61-0mx17+3) …
Removing old ndiswrapper-1.61 DKMS files...
Deleting module ndiswrapper-1.61 completely from the DKMS tree.
Loading new ndiswrapper-1.61 DKMS files...
Building for 6.1.42-antix.1-amd64-smp
Building initial module for 6.1.42-antix.1-amd64-smp
Error! Bad return status for module build on kernel: 6.1.42-antix.1-amd64-smp (x86_64)
Consult /var/lib/dkms/ndiswrapper/1.61/build/make.log for more information.
dpkg: ошибка при обработке пакета ndiswrapper-dkms (--configure):
 подпроцесс из пакета ndiswrapper-dkms установлен сценарий post-installation возвратил код ошибки 10
При обработке следующих пакетов произошли ошибки:
 ndiswrapper-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)
Для продолжения нажмите любую клавишу...

root@wsprimo:/etc/apt/sources.list.d# cat /var/lib/dkms/ndiswrapper/1.61/build/make.log
DKMS make.log for ndiswrapper-1.61 for kernel 6.1.42-antix.1-amd64-smp (x86_64)
Сб 27 янв 2024 13:43:14 +09
make: вход в каталог «/usr/src/linux-headers-6.1.42-antix.1-amd64-smp»
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Debian 13.2.0-1) 13.2.0
  You are using:           gcc (Debian 12.2.0-14) 12.2.0
  MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/crt_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/hal_exports.h
  CC [M]  /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.61/build/loader.o
In file included from /var/lib/dkms/ndiswrapper/1.61/build/ndis.h:19,
                 from /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.h:19,
                 from /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:28:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h: In function ‘raise_irql’:
In file included from /var/lib/dkms/ndiswrapper/1.61/build/ndis.h:19,
                 from /var/lib/dkms/ndiswrapper/1.61/build/loader.c:16:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h: In function ‘raise_irql’:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:110:40: error: ‘struct task_struct’ has no member named ‘cpus_allowed’; did you mean ‘nr_cpus_allowed’?
  110 | #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
      |                                        ^~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:672:43: note: in expansion of macro ‘tsk_cpus_allowed’
  672 |         cpumask_copy(&info->cpus_allowed, tsk_cpus_allowed(current));
      |                                           ^~~~~~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:110:40: error: ‘struct task_struct’ has no member named ‘cpus_allowed’; did you mean ‘nr_cpus_allowed’?
  110 | #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
      |                                        ^~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:672:43: note: in expansion of macro ‘tsk_cpus_allowed’
  672 |         cpumask_copy(&info->cpus_allowed, tsk_cpus_allowed(current));
      |                                           ^~~~~~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/loader.c: In function ‘load_sys_files’:
/var/lib/dkms/ndiswrapper/1.61/build/loader.c:157:25: error: too many arguments to function ‘__vmalloc’
  157 |                         __vmalloc(load_driver->sys_files[i].size,
      |                         ^~~~~~~~~
In file included from ./include/asm-generic/io.h:994,
                 from ./arch/x86/include/asm/io.h:332,
                 from ./include/linux/scatterlist.h:9,
                 from ./include/linux/dma-mapping.h:10,
                 from ./include/linux/skbuff.h:31,
                 from ./include/net/net_namespace.h:43,
                 from ./include/linux/netdevice.h:38,
                 from /var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:25:
./include/linux/vmalloc.h:149:14: note: declared here
  149 | extern void *__vmalloc(unsigned long size, gfp_t gfp_mask) __alloc_size(1);
      |              ^~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c: In function ‘set_ndis_auth_mode’:
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:702:39: warning: this statement may fall through [-Wimplicit-fallthrough=]
  702 |                 wnd->iw_auth_key_mgmt = IW_AUTH_KEY_MGMT_PSK;
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:703:9: note: here
  703 |         case Ndis802_11AuthModeWPANone:
      |         ^~~~
make[1]: *** [scripts/Makefile.build:250: /var/lib/dkms/ndiswrapper/1.61/build/loader.o] Ошибка 1
make[1]: *** Ожидание завершения заданий…
make[1]: *** [scripts/Makefile.build:250: /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.o] Ошибка 1
make: *** [Makefile:2026: /var/lib/dkms/ndiswrapper/1.61/build] Ошибка 2
make: выход из каталога «/usr/src/linux-headers-6.1.42-antix.1-amd64-smp»

Почему-то установка происходит при апгрейде. Апгрейд делал после переключания репазитория на зеркала yandex, хотел обновить gcc, чтоб хотя бы варнинг убрать. Похоже исходники кривые. Подскажите, что делать? Обновлять исходники ядра или пытаться собрать ndiswrapper из отдельно скачанных исходников? Как отключить компиляцию при апгрейде? (я даже проблему сформулировать не могу, что б загуглить, мозгов не хватает). Как обновить правильно gcc? sudo apt-get install gcc говорит, что у меня последняя версия, но как она может быть последней если ядро скомпилированно более новой.

Спасибо.

 , ,

Sergeyka
()

Связка pc-mobile-vpn-rdp server

Форум — Mobile

Приветствую, у меня старый ноутбук под офтопиком хп, хочу подключиться к рабочему место по vpn через rdp. Так как ос старая, то надо ставить какую-то падченную версию openvpn и не факт, что будет работать. Сейчас сделал так. Установил openvpn на мобильник - работает, если я переключю мобильник в режим точки доступа WiFi и подключусь к ней с ноутбука, смогу я подключиться по rdp к рабочему месту?

 ,

Sergeyka
()

Const значение в rodata

Форум — Development

Прочитал такую статью: https://dzen.ru/a/Ys_GysRGngbcr_H6 Для тех, кто не любит ходить по ссылкам, пересказываю суть проблемы:в программе

#include <stdio.h>

int main(void) {
    const int value = 111;
    printf("init value: %d\n", value);
    *((int*) &value) = 222;
    printf("new  value: %d\n", value);
    return(0);
}

Значение value не размещается в секции rodata, как заставить компилятор туда его разместить?

 , ,

Sergeyka
()

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