Bug 1794368
| Summary: | owfs-3.2p3-3.fc31: FTBFS with gcc 10: owserver.h:21: multiple definition of `persistence_mutex' | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Jitka Plesnikova <jplesnik> |
| Component: | owfs | Assignee: | Tomasz Torcz <tomek> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | ppisar, tomek |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | https://koschei.fedoraproject.org/package/owfs | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-01-31 14:39:23 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1750908, 1792464 | ||
|
Description
Jitka Plesnikova
2020-01-23 12:25:33 UTC
What exactly is going on here? All "locations" points to exactly the same place: owserver.h:21 When a header file is included into a source file, it becomes part of a compilation unit and the variable definition is put into BSS section of the object file. When a program is linked all definitions are collected from all object files. If there are multiple definitions of the the same-named variable, an error is raised because the linker does not know which definition is the right one. Linker does not have any information that would explain it that the two definitions are actually identical. In other words, you cannot include the same header file (owserver.h) into more source files (from_client.c, owserver.c) and then link them into one program (owexternal) if the header file contains a variable definition (persistence_mutex). A fix is changing the definition into a declaration in the header file and add the definition into one of the source files it fits better. I've fixed it with https://github.com/owfs/owfs/pull/52 Fix committed to owfs.spec, should be picked up by mass rebuild |