LINUX.ORG.RU

Сообщения Hunter1972

 

Запуск программы как демона

Форум — Development

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

terminate called after throwing an instance of ‘std::logic_error’ what(): basic_string::_S_construct null not valid

Очевидно что где то там внутри нее передается NULL как аргумент в string и который не NULL если запускается как обычное приложение. Не знаю что это за параметр, но по идее разницы же быть не должно запускается программа через systemd или менеджер файлов? Или все таки есть? Откуда она об этом может знать?

 

Hunter1972
()

Centos7 + компиляция git

Форум — Development

Пытаюсь сделать чтото удобоваримое из ЦентоОС7, поставил gcc 13.2.0, скачал и компилирую git, после «make all» получаю ошибки :

    LINK git-http-backend
    CC imap-send.o
imap-send.c: In function ‘issue_imap_cmd’:
imap-send.c:546:22: warning: implicit declaration of function ‘starts_with’ [-Wimplicit-function-declaration]
  546 |                 if (!starts_with(cmd->cmd, "LOGIN"))
      |                      ^~~~~~~~~~~
imap-send.c: In function ‘cram’:
imap-send.c:896:20: warning: implicit declaration of function ‘xstrfmt’ [-Wimplicit-function-declaration]
  896 |         response = xstrfmt("%s %s", user, hex);
      |                    ^~~~~~~
imap-send.c:896:18: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  896 |         response = xstrfmt("%s %s", user, hex);
      |                  ^
imap-send.c: In function ‘lf_to_crlf’:
imap-send.c:1193:46: error: invalid use of undefined type ‘struct strbuf’
 1193 |         for (i = j = 0, lastc = '\0'; i < msg->len; i++) {
      |                                              ^~
imap-send.c:1194:24: error: invalid use of undefined type ‘struct strbuf’
 1194 |                 if (msg->buf[i] == '\n' && lastc != '\r')

Это както исправимо малыми усилиями?

 ,

Hunter1972
()

cmake, как заставить find_package искать только в поддиректории?

Форум — Development

делаю простой Cmake файл в главной директории и создаю в ней поддиректорию «./zlib-1.3» с последней версией zlib. Как сделать так чтобы во всех других подпроектах zlib был доступен?

cmake_minimum_required(VERSION 3.24 FATAL_ERROR)
set(CMAKE_CXX_STANDARD 23)
project(MyLib LANGUAGES CXX)
#set (ZLIB_DIR «./zlib-1.3»)
#find_package (ZLIB PATHS «./zlib-1.3» NO_DEFAULT_PATH)
find_package (ZLIB)

Результаты всегда одни и те же:
Could NOT find ZLIB (missing: ZLIB_DIR)

Как заставить этого монстра найти пакет в поддиректории и чтобы он был доступен в других подпроектах?

 

Hunter1972
()

Почему нет libc.so?

Форум — Development

На Centos 7 встроенный gcc имеет версию 4.8.2, решил проапгрейдить ее до 13.2.0 из исходников, сделав такую конфигурацию:

../gcc-13.2.0/configure –enable-languages=c,c++ –with-multilib-list=m32,m64

после компиляции и установки (инсталлировалось в /usr/local/) получил такой набор библиотек:

[ravil@localhost ~]$ sudo find /usr -type f -name libstdc++.so.6.[0-9]?[0-9]?
/usr/lib64/libstdc++.so.6.0.19
/usr/local/lib/libstdc++.so.6.0.32
/usr/local/lib64/libstdc++.so.6.0.32

[ravil@localhost ~]$ sudo find /usr -type f -name libc.so*
/usr/lib/libc.so
/usr/lib64/libc.so

То есть новые с++ библиотеки появились а с - нет. Реально они вообще в 13.2.0 нигде не создались, почему так?

 

Hunter1972
()

Не могу понять логику работы VSCode

Форум — Development

Делаю так:

  1. Хочу настроить выбор компилятора (g++ и clang)

  2. В tasks.json указываю две задачи, а одной: «label»: «C/C++: g++ build active file», «command»: «/usr/bin/g++», в другой: «label»: «C/C++: clang build active file», «command»: «/usr/bin/clang++»

  3. В launch.json тоже указываю две задачи: «preLaunchTask»: «C/C++: g++ build active file» и «preLaunchTask»: «C/C++: clang build active file»

  4. Что непонятно:

а) Зачем нужна кнопка «Add configuration», причем она появляется только при редактировании launch.json? И она же вынесена в правый верхний угол программы под иконкой шестеренки. Это что настолько важный функционал? Я что скопировать несколько строк не смогу? А если не смогу то почему она только в одном файле, а нет например в tasks.json?

б) В правом верхнем углу кнопка с выбором Debug или Run. При выборе любой из кнопок иногда возникает список из нескольких пунктов (обычно 7) но никогда не 2 как я предполагаю причем некоторые выглядят дубликатами, а один пункт «cpp build» заведомо нерабочий. Иногда действие выполняется сразу не спрашивая. Как программа вообще заполняет этот список? Зачем разделять debug и run? А если разделять то почему тогда нет отдельных build и compile?

в) Почему F5 не предлагает выбор компилятора? Какой она использует в качестве умолчания? В то же время ctrl + shift + b вызывает компиляцию с выбором компилятора. Почему такое разное поведение?

 

Hunter1972
()

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