Bug 1418061 - Build failure on non-x86 architectures
Summary: Build failure on non-x86 architectures
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: amanda
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dan Horák
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-01-31 18:18 UTC by Jason Tibbitts
Modified: 2017-01-31 19:24 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-31 19:24:40 UTC
Type: Bug


Attachments (Terms of Use)

Description Jason Tibbitts 2017-01-31 18:18:27 UTC
3.4.2 only builds on x86_64 and i686:

https://koji.fedoraproject.org/koji/taskinfo?taskID=17528373

Build failures look like this:

./.libs/libamanda.so: undefined reference to `get_sse42'

The previous amanda release was OK; it looks like this upstream change is the culprit:

https://github.com/zmanda/amanda/commit/8e08855b9edb841ff30b5f7e137529cfc95899d3#diff-552be1e0690d6f1201be6fa10621fa77L2119
 
Dan asked me on IRC to file this ticket:

[12:12] <sharkcz> tibbs: should be a trivial fix, provide empty get_sse42(void) for non-x86, if you file a bug, I can take a look tomorrow

So I'm filing this to keep track.

Comment 1 Jason Tibbitts 2017-01-31 19:24:40 UTC
I cooked up something which worked, but then upstream supplied a patch (and yeah, it was trivial).  I really need to get better at working in C because this should have been pretty obvious.

Upstream's patch follows.  I've fixed up the package and kicked off a rawhide build.  So I guess there's not much point in having this ticket around.  Thanks to Dan for his offer of help, though.

diff --git a/common-src/amutil.c b/common-src/amutil.c
index 864d78f..25d9fca 100644
--- a/common-src/amutil.c
+++ b/common-src/amutil.c
@@ -2096,6 +2096,11 @@ static int get_sse42(void)
 #endif
     return (ecx >> 20) & 1;
 }
+#else
+static int get_sse42(void)
+{
+    return 0;
+}
 #endif

 static uint32_t crc_table[16][256];


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