[devel] раненый make

Alexey Morozov morozov_ml на ngs.ru
Пт Окт 5 19:34:22 MSK 2012


Я погорячился насчёт make-3.82-alt4, проблема возникла в
make-3.82-alt3, но её не было актуальном до него 3.81-alt5:

alex на rhyme ~/RPM $ lftpget
ftp://ftp.altlinux.org/pub/distributions/archive/Sisyphus/2012/09/25/x86_64/RPMS.classic/make-3.82-alt3.x86_64.rpm
alex на rhyme ~/RPM $ mv make-3.82-alt3.x86_64.rpm hsh/chroot/.in
alex на rhyme ~/RPM $ hsh-shell hsh --rooter
[root на localhost .in]# rpm -Uvh --oldpackage /.in/make-3.82-alt3.x86_64.rpm
Preparing...####################################################################################################
make####################################################################################################
<13>Oct  5 15:18:47 rpm: make-2:3.82-alt3 installed
<13>Oct  5 15:18:47 rpm: make-2:3.82-alt4 removed
 Running /usr/lib/rpm/posttrans-filetriggers
[root на localhost .in]# cd ~builder/
[root на localhost src]# make
make: *** No rule to make target `file', needed by `all'.  Stop.
[root на localhost .in]# logout
alex на rhyme ~/RPM $ lftpget
ftp://ftp.altlinux.org/pub/distributions/archive/Sisyphus/2012/09/19/x86_64/RPMS.classic/make-3.81-alt5.x86_64.rpm

alex на rhyme ~/RPM $ mv make-3.81-alt5.x86_64.rpm hsh/chroot/.in
alex на rhyme ~/RPM $ hsh-shell hsh --rooter
[root на localhost .in]# rpm -Uvh --oldpackage /.in/make-3.81-alt5.x86_64.rpm
Preparing...####################################################################################################
make####################################################################################################
<13>Oct  5 15:27:18 rpm: make-2:3.81-alt5 installed
<13>Oct  5 15:27:19 rpm: make-2:3.82-alt3 removed
Running /usr/lib/rpm/posttrans-filetriggers
[root на localhost .in]# cd ~builder/
[root на localhost src]# make
done
[root на localhost src]# _


05.10.2012 22:04, Alexey Morozov пишет:
> Парни, вы простите, но я на руках имею вполне корректно выглядящие
> .make-файлы:
>
> debuggers/gdb/unittests/CMakeFiles/debugeespace.dir/debugee_space.o:
> ../debuggers/gdb/unittests/debugee\ space.cpp
>     $(CMAKE_COMMAND) -E cmake_progress_report
> /usr/src/RPM/BUILD/kdevelop-4.3.1/BUILD-x86_64-alt-linux/CMakeFiles
>     $(CMAKE_PROGRESS_1) @$(CMAKE_COMMAND) -E cmake_echo_color
> --switch=$(COLOR) --green "Building CXX object
> debuggers/gdb/unittests/CMakeFiles/debugeespace.dir/debugee_space.o"
>     cd
> /usr/src/RPM/BUILD/kdevelop-4.3.1/BUILD-x86_64-alt-linux/debuggers/gdb/unittests
> && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o
> CMakeFiles/debugeespace.dir/debugee_space.o -c
> "/usr/src/RPM/BUILD/kdevelop-4.3.1/debuggers/gdb/unittests/debugee
> space.cpp"
>
> Сгенерированная cmake'ом сборочная последовательность - вполне рабочая,
> в этом можно убедиться, просто убрав зависимость на файл с пробелом в имени.
> Если заменить зависимость на файл с пробелом в имени на файл без пробела,
> находящийся в том же каталоге, что и "плохой" файл, то тоже всё работает.
>
> Кроме того, любой может проделать следующее:
>
> [builder на localhost ~]$ touch 'file with space'
> [builder на localhost ~]$ cat >Makefile
> all: file\ with\ space
>         @echo done
> [builder на localhost ~]$ make
> make: *** No rule to make target `file', needed by `all'.  Stop.
> [builder на localhost ~]$ _
>
> Следовательно, проблема ровно в зависимости, в том как она выражена.
> Из того, что я успел прочитать в интернетах, зависимости на файлы с
> пробелами в имени должны выглядеть именно так. Следовательно, или меня
> обманывают интернеты, и такие зависимости должны выглядеть как-то иначе
> (btw я не смог придумать вменяемого работающего варианта), или,
> нувыпонели...
>
> Из того, что обсуждается в
>
> http://stackoverflow.com/questions/668322/what-is-the-most-reliable-way-of-using-gnumake-with-filenames-containing-spaces
>
> и
>
> http://savannah.gnu.org/bugs/?712
>
> видно, что проблема в GNU make так-таки существует.
>
> Кроме того, сборка kdevelop сломалась не 1-го сентября, когда Дубровский
> залил
> новую версию cmake, а ближе к концу месяца, аккурат, когда была залита новая
> сборка make, как раз с упомянутым патчем. Убирать cmake'овые тесты, как это
> сделал Ростовцев в cmake-2.8.9-alt1.1, - это, конечно, решение, но,
> ей-богу, от
> таких решений сильно пахнет.
>
> АМ
>
> Пт 05 окт 2012 21:09:53, Sergey V Turchin писал:
>> On 5 октября 2012 20:37:38 REAL wrote:
>>
>> [...]
>>> make здесь ни при чём, всё дело в баге в cmake.
>> http://bugs.altlinux.org/27779
>>
>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel на lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel



Подробная информация о списке рассылки Devel