И это всё МОЁ

Всем привет


Имеется прибор на процессоре imx6UL
Под него сборка дебиан от производителя.


В общем надо с этого прибора опрашивать другие по rs-485 на скорости 9600.


Порт открывается настраивается в неблокирующем режиме и т.д. и т.п.
Чтение / запись работают через select с заданным таймаутом.


В итоге получается как-то так, что реальная скорость отправки данных существенно ниже установленной 9600.


Команда int bytes_write = write(fd, frame_write, frame_write_size) выполняется моментально.
Но дальше получаем жуткий таймаут на получение данных.
Проверили осциллографом, что данные на опрашиваемый прибор приходят и он отвечает сразу же без задержек.


Стал разбираться.
Вставил после write команду tcdrain( fd )
И вот уже на ее выполнение (ожидание пока данные уйдут) отжирается в среднем 30 миллисекунд.
В посылке 7 байт.


Ясно, что функцией write сначала скидывается в буфер, а потом запихивается в физическое устройство.


Но не 30 же миллисекунд на отсылку 56 бит??
По заявленной скорости на это должно уходить 5мс в идеале ).


Вопрос: можно ли как-то оптимизировать в линуксе всё это дело.


Под виндами написал такой же код, там всё просто летает. Отправка данных на 9600 на той же линии занимает в пределах 5-7
миллисекуд и примерно через столько же приходит ответ.


Что в линуксе не так?









 ,








И это всё МОЁ

Canonical Group Limited представила документы за 2019 финансовый год в Регистрационную палату Великобритании. Их выручка в 2019 году составила 119 миллионов долларов США, по сравнению с 97 миллионами долларов в предыдущем году. Их убытки составили всего 2 миллиона долларов, что гораздо лучше, чем 11 миллионов долларов в 2018 году.


Средняя численность персонала Canonical в 2019 году составила 473 человека по сравнению с 437 в предыдущем году. Несмотря на то, что они добавили еще около сорока сотрудников, это все еще меньше их численности в 500 с лишним человек до реструктуризации, когда они отказались от смартфонов и других проектов.









 ,








И это всё МОЁ

даже не знаю, вроде не «писать», поэтому не дев, наверно.


ну чтоб конекторы, чтоб админка, чтоб стильно, модно, все дела. auth0 — дорого. gluu — аццкая колесница, нифига не работает. каждый пишет наколенно что ли..?


кто в тренде?









 








И это всё МОЁ

при сборке Cbindgen-0.15.0 в blfs выдает:


root [ /sources/cbindgen-0.15.0 ]# cargo build --release
Compiling proc-macro2 v1.0.21
Compiling libc v0.2.77
Compiling syn v1.0.41
Compiling getrandom v0.1.15
Compiling serde_derive v1.0.116
Compiling serde v1.0.116
Compiling ryu v1.0.5
Compiling bitflags v1.2.1
error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.0.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.1.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.10.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.11.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.12.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.13.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.14.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.15.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.2.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.3.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.4.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.5.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.6.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.7.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.8.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.build_sсript_build.8sl2aqo7-cgu.9.rcgu.o" "-o" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f" "/sources/cbindgen-0.15.0/target/release/build/getrandom-78972862c7f4793f/build_sсript_build-78972862c7f4793f.16dyastae9ubq23m.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/sources/cbindgen-0.15.0/target/release/deps" "-L" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f484aa6eb0db3aec.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-fd7ce1db81bd1670.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-9f18046c75084a11.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-1a5d4f619eaec707.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a06a5b2af1dc3f11.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-263a91b4cac8832e.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-4ff7db0018d39318.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-055170efec07394d.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-ce4d920c08eaf329.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-079e90aa9ee7ae93.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-c2911e51d2bc32f0.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-20a027e679a930e8.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-cd4ea6b6f53878f9.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9de1a409441fbdd5.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-d4adf81a33c45493.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-781f645f090477f9.rlib" "-Wl,--end-group" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-52f23afd4f4a3a72.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-ldl" "-lutil"
= note: /usr/bin/ld: /opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f484aa6eb0db3aec.rlib: error adding symbols: archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status


error: aborting due to previous error

