Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1419912 - fix building against lz4 (with new versioning scheme)
Summary: fix building against lz4 (with new versioning scheme)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 24
Hardware: All
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1404406
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-02-07 11:52 UTC by Michal Sekletar
Modified: 2017-02-09 20:50 UTC (History)
20 users (show)

Fixed In Version: systemd-229-18.fc24
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1404406
Environment:
Last Closed: 2017-02-09 20:50:51 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Michal Sekletar 2017-02-07 11:52:28 UTC
+++ This bug was initially created as a clone of Bug #1404406 +++

Description of problem:

While building a locally patched version of systemd I noticed that new package builds drop the liblz4 dependency.

$ fedpkg mockbuild --no-cleanup-after --root /etc/mock/fedora-25-x86_64.cfg
$ rpm -qRp /path/to/systemd-231-10.fc25.local.1.x86_64.rpm | grep -i lz4
$ rpm -qRp https://kojipkgs.fedoraproject.org//packages/systemd/231/10.fc25/x86_64/systemd-231-10.fc25.x86_64.rpm | grep -i lz4
liblz4.so.1()(64bit)

From /var/lib/mock/fedora-25-x86_64/root/builddir/build/BUILD/systemd-231/config.log:
configure:18568: checking for LZ4
configure:18575: $PKG_CONFIG --exists --print-errors " liblz4 >= 125 "
Requested 'liblz4 >= 125' but version of lz4 is 1.7.3
You may find new versions of lz4 at http://www.lz4.org/
configure:18578: $? = 1
configure:18592: $PKG_CONFIG --exists --print-errors " liblz4 >= 125 "
Requested 'liblz4 >= 125' but version of lz4 is 1.7.3
You may find new versions of lz4 at http://www.lz4.org/
configure:18595: $? = 1
configure:18609: result: no
Requested 'liblz4 >= 125' but version of lz4 is 1.7.3

The cause is lz4 renumbering from r131 to  1.7.x, and these new packages have been pushed as F24/F25/EL7 updates. Cherry-picking https://github.com/systemd/systemd/commit/3d4cf7de48a74726694abbaa09f9804b845ff3ba (which is not in v231 or v232) fixes this. 

This is not a problem in systemd-231-10.fc25 itself but will crop up in any new builds that you make.

Version-Release number of selected component (if applicable):
systemd-231-10.fc25
lz4-1.7.3-1.fc25

--- Additional comment from Zbigniew Jędrzejewski-Szmek on 2016-12-13 22:48:17 CET ---

I discussed this with ignatenkobrain (who built that last lz4), and I'm going to backport the patch before the next build of systemd.

--- Additional comment from Anthony Messina on 2017-01-14 21:15:45 CET ---

systemd-231-11.fc25.x86_64 was build without LZ4 support creating a lot of "Journal file ... uses an unsupported feature, ignoring file."

https://kojipkgs.fedoraproject.org//packages/systemd/231/11.fc25/data/logs/x86_64/build.log

...
checking for LZ4... no
...


$ systemctl --version
systemd 231
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN

--- Additional comment from Jan Synacek on 2017-01-16 08:09:01 CET ---



--- Additional comment from Jan Synacek on 2017-01-16 08:21:13 CET ---

@zbyszek Any idea, if the error message could be improved to actually say what feature is missing? In its current state, the message is pretty much useless.

--- Additional comment from Jan Synacek on 2017-01-16 12:56:20 CET ---



--- Additional comment from Fedora Update System on 2017-01-16 14:23:14 CET ---

systemd-231-12.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-4e5bd2cfb9

--- Additional comment from Fedora Update System on 2017-01-16 23:24:15 CET ---

systemd-231-12.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-4e5bd2cfb9

--- Additional comment from Zbigniew Jędrzejewski-Szmek on 2017-01-17 05:04:17 CET ---

