<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>54865</bug_id>
          
          <creation_ts>2025-06-20 15:01:26 +0300</creation_ts>
          <short_desc>vcpkg - Could not detect vcpkg-root</short_desc>
          <delta_ts>2026-10-14 22:54:53 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>vcpkg</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Владислав Петрухин">petruhinvi</reporter>
          <assigned_to name="Vitaly Lipatov">lav</assigned_to>
          <cc>boot.efi</cc>
    
    <cc>ivanovav</cc>
    
    <cc>lav</cc>
    
    <cc>nenderus</cc>
    
    <cc>rx1513</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>267517</commentid>
    <comment_count>0</comment_count>
    <who name="Владислав Петрухин">petruhinvi</who>
    <bug_when>2025-06-20 15:01:26 +0300</bug_when>
    <thetext>Стенды:
Alt Workstation K 11.0 x86_64 (обновленный до Sisyphus)
Alt Workstation 11.0 x86_64 (обновленный до Sisyphus)

Версия: vcpkg-2025.05.19-alt1.x86_64

Шаги:
1. # apt-get install vcpkg
2. $ vcpkg --help

Ожидаемый результат: вывод справки.
Реальный результат: &quot;error: Could not detect vcpkg-root. If you are trying to use a copy of vcpkg that you&apos;ve built, you must define the VCPKG_ROOT environment variable to point to a cloned copy of https://github.com/Microsoft/vcpkg.&quot;

Ошибка возникает при вызове любой команды.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269000</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey Zhidkih">rx1513</who>
    <bug_when>2025-07-12 17:18:32 +0300</bug_when>
    <thetext>Столкнулся с такой же ошибкой.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269684</commentid>
    <comment_count>2</comment_count>
    <who name="Корытов Иван">boot.efi</who>
    <bug_when>2025-07-23 11:24:54 +0300</bug_when>
    <thetext>К сожалению, в пакет решили не добавлять предупреждение из описания пакета, а также не обновили скрипт на установку этой переменной окружения на значение по умолчанию, которые есть в Fedora. 

см. https://src.fedoraproject.org/rpms/vcpkg/blob/rawhide/f/vcpkg.spec#_42
Поэтому, для использования необходимо предоставить репозиторий с кодом вручную.

Следующие действия были проверены на сизифе:

1. Добавить установку переменной окружения в ~/.bash_profile (или другой файл, в зависимости от командного интерпретатора) или в /etc/profile.d/vcpkg.sh (файл из пакета, может быть перезаписан)

&gt; # Export the correct vcpkg root directory.
&gt; if [ -z &quot;$VCPKG_ROOT&quot; ]; then
&gt;     export VCPKG_ROOT=&quot;$HOME/.local/share/vcpkg&quot;
&gt; fi

2. Убедиться в наличии установленной переменной окружения

$ echo $VCPKG_ROOT
/home/localadmin/.local/share/vcpkg

3. Склонировать репозиторий по указанному пути

$ git clone https://github.com/microsoft/vcpkg.git $VCPKG_ROOT

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