error: could not compile `getrandom`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.0.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.1.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.10.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.11.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.12.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.13.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.14.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.15.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.2.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.3.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.4.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.5.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.6.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.7.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.8.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.build_sсript_build.56juy270-cgu.9.rcgu.o" "-o" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c" "/sources/cbindgen-0.15.0/target/release/build/ryu-82a4a090d953cf8c/build_sсript_build-82a4a090d953cf8c.ymyjg0xozgnpr9.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/sources/cbindgen-0.15.0/target/release/deps" "-L" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f484aa6eb0db3aec.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-fd7ce1db81bd1670.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-9f18046c75084a11.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-1a5d4f619eaec707.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a06a5b2af1dc3f11.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-263a91b4cac8832e.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-4ff7db0018d39318.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-055170efec07394d.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-ce4d920c08eaf329.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-079e90aa9ee7ae93.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-c2911e51d2bc32f0.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-20a027e679a930e8.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-cd4ea6b6f53878f9.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9de1a409441fbdd5.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-d4adf81a33c45493.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-781f645f090477f9.rlib" "-Wl,--end-group" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-52f23afd4f4a3a72.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-ldl" "-lutil"
= note: /usr/bin/ld: /opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f484aa6eb0db3aec.rlib: error adding symbols: archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status


пришлось убрать повторяющиеся куски так был слишком большой размер


error: aborting due to previous error

error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.0.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.1.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.10.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.11.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.12.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.13.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.14.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.15.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.2.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.3.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.4.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.5.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.6.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.7.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.8.rcgu.o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.build_sсript_build.bui9rw49-cgu.9.rcgu.o" "-o" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6" "/sources/cbindgen-0.15.0/target/release/build/libc-544f3524767e1cc6/build_sсript_build-544f3524767e1cc6.553mqdahq9y6vlpb.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/sources/cbindgen-0.15.0/target/release/deps" "-L" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f484aa6eb0db3aec.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-fd7ce1db81bd1670.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-9f18046c75084a11.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-1a5d4f619eaec707.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a06a5b2af1dc3f11.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-263a91b4cac8832e.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-4ff7db0018d39318.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-055170efec07394d.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-ce4d920c08eaf329.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-079e90aa9ee7ae93.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-c2911e51d2bc32f0.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-20a027e679a930e8.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-cd4ea6b6f53878f9.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9de1a409441fbdd5.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-d4adf81a33c45493.rlib" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-781f645f090477f9.rlib" "-Wl,--end-group" "/opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-52f23afd4f4a3a72.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-ldl" "-lutil"
= note: /usr/bin/ld: /opt/rustc-1.47.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f484aa6eb0db3aec.rlib: error adding symbols: archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status


error: aborting due to previous error

error: build failed


rustc 1.47.0 установлен


пробовал:ldconfig, переустановка binutils, танцы с бубном(ч то именно не помню)









 , ,








И это всё МОЁ
Опубликован выпуск дистрибутива Endless OS 3.8, нацеленного на создание простой в работе системы, в которой можно быстро подобрать приложения на свой вкус. Приложения распространяются в виде самодостаточных пакетов в формате Flatpak. Размер предлагаемых загрузочных образов составляет от 2.6 до 16 ГБ.



И это всё МОЁ

https://www.linux.org.ru/images/19295/1500px.jpg


Состоялся очередной релиз мультиплатформенного визуального редактора графов Qt Visual Graph Editor 0.6.1.


Данная версия отличается более тесной интеграцией с пакетом GraphViz, в частности:



  • графы в формате DOT загружаются непосредсвенно через dot, что позволяет намного качественнее выполнять их парсинг;

  • вызов GraphViz layout engines непосредсвенно из графического интерфейса приложения, с мгновенным просмотром результатов.


Также из приложения удалена встроенная поддержка библиотеки OGDF из-за её нестабильности, которая приводила к «падениям» приложения (впрочем, можно собрать QVGE с поддержкой OGDF из исходников, как и раньше).


В дальнейших планах продолжение интеграции с GraphViz, улучшения в плане редактирования текста в узлах и поддержка большего числа графических форматов









 








И это всё МОЁ

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


Я начинающий devos и пока делаю первые шаги. И вот появился у меня вопрос, на который Google с Яндексом не дают ответа.


Есть один web сервер на котором должно работать три сайта(в контейнерах). У каждого сайта свой репозиторий. Теперь я к web серверу подключил gitlab-runner, успешно его соединил в репозиторием №1, настроив gitlab-runner именно для репозиторием №1. Настроил автоматическую сборку и всё такое.


