ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] раненый make
@ 2012-10-05 12:37 Alexey Morozov
  2012-10-05 13:37 ` REAL
  0 siblings, 1 reply; 8+ messages in thread
From: Alexey Morozov @ 2012-10-05 12:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Здравствуйте!

Пару недель назад у нас перестал собираться kdevelop. Произошло это,
вероятно, потому что был выкачен make 2:3.82-alt4.

Дело в том, что в kdevelop есть специальный _тесткейс_ , в котором в
имени исходного файла присутствует пробел:

debuggers/gdb/unittests/debugee space.cpp

При этом cmake генерирует вот такую сборочную зависимость в make-файлах:

debuggers/gdb/unittests/CMakeFiles/debugeespace.dir/debugee_space.o:
../debuggers/gdb/unittests/debugee\ space.cpp

Если я правильно понимаю, с точки зрения документации по make
зависимость описана правильно (по крайней мере, я нашёл такое:
http://lists.gnu.org/archive/html/make-w32/2009-04/msg00021.html ).
Собственно, вопрос: политика партии запрещает наличие пробелов в именах
файлов, участвующих в сборке (и этому есть какие-то разумные
обоснования), или это побочный эффект от не слишком удачного патча от
Ralf Wildenhues ?

На прямо сейчас я, конечно, отключу этот тесткейс, но, очевидно, это не
решение проблемы, если это вообще проблема, а не ожидаемое поведение.

С уважением,
Алексей Морозов


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] раненый make
  2012-10-05 12:37 [devel] раненый make Alexey Morozov
@ 2012-10-05 13:37 ` REAL
  2012-10-05 14:09   ` Sergey V Turchin
  0 siblings, 1 reply; 8+ messages in thread
From: REAL @ 2012-10-05 13:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

05.10.2012 19:37, Alexey Morozov пишет:
> Дело в том, что в kdevelop есть специальный _тесткейс_ , в котором в
> имени исходного файла присутствует пробел:
>
> debuggers/gdb/unittests/debugee space.cpp
>
> При этом cmake генерирует вот такую сборочную зависимость в make-файлах:
>
> debuggers/gdb/unittests/CMakeFiles/debugeespace.dir/debugee_space.o:
> ../debuggers/gdb/unittests/debugee\ space.cpp

make здесь ни при чём, всё дело в баге в cmake.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] раненый make
  2012-10-05 13:37 ` REAL
@ 2012-10-05 14:09   ` Sergey V Turchin
  2012-10-05 15:04     ` Alexey Morozov
  0 siblings, 1 reply; 8+ messages in thread
From: Sergey V Turchin @ 2012-10-05 14:09 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 222 bytes --]

On 5 октября 2012 20:37:38 REAL wrote:

[...]
> make здесь ни при чём, всё дело в баге в cmake.
http://bugs.altlinux.org/27779

-- 
Regards, Sergey.       ALT Linux, http://www.altlinux.ru/

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] раненый make
  2012-10-05 14:09   ` Sergey V Turchin
@ 2012-10-05 15:04     ` Alexey Morozov
  2012-10-05 15:34       ` Alexey Morozov
  0 siblings, 1 reply; 8+ messages in thread
From: Alexey Morozov @ 2012-10-05 15:04 UTC (permalink / raw)
  To: devel

Парни, вы простите, но я на руках имею вполне корректно выглядящие
.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




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] раненый make
  2012-10-05 15:04     ` Alexey Morozov
@ 2012-10-05 15:34       ` Alexey Morozov
  2012-10-05 15:55         ` Alexey Morozov
  2012-10-05 23:09         ` Dmitry V. Levin
  0 siblings, 2 replies; 8+ messages in thread
From: Alexey Morozov @ 2012-10-05 15:34 UTC (permalink / raw)
  To: devel

Я погорячился насчёт 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



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] раненый make
  2012-10-05 15:34       ` Alexey Morozov
@ 2012-10-05 15:55         ` Alexey Morozov
  2012-10-05 23:09         ` Dmitry V. Levin
  1 sibling, 0 replies; 8+ messages in thread
From: Alexey Morozov @ 2012-10-05 15:55 UTC (permalink / raw)
  To: devel

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

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



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] раненый make
  2012-10-05 15:34       ` Alexey Morozov
  2012-10-05 15:55         ` Alexey Morozov
@ 2012-10-05 23:09         ` Dmitry V. Levin
  2012-10-05 23:44           ` Dmitry V. Levin
  1 sibling, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2012-10-05 23:09 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 426 bytes --]

On Fri, Oct 05, 2012 at 10:34:22PM +0700, Alexey Morozov wrote:
> Я погорячился насчёт make-3.82-alt4, проблема возникла в
> make-3.82-alt3, но её не было актуальном до него 3.81-alt5:

В 3.82-alt3 я портировал из cvs много патчей, в т.ч. исправляющих
квотирование.  Оказывается, этого было мало, сейчас я спортировал еще
несколько и скоро соберу make-3.82-alt5, в котором этой баги не будет.

Спасибо,


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] раненый make
  2012-10-05 23:09         ` Dmitry V. Levin
@ 2012-10-05 23:44           ` Dmitry V. Levin
  0 siblings, 0 replies; 8+ messages in thread
From: Dmitry V. Levin @ 2012-10-05 23:44 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 609 bytes --]

On Sat, Oct 06, 2012 at 03:09:06AM +0400, Dmitry V. Levin wrote:
> On Fri, Oct 05, 2012 at 10:34:22PM +0700, Alexey Morozov wrote:
> > Я погорячился насчёт make-3.82-alt4, проблема возникла в
> > make-3.82-alt3, но её не было актуальном до него 3.81-alt5:
> 
> В 3.82-alt3 я портировал из cvs много патчей, в т.ч. исправляющих
> квотирование.  Оказывается, этого было мало, сейчас я спортировал еще
> несколько и скоро соберу make-3.82-alt5, в котором этой баги не будет.

make-3.82-alt5 ушел в Сизиф.  Тысяча извинений тем, кто ждет завершения
task#81290, но это был важный багфикс.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-10-05 23:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-05 12:37 [devel] раненый make Alexey Morozov
2012-10-05 13:37 ` REAL
2012-10-05 14:09   ` Sergey V Turchin
2012-10-05 15:04     ` Alexey Morozov
2012-10-05 15:34       ` Alexey Morozov
2012-10-05 15:55         ` Alexey Morozov
2012-10-05 23:09         ` Dmitry V. Levin
2012-10-05 23:44           ` Dmitry V. Levin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git