<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - 217: error: undefined reference to 'config_parse_warn_compat'"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=87125">87125</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>217: error: undefined reference to 'config_parse_warn_compat'
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>systemd
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>general
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>arekm@maven.pl
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Linking systemd-analyze fails with:
error: undefined reference to 'config_parse_warn_compat'

That's because config_parse_warn_compat() is compiled in only if one of these
defines is not defined:

#if !defined(HAVE_SYSV_COMPAT) || !defined(HAVE_SECCOMP) || !defined(HAVE_PAM)
|| !defined(HAVE_SELINUX) || !defined(HAVE_SMACK) || !defined(HAVE_APPARMOR)
int config_parse_warn_compat(

Unfortunately in my case I have all these defined.

Yet src/core/load-fragment-gperf.c wants config_parse_warn_compat
unconditionally.

Solution - dropping these guard defines and always compiling
config_parse_warn_compat in.


libtool: link: x86_64-pld-linux-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
-Wsuggest-attribute=noreturn -Wmissing-prototypes -Wstrict-prototypes
-Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow
-Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Wno-long-long
-Wno-overlength-strings -Wno-unused-parameter -Wno-missing-field-initializers
-Wno-unused-result -Werror=overflow -Wdate-time -Wnested-externs -ffast-math
-fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden
-ffunction-sections -fdata-sections -fstack-protector -fstack-protector-strong
-fPIE --param=ssp-buffer-size=4 -O2 -fwrapv -pipe -Wformat
-Werror=format-security -gdwarf-4 -fno-debug-types-section
-fvar-tracking-assignments -g2 -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector
--param=ssp-buffer-size=4 -fPIC -march=x86-64 -gdwarf-4
-fno-debug-types-section -fvar-tracking-assignments -g2 -Wl,--as-needed
-Wl,--no-undefined -Wl,--gc-sections -Wl,-z -Wl,relro -Wl,-z -Wl,now -pie
-Wl,-fuse-ld=gold -Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z
-Wl,relro -Wl,-z -Wl,combreloc -o systemd-analyze src/analyze/analyze.o
src/analyze/analyze-verify.o  ./.libs/libsystemd-core.a -lselinux
/usr/lib64/libpam_misc.so /usr/lib64/libpam.so /usr/lib64/libaudit.so -lcap
-lkmod /usr/lib64/libapparmor.so -lseccomp ./.libs/libsystemd-internal.a
./.libs/libsystemd-shared.a -lrt -ldw -ldl -pthread
./.libs/libsystemd-core.a(libsystemd_core_la-load-fragment-gperf.o):load-fragment-gperf.c:wordlist.15022:
error: undefined reference to 'config_parse_warn_compat'</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>