А теперь когда перешёл к сайту №2, то оказалось что gitlab-runner на web сервере настроен на репозиторием №1. Если я его сейчас перенастрою на репозиторий №2, то тогда перестанет работать сборка с репозитория №1.


Ребят может кто сталкивался с таким, подскажите как действовать в таком случаи?









 








И это всё МОЁ

https://ryven.org/


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









 , ,








И это всё МОЁ

Имею Debian 9 Stable и Wine 5.0.2 из winehq репозитария.

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

$ wine ping linux.org.ru
0009:err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions.
Pinging linux.org.ru [178.248.233.6] with 32 bytes of data:
PING: transmit failed. General failure.
PING: transmit failed. General failure.
PING: transmit failed. General failure.
PING: transmit failed. General failure.

Ping statistics for 178.248.233.6
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

В интернетах пишут, что это потому что не разрешены «возможности» для бинарников wine: https://forum.winehq.org/viewtopic.php?t=31134

Пробую установить возможности доступа к сети. Под рутом даю команды:
setcap cap_net_raw+epi "$(readlink -f "/usr/bin/wine";)"
setcap 'cap_net_bind_service=+ep' "$(readlink -f "/usr/bin/wine-preloader";)"

Они молча отрабатываются. Но после установки «возможностей», wine перестает находить свои библиотеки:
$ wine
wine: error while loading shared libraries: libwine.so.1: cannot open shared object file: No such file or directory

Если сбросить «возможности»:
setcap -r "$(readlink -f "/usr/bin/wine";)"
setcap -r "$(readlink -f "/usr/bin/wine-preloader";)"

... то wine опять начинает нормально работать:
$ wine
Usage: wine PROGRAM [ARGUMENTS...] Run the specified program
wine --help Display this help and exit
wine --version Output version information and exit

Но работает, естественно, без доступа к сети.

Вопрос: как заставить wine иметь полный доступ к сети?








 ,








И это всё МОЁ

Добрый день. На компьютере под управлением линукса,в fstab автомонтирование шары (windows server)
fstab:


//ip_server/share /mnt/share cifs username=name,password=passw,vers=2.0, file_mode=0777,dir_mode=0777 0 0


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









 , ,








И это всё МОЁ