$ git -C $VCPKG_ROOT pull</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269813</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2025-07-24 22:35:56 +0300</bug_when>
    <thetext>(Ответ для Корытов Иван на комментарий #2)
...
&gt; 3. Склонировать репозиторий по указанному пути
&gt; 
&gt; $ git clone https://github.com/microsoft/vcpkg.git $VCPKG_ROOT
Мы в этой задаче обсуждаем, что нужно улучшить в пакете, собранном в репозитории.
Как этому помогут инструкции по использованию vcpkg не из пакета?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269824</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Zhidkih">rx1513</who>
    <bug_when>2025-07-25 10:31:04 +0300</bug_when>
    <thetext>(Ответ для Vitaly Lipatov на комментарий #3)
&gt; (Ответ для Корытов Иван на комментарий #2)
&gt; ...
&gt; &gt; 3. Склонировать репозиторий по указанному пути
&gt; &gt; 
&gt; &gt; $ git clone https://github.com/microsoft/vcpkg.git $VCPKG_ROOT
&gt; Мы в этой задаче обсуждаем, что нужно улучшить в пакете, собранном в
&gt; репозитории.
&gt; Как этому помогут инструкции по использованию vcpkg не из пакета?

Тем что это именно то, что требует пакет для работы. Многие файлы который он использует находятся в репозитории и по-какой причине не попадают в пакет. В частности пакет как минимум требует триплет линукса иначе вылезает следующая ошибка:
error: Invalid triplet: x64-linux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269825</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey Zhidkih">rx1513</who>
    <bug_when>2025-07-25 10:50:06 +0300</bug_when>
    <thetext>(Ответ для Vitaly Lipatov на комментарий #3)
&gt; (Ответ для Корытов Иван на комментарий #2)
&gt; Мы в этой задаче обсуждаем, что нужно улучшить в пакете, собранном в
&gt; репозитории.
&gt; Как этому помогут инструкции по использованию vcpkg не из пакета?

Мне кажется очень грубым заниматься нравоучением пользователя, который предложил решение исходя из простых соображений логики. Искать рабочее решение проблемы это задача мейнтейнера, а не пользователя, и мейнтейнер вправе либо принять его либо нет. Но уж точно не заниматься наставлением пользователя, какие решения он должен предлагать.
К слову, решение Игоря мне помогло и пакет начал исправно работать как это и должно быть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269890</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2025-07-25 23:30:45 +0300</bug_when>
    <thetext>(Ответ для Сергей Жидких на комментарий #5)
&gt; (Ответ для Vitaly Lipatov на комментарий #3)
&gt; &gt; (Ответ для Корытов Иван на комментарий #2)
&gt; &gt; Мы в этой задаче обсуждаем, что нужно улучшить в пакете, собранном в
&gt; &gt; репозитории.
&gt; &gt; Как этому помогут инструкции по использованию vcpkg не из пакета?
&gt; 
&gt; Мне кажется очень грубым заниматься нравоучением пользователя, который
&gt; предложил решение исходя из простых соображений логики.
Какое нравоучение? Не бывает никакой логики. Вы логикой называете череду умозаключений, но ведь из неверных исходных данных можно сделать логически безупречный неверный вывод.

&gt; Искать рабочее решение проблемы это задача мейнтейнера, а не пользователя, и мейнтейнер
&gt; вправе либо принять его либо нет.
Если есть какое-то предложение, что конкретно улучшить в пакете, внимательно слушаю.

&gt; Но уж точно не заниматься наставлением
&gt; пользователя, какие решения он должен предлагать.
Почему вы так считаете? Я-то пытаюсь объяснить, что решение должно быть направлено на то, чтобы пакетом можно было пользоваться после его установки, без дополнительных странных действий.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269949</commentid>
    <comment_count>7</comment_count>
    <who name="Корытов Иван">boot.efi</who>
    <bug_when>2025-07-28 12:41:40 +0300</bug_when>
    <thetext>Файлы из репозитория можно было бы включить в пакет, но это не имеет смысла, т.к. репозиторий в GitHub является репозиторием пакетов для vcpkg, он постоянно меняется.

Вариант в лоб: сделать враппер, который за пользователя перед запуском vcpkg будет его обновлять и складывать в VCPKG_ROOT. Если это не нравится пользователю, сделать переменную в /etc/sysconfig или любом другом месте в HOME, чтобы отключать такое поведение (кто-то может использовать форк при разработке или иметь зафиксированный по дате репозиторий).

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

Приведенные выше команды - не инструкции по установке вручную, а перевод README, который идет с пакетом в Fedora, т.к. там тоже нашли причины, почему они не могут включить этот репозиторий вместе с пакетом и предлагают пользователю его склонировать вручную. 

Но тут даже и этого README нет, хоть его и не каждый простой пользователь смог бы найти.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275231</commentid>
    <comment_count>8</comment_count>
    <who name="Иванов Александр Владимирович">ivanovav</who>
    <bug_when>2025-10-22 13:18:21 +0300</bug_when>
    <thetext>Стенды, на которых воспроизводится ошибка:
  kworkstation-11.1.1-x86-64 обновленный до sisyphus
  education-11.0-x86-64-kde обновленный до sisyphus
  education-11.0-x86-64-xfce обновленный до sisyphus
  workstation-11.1-x86-64 обновленный до sisyphus
  server-11.0-x86-64-minimal обновленный до sisyphus</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302463</commentid>
    <comment_count>9</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2026-10-14 22:54:53 +0300</bug_when>
    <thetext>vcpkg-2026.09.26-alt2 -&gt; sisyphus:

Tue Oct 13 2026 Vitaly Lipatov &lt;lav@altlinux.ru&gt; 2026.09.26-alt2
- add vcpkg wrapper: default VCPKG_ROOT, clone the registry on first use (closes: #54865)
- add &quot;vcpkg update-registry&quot; command
- add README.ALT</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>