LINUX.ORG.RU

Кому-нибудь удалось собрать любую версию net-misc/freerdp, включая 9999.1?

 , , ,


1

1

Пытаюсь собрать любую версию net-misc/freerdp, включая -9999.1, но вываливает с ошибкой:

CMake Error at winpr/CMakeLists.txt:20 (project):
  The CMAKE_C_COMPILER:

    x86_64-pc-linux-gnu-gcc

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "/var/tmp/portage/net-misc/freerdp-9999.1/work/freerdp-9999.1_build/CMakeFiles/CMakeOutput.log".
See also "/var/tmp/portage/net-misc/freerdp-9999.1/work/freerdp-9999.1_build/CMakeFiles/CMakeError.log".
 * ERROR: net-misc/freerdp-9999.1::gentoo failed (configure phase):
 *   cmake failed

CMAKE_C_COMPILER=«/usr/bin/gcc» emerge freerdp не катит, в багзиле посмаковали еррор и забили.


# eix freerdp
[I] net-misc/freerdp
     Available versions:  1.1.0_beta1_p20130710-r1 (~)1.1.0_beta1_p20130710-r2 **9999.1 {X alsa +channels +client cups debug directfb doc ffmpeg gstreamer jpeg pulseaudio server smartcard sse2 test usb xinerama xv}
     Installed versions:  1.1.0_beta1_p20130710-r2(07:09:41 PM 08/23/2014)(X alsa client directfb ffmpeg gstreamer jpeg pulseaudio sse2 usb xv -cups -debug -doc -server -smartcard -test -xinerama)
     Homepage:            http://www.freerdp.com/
     Description:         Free implementation of the Remote Desktop Protocol
pedobear ()
Ответ на: комментарий от kostik87

Странно, а что же может быть?

~ # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.3
 ~ # eixic gcc
[I] sys-devel/gcc (4.8.3(4.8)@10/17/2014): The GNU Compiler Collection
[I] sys-devel/gcc-config (1.8@10/17/2014): utility to manage compilers
[I] x11-misc/gccmakedep (1.0.3@10/19/2014): create dependencies in makefiles using 'gcc -M
make.conf:
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=bdver2 -O2 -pipe -fno-stack-protector"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j5"
EMERGE_DEFAULT_OPTS="-j4 --load-average=3.85"
FEATURES="${FEATURES} parallel-fetch"

xinu ()

Сейчас столкнулся с этой же бедой, у меня cmake 3.0.2, подозреваю, что с cmake 2.8.12 всё будет собираться; почитал исходники cmake 3.0.2 рядом с этим сообщением, он даже не пытается поискать его в PATH, он хочет именно полный путь. Установить переменную CC=/usr/bin/x86_64-pc-linux-gnu-gcc при запуске cmake, кстати, тоже не помогает.

Если смогу воспроизвести проблему на каком-нибудь тестовом CMakeLists.txt, отправлю багрепорт для cmake.

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

Более-менее разобрался, в чём дело.

gentoo_toolchain.cmake содержит в себе такое:

SET (CMAKE_C_COMPILER x86_64-pc-linux-gnu-gcc)

cmake читает это на раннем этапе и устанавливает CMAKE_C_COMPILER=/usr/bin/x86_64-pc-linux-gnu-gcc (разворачивает путь до абсолютного). Но потом наш freerdp делает include(CMakeDetermineSystem), а этот модуль кривой: он инклудит ${CMAKE_TOOLCHAIN_FILE} (т.е. gentoo_toolchain.cmake) заново, т.е. теперь у нас CMAKE_C_COMPILER=x86_64-pc-linux-gnu-gcc, и после этого ничего не работает. Как лучше это исправить, я не знаю, но багу напишу, когда будет время.

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

Там пишут, что нефиг инклудить CMakeDetermineSystem вручную, как делает freerdp. Если тупо выкинуть строчку include(CMakeDetermineSystem) из CMakeLists.txt, то всё собирается. Хотел отправить багу во freerdp, но обнаружил, что 9999.1 уже не содержит этой строки и успешно компилируется.

gentoo_root ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.