<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - udev.pc should go to libdir/pkgconfig not datadir/pkgconfig"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=89769#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - udev.pc should go to libdir/pkgconfig not datadir/pkgconfig"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=89769">bug 89769</a>
              from <span class="vcard"><a class="email" href="mailto:Marc-Antoine@Perennou.com" title="Marc-Antoine Perennou <Marc-Antoine@Perennou.com>"> <span class="fn">Marc-Antoine Perennou</span></a>
</span></b>
        <pre>(In reply to Kay Sievers from <a href="show_bug.cgi?id=89769#c7">comment #7</a>)
<span class="quote">> 
> This is all wrong. $libexedir is NOT arch specific. But none of the wrong
> things here really matter.

> What matters is that systemd.pc and udev.pc are GENERIC files,
> not arch-dependent.

> The SECONDARY arch needs to find the GENERIC file, but it will not look
> into the PRIMARY arch's $libdir.

> These files just do not belong into $libdir, it is not what they are provided
> for and it will just not work as intended.

> Also, that systemd.pc carries $libdir as a variable to point out the
> PRIMARY arch, is no indication that this file should live in $libdir,
> quite the opposite is the case.</span >

This file in itself is not arch-specific, sure, as it's only a text file.

Its contents though is arch-specific.

Just picture it this way:
I have a multiarch system (and by multiarch I do not mean multilib, but a
system which can cross-compile to random archs)
My principal arch is x86_64, and I use my multiarch system to build arm
binaries.

systemd.pc and udev.pc built for x86_64 will contain paths to my x86_64 libdir.
The libraries contained into this lib are arch-dependents. When I build
something which needs udev for x86_64, it will look for pkg-config files in my
x86_64 libdir.

Now let's say I want to cross-compile the same software for arm. If systemd
installs its udev.pc in $datadir and pkg-config reads that, it will try to link
the arm binary to the x86_64 libs. If systemd however does the right things and
installs it into the arch-specific libdir, the compilation for arm will get the
right pkg-config files for the arm libdir.

Any pkg-config file containing paths to arch-sepcific stuff such as libraries
should go into an arch-specific directory.</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>