(In reply to Jan Synacek from comment #4)
> @zbyszek Any idea, if the error message could be improved to actually say
> what feature is missing? In its current state, the message is pretty much
> useless.

It just compares versions. I don't think there's much to add to that.

--- Additional comment from Kinston Hughes on 2017-01-17 13:25:08 CET ---

(In reply to Zbigniew Jędrzejewski-Szmek from comment #8)
> (In reply to Jan Synacek from comment #4144)
> > @zbyszek Any idea, if the error message could be improved to actually say
> > what feature is missing? In its current state, the message is pretty much
> > useless.
> 
> It just compares versions. I don't think there's much to add to that.

How about the name of the feature flag it's incompat with?

--- Additional comment from Zbigniew Jędrzejewski-Szmek on 2017-01-17 14:17:42 CET ---

The detection is done by a set of m4 macros. One *could* make them better, but I don't think we should do that. Why? The part to detect lz4 and print a message if it is missing is already ~10 lines in configure.ac. If this was made to detect a proper error message, it'd likely be a few times that. Now consider that we have maybe 40 other libraries. If they were all detected in the same way, we could write one fancy function. But they are not, we'd need to write lots of macros. The only option that'd scale would be for the configuration system (i.e. autotools and pkg-config in this case) to provide better routines. This is not going to happen. We should just consider switching to something better, when something better exists. Meson certainly has a lot of potential, let's see how it develops.

--- Additional comment from Oliver Henshaw on 2017-01-17 15:21:15 CET ---

I think comment #4 was referring to the message ("...uses an unsupported feature") that systemd emits at runtime.

On the subject of missing features at build time, you would need something like functionality tests outside the build system (so that they don't get configured out when the dependency is not met.)

--- Additional comment from Zbigniew Jędrzejewski-Szmek on 2017-01-17 16:10:39 CET ---

(In reply to Oliver Henshaw from comment #11)
> I think comment #4 was referring to the message ("...uses an unsupported
> feature") that systemd emits at runtime.
Ah, OK. I guess we could do that.

> On the subject of missing features at build time, you would need something
> like functionality tests outside the build system (so that they don't get
> configured out when the dependency is not met.)
http://pkgs.fedoraproject.org/cgit/rpms/systemd.git/commit/?id=25bd358ef1484b59ede5ea247febc0dabf01e821

--- Additional comment from Fedora Update System on 2017-01-17 20:52:51 CET ---

systemd-231-12.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

--- Additional comment from Kinston Hughes on 2017-01-24 21:53:50 CET ---

(In reply to Kinston Hughes from comment #9)
> (In reply to Zbigniew Jędrzejewski-Szmek from comment #8149)
> > (In reply to Jan Synacek from comment #4144150)
> > > @zbyszek Any idea, if the error message could be improved to actually say
> > > what feature is missing? In its current state, the message is pretty much
> > > useless.
> > 
> > It just compares versions. I don't think there's much to add to that.
> 
> How about the name of the feature flag it's incompat with?

(In reply to Zbigniew Jędrzejewski-Szmek from comment #12)
> (In reply to Oliver Henshaw from comment #11164)
> > I think comment #4165 was referring to the message ("...uses an unsupported
> > feature") that systemd emits at runtime.
> Ah, OK. I guess we could do that.
 
Good, I've opened 1416201 for that.

--- Additional comment from Adrian Reber on 2017-02-06 12:30:44 CET ---

Can this change also be made available in Fedora 24. I cannot read my journal files in Fedora 24:

  journal uses an unsupported feature, ignoring file.

--- Additional comment from Mike Gerber on 2017-02-06 20:49:24 CET ---

Also breaks on Fedora 24.

Comment 1 Fedora Update System 2017-02-07 14:23:49 UTC
systemd-229-18.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-a938f8dd36

Comment 2 Fedora Update System 2017-02-08 02:48:27 UTC
systemd-229-18.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-a938f8dd36

Comment 3 Fedora Update System 2017-02-09 20:50:51 UTC
systemd-229-18.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.