<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>