[devel] раненый make

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


ну и напоследок, стра[нш]ное:

alex на rhyme ~/RPM $ lftpget
http://fedora-mirror02.rbc.ru/pub/fedora/linux/development/rawhide/x86_64/os/Packages/m/make-3.82-13.fc19.x86_64.rpm
alex на rhyme ~/RPM $ mv make-3.82-13.fc19.x86_64.rpm hsh/chroot/.in
alex на rhyme ~/RPM $ hsh-shell hsh
[builder на localhost .in]$ cd
[builder на localhost ~]$ rpm2cpio /.in/make-3.82-13.fc19.x86_64.rpm | cpio
--extract --make-directories ./usr/bin/make
2278 blocks
[builder на localhost ~]$ usr/bin/make
done



05.10.2012 22:34, Alexey Morozov пишет:
> Я погорячился насчёт 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 mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel



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