Не получается установить scilab-6.1.0 . Скачал архив tar.gz но никак не получается из него установить(









 ,








И это всё МОЁ
И это всё МОЁ

Добрый день!



  1. есть интернет шлюз настроенный на openwrt.

  2. есть 2 провайдера.

  3. есть две локальные подсети


необходимо:



  1. что бы шлюз был доступен через каждого провайдера (на шлюзе ssh, dns)

  2. сервера расположенные в разных подсетях имели доступ друг к другу

  3. что бы ко всем серверам можно было подключиться со всех белых адресов шлюза

  4. что бы разные локальные сети выходили в интернет через разные каналы связи.


первую и четвертую задачу я решил:



как реализовать доступ к серверам со всех провайдеров?









 








И это всё МОЁ

Hello, LOR

Пишу веб сервис на typescript. Прислушавшись к громкому меньшинству, принял решение не испоьзовать ORM, а писать прям SQL-запросы (строковыми литералами).

Сперва все пошло более-менее ровно, пока не появился JOIN. Та самая хваленая оптимизация, делающая один запрос там, где какая-нибудь ORM делает N+1

Условно, есть таблица «товары» и таблица «свойства_товара». Наивным способом сначала загружаем список товаров, затем в цикле SELECT-им свойства каждого по uid.

Но мы же крутые. Обладая всей мощью SQL, делаем «товары LEFT JOIN свойства_товара». И получаем.. Херню мы получаем! Длинный ряд столбцов. С повторяющимися именами (в этих таблицах есть одноименные столбцы). А с учетом того, что заботливый драйвер postgres превращает ряды в словари, одинаковые имена просто схлопываются

Погуглил что предлагает коллективный надмозг. Надмозг предлагает жесть. Разделять столбцы разделителями и потом програмно собирать эту змею в объекты:

---- foo, bar из первой таблицы. baz, bang из второй
SELECT foo, bar '|' baz, bang

Подскажите, есть ли более лучший способ? Postgresql декларируется как фичастый и объектный. Должен же быть способ получше? Как вернуть из базы ответ в более структурированном виде? Может есть способ при селекте как-то скомбинировать поля и вернуть одним полем. Или еще как-то?








 , ,








И это всё МОЁ

Для не-Ъ:
Власти Евросоюза рассматривают возможность формального прекращения использования сквозного шифрования в популярных сервисах обмена сообщениями, таких как Signal и WhatsApp. Ограничение сквозного шифрования позволит сотрудникам спецслужб контролировать чаты в мессенджерах.


https://3dnews.ru/1024947/ec-rassmotrit-zapret-na-skvoznoe-shifrovanie-vo-imya-kollektivnoy-bezopasnosti


Интересно, сторонники Дурова выйдут на улицу самолётики попускать? Или ЕС - это «другое дело»?









 , ,








И это всё МОЁ

На каком языке программирования лучше работать с испорченным жестким диском?


Интересует считывание данных с него.









 








И это всё МОЁ

Центральный электронный модуль на уже некровольво защищён 6-байтовым пин-кодом. Вольво, которое Карс, сей код, понятное дело, не даёт, а прямой перебор занимает от 0.2 лет до 21 года. А я собрался глубоко переделывать свою телегу в вездеход: сверху и до мотора включительно - Вольво, а АКПП, рама и всё, что на ней - Тойота Фораннер. Для чего надо конфигурацию менять, да ещё и свой код дописывать.


Собрал на макетке ардуинину (Teensy 4.0) с CAN-шилдом, запрограммировал на проведение атаки по времени, за 11 минут код подобрается. В худшем случае за ~20 минут. Вот.


https://github.com/vtl/volvo-cem-cracker









 ,








И это всё МОЁ

Добрый день всем. Сегодня решила разобраться в том как работает утилита fdisk. Использовала утилиту с параметром -l, чтобы узнать как вообще у меня на виртуалке обстоят дела с дисками и решила узнать какую именно информацию она выдает. Что-то понятно, что-то нет. Помогите разобраться в том что означают поля
Units = sectors size of 1*512 = 512.
Start = 2048
End = 1050623
I/o size









 








И это всё МОЁ

Полноценную Убунту как поставить на загрузочную на флешку?


У нас флешка в 16ГБ стоит 250 руб. Что не может не радовать.


У меня есть загрузочная флешка, но работая с ней, каждый раз приходится ставить все программы заново.


Как поставить рабочею версию Убунту на флешку?


Спасибо.









 ,








И это всё МОЁ

Вечер добрый.


Делал все по инструкции с сайта.
http://russianproxy.ru/pptp-client-setup-debian-ubuntu


[rdga13@arch ~]$ sudo touch /etc/ppp/peers/nl


pty «pptp pptp-l2tp-vpn-nl-1.alivevpn.com –nolaunchpppd» #тип и адрес сервера, как пример
name ********* #логин
remotename NL #имя соединения
require-mppe-128 #включаем поддержку MPPE
defaultroute #создавать маршрут по умолчанию
replacedefaultroute #принудительно изменять маршрут по умолчанию


unit 12 #номер ppp интерфейса
persist #переподключаться при обрыве
maxfail 1 #количество попыток переподключения
holdoff 15 #интервал между подключениями
file /etc/ppp/options.pptp
ipparam $TUNNEL


[rdga13@arch ~]$ /etc/ppp/chap-secrets


******* NL ***********


[rdga13@arch ~]$ sudo pon nl nodetach


Выхлоп:
/usr/sbin/pppd: In file /etc/ppp/peers/nl-vpn: unrecognized option ‘replacedefaultroute’


Убираю replacedefaultroute из /etc/ppp/peers/nl:
#replacedefaultroute #принудительно изменять маршрут по умолчанию


И вот теперь :


Using interface ppp12
Connect: ppp12 <–> /dev/pts/1
LCP: timeout sending Config-Requests
Connection terminated.
Modem hangup


Установлен ppp dhcp pptpclient


Если попробовать через
sudo pptpsetup –create nl –server pptp-l2tp-vpn-nl-1.alivevpn.com –username ******* –password ****** –start


То снова отлуп


Using interface ppp0
Connect: ppp0 <–> /dev/pts/1
LCP: timeout sending Config-Requests
Connection terminated.
Modem hangup


Где ошибка? спасибо