LINUX.ORG.RU

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

 ,


0

1

Пытаюсь сделать чтото удобоваримое из ЦентоОС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')

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

Мда, нафиг они почтовый клиент в vcs засунули.

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

Думаю да, найди где определено это xstrfmt при компиляции в других дистрах. Скорее всего это даже не системная библиотека а что-то в самом гите и почему-то .h нужный не подключился.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

поставил gcc 13.2.0, скачал и компилирую git

если бы тебе реально нужен был бы gcc13 и все функции git которых нет в стандартной поставке git от centos7…

сделать чтото удобоваримое

там в centos7 всё есть, gcc11 например

error: invalid use of undefined type ‘struct strbuf’

да уж.. просто поверь, новый gcc13 и новый git тебе не помогут

anonymous2 ★★★★★
()
Последнее исправление: anonymous2 (всего исправлений: 1)
Ответ на: комментарий от max_lapshin

Да, осознал, хотя вроде и не такая старая система, но ощущение дремучести как от Вин95 или даже 3.11, ничего из современного не ставится и не компилируется, gcc так и остался моим единственным «успехом».

Hunter1972
() автор топика
Ответ на: комментарий от Hunter1972

Зачем оно тебе вообще?

Миф о том, что в центоси есть какая-то бинарная совместимость — наглое враньё. Софт, собранный под centos7 докером не запускается под соседней центосью из-за несовместимости версий libc.

Софта нет, всё надо собирать руками. Смысл то?

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

Есть одна программа которая работает только под ЦентОС7, ни на одной другой системе запустить ее не удалось, мне с ней надо подружиться. В принципе gcc.13.2 для меня как prerequisites достаточно (во всех предыдущих версиях какието детские ошибки), а гит просто для копирования файлов с основной машины на виртуальную (копи/пейст не работает, флешка не работает, диск щаринг тоже не работает). В итоге установил 2.36 гит, как файл-копи работает, пойдет, CMake просто скопировал последнюю версию в виде бинарников (заработал!). Так что все не так уже плохо оказалось.

Hunter1972
() автор топика

Просто какая-то сборочная зависимость не установлена. Может быть gettext-devel или что-то подобное, поищите через поисковик внимательно. У меня в контейнерах с ц7 свежий гит собирается нормально.

anonymous
()
Ответ на: комментарий от max_lapshin

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

Hunter1972
() автор топика

Какой версии git? зависимоти все удволетворили? Читаем фаил INSTALL для git 2.43.0:

  • git-imap-send needs the OpenSSL library to talk IMAP over SSL if you are using libcurl older than 7.34.0. Otherwise you can use NO_OPENSSL without losing git-imap-send.

  • «libcurl» library is used for fetching and pushing repositories over http or https, as well as by git-imap-send if the curl version is >= 7.34.0. If you do not need that functionality, use NO_CURL to build without it.

curl какой версии ?

Ruslan76
()
Ответ на: комментарий от rupert

Я посмотрел там года гита 2015, 2016, вряд ли там чтото моложе 2.36.6 (текущая версия). Ладно черт с ним, с этим гитом, имеющаяся версия справляется с тем что мне надо, смысла возиться нет большого. Разве что ради спортивного интереса.

Hunter1972
() автор топика