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 1404406 - 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: 25
Hardware: All
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1413388 1413413 (view as bug list)
Depends On:
Blocks: 1419912
TreeView+ depends on / blocked
 
Reported: 2016-12-13 18:37 UTC by Oliver Henshaw
Modified: 2017-02-08 04:12 UTC (History)
19 users (show)

Fixed In Version: systemd-231-12.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1419912 (view as bug list)
Environment:
Last Closed: 2017-01-17 19:52:51 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Oliver Henshaw 2016-12-13 18:37:15 UTC
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

Comment 1 Zbigniew Jędrzejewski-Szmek 2016-12-13 21:48:17 UTC
I discussed this with ignatenkobrain (who built that last lz4), and I'm going to backport the patch before the next build of systemd.

Comment 2 Anthony Messina 2017-01-14 20:15:45 UTC
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

Comment 3 Jan Synacek 2017-01-16 07:09:01 UTC
*** Bug 1413413 has been marked as a duplicate of this bug. ***

Comment 4 Jan Synacek 2017-01-16 07:21:13 UTC
@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.

Comment 5 Jan Synacek 2017-01-16 11:56:20 UTC
*** Bug 1413388 has been marked as a duplicate of this bug. ***

Comment 6 Fedora Update System 2017-01-16 13:23:14 UTC
systemd-231-12.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-4e5bd2cfb9

Comment 7 Fedora Update System 2017-01-16 22:24:15 UTC
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

Comment 8 Zbigniew Jędrzejewski-Szmek 2017-01-17 04:04:17 UTC
(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.

Comment 9 Kinston Hughes 2017-01-17 12:25:08 UTC
(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?

Comment 10 Zbigniew Jędrzejewski-Szmek 2017-01-17 13:17:42 UTC
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.

Comment 11 Oliver Henshaw 2017-01-17 14:21:15 UTC
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.)

Comment 12 Zbigniew Jędrzejewski-Szmek 2017-01-17 15:10:39 UTC
(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

Comment 13 Fedora Update System 2017-01-17 19:52:51 UTC
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.

Comment 14 Kinston Hughes 2017-01-24 20:53:50 UTC
(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.

Comment 15 Adrian Reber 2017-02-06 11:30:44 UTC
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.

Comment 16 Mike Gerber 2017-02-06 19:49:24 UTC
Also breaks on Fedora 24.

Comment 17 Susant Sahani 2017-02-08 04:12:19 UTC
Backported to f24 http://pkgs.fedoraproject.org/cgit/rpms/systemd.git/commit/?h=f24


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