<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Fix Makefile.am _DEPENDENCIES for better parallel make support"
href="https://bugs.freedesktop.org/show_bug.cgi?id=63331">63331</a>
</td>
</tr>
<tr>
<th>Assignee</th>
<td>systemd-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Summary</th>
<td>Fix Makefile.am _DEPENDENCIES for better parallel make support
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>systemd-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Reporter</th>
<td>ssuominen@gentoo.org
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Component</th>
<td>general
</td>
</tr>
<tr>
<th>Product</th>
<td>systemd
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=77683" name="attach_77683" title="This patch works for me.">attachment 77683</a> <a href="attachment.cgi?id=77683&action=edit" title="This patch works for me.">[details]</a></span>
This patch works for me.
Makefile.am doesn't have enough dependencies which makes the build racy when
built using `make -j9` or other -j value.
It's very hard to reproduce these. But they appear in _both_, full build and
they appear even more if you build separate targets from Makefile, like if you
want to build only some helper.
libtool: link: ( cd ".libs" && rm -f "libsystemd-id128-internal.la" && ln -s
"../libsystemd-id128-internal.la" "libsystemd-id128-internal.la" )
/bin/sh ./libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc -std=gnu99
-pipe -Wall -Wextra -Wno-inline -Wundef -Wformat=2 -Wformat-security
-Wformat-nonliteral -Wlogical-op -Wsign-compare -Wmissing-include-dirs
-Wold-style-definition -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
-Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2
-Wwrite-strings -Wno-long-long -Wno-overlength-strings -Wno-unused-parameter
-Wno-missing-field-initializers -Wno-unused-result -Werror=overflow
-ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing
-fvisibility=hidden -ffunction-sections -fdata-sections -fstack-protector
--param=ssp-buffer-size=4 -O2 -march=native -Wl,--as-needed -Wl,--gc-sections
-Wl,-z,relro -Wl,-z,now -Wl,-O1 -Wl,--as-needed -o collect
src/udev/collect/collect.o libudev-private.la -ldl -lrt
libtool: link: cannot find the library `libudev-private.la' or unhandled
argument `libudev-private.la'
or
libtool: link: x86_64-pc-linux-gnu-gcc -std=gnu99 -pipe -Wall -Wextra
-Wno-inline -Wundef -Wformat=2 -Wformat-security -Wformat-nonliteral
-Wlogical-op -Wsign-compare -Wmissing-include-dirs -Wold-style-definition
-Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal
-Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls
-Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
-Wstrict-aliasing=2 -Wwrite-strings -Wno-long-long -Wno-overlength-strings
-Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result
-Werror=overflow -ffast-math -fno-common -fdiagnostics-show-option
-fno-strict-aliasing -fvisibility=hidden -ffunction-sections -fdata-sections
-fstack-protector --param=ssp-buffer-size=4 -O2 -pipe -march=nocona
-Wl,--gc-sections -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,-O1 -o ata_id
src/udev/ata_id/ata_id.o -Wl,--as-needed ./.libs/libudev-private.a
./.libs/libsystemd-shared.a -ldl -lrt
libtool: link: cannot find the library `libudev.la' or unhandled argument
`libudev.la'
make: *** [v4l_id] Ошибка 1
So I ended up rereading the GNU automake manual about _DEPENDENCIES and this is
the patch I came up with. It works for me and can be applied on today's git.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>