chiark / gitweb /
coredumpctl: fix build with !HAVE_XZ
authorDaniel Mack <zonque@gmail.com>
Thu, 26 Jun 2014 08:31:23 +0000 (10:31 +0200)
committerDaniel Mack <zonque@gmail.com>
Thu, 26 Jun 2014 08:31:23 +0000 (10:31 +0200)
Fixes the following build error:

  CCLD     coredumpctl
src/journal/coredumpctl.o: In function `save_core':
/src/systemd-master/src/journal/coredumpctl.c:656:
undefined reference to `decompress_stream'
collect2: error: ld returned 1 exit status
make[2]: *** [coredumpctl] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

src/journal/coredumpctl.c

index 08d8cdfeb7bdd7377e7be0c4905cdb72f703bd84..ba785398260139439370cb1cb249954ac37e1125 100644 (file)
@@ -644,6 +644,7 @@ static int save_core(sd_journal *j, int fd, char **path, bool *unlink_temp) {
                                 goto error;
                         }
                 } else if (filename) {
                                 goto error;
                         }
                 } else if (filename) {
+#if HAVE_XZ
                         _cleanup_close_ int fdf;
 
                         fdf = open(filename, O_RDONLY | O_CLOEXEC);
                         _cleanup_close_ int fdf;
 
                         fdf = open(filename, O_RDONLY | O_CLOEXEC);
@@ -658,6 +659,11 @@ static int save_core(sd_journal *j, int fd, char **path, bool *unlink_temp) {
                                 log_error("Failed to decompress %s: %s", filename, strerror(-r));
                                 goto error;
                         }
                                 log_error("Failed to decompress %s: %s", filename, strerror(-r));
                                 goto error;
                         }
+#else
+                        log_error("Cannot decompress file. Compiled without XZ support.");
+                        r = -ENOTSUP;
+                        goto error;
+#endif
                 } else {
                         if (r == -ENOENT)
                                 log_error("Coredump neither in journal file nor stored externally on disk.");
                 } else {
                         if (r == -ENOENT)
                                 log_error("Coredump neither in journal file nor stored externally on disk.");