Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 667396 - media-radio/fldigi-4.0.18 does not build on systems without sse3
Summary: media-radio/fldigi-4.0.18 does not build on systems without sse3
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Thomas Beierlein
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-30 16:29 UTC by Mike Auty (RETIRED)
Modified: 2018-10-10 06:06 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Auty (RETIRED) gentoo-dev 2018-09-30 16:29:24 UTC
Hiya,

Just tried building fldigi, and got the following error:

checking for library containing clock_gettime... none required
checking for library containing dlopen... -ldl
checking for library containing sem_unlink... -lpthread
checking for library containing sem_timedwait... -lpthread
configure: error: bad value no for --enable-optimizations

Looking at the ebuild, there are the following lines:

                $(use_enable cpu_flags_x86_sse optimizations sse) \
                $(use_enable cpu_flags_x86_sse2 optimizations sse2) \
                $(use_enable cpu_flags_x86_sse3 optimizations sse3) \

So I then checked my /proc/cpuinfo which gave the following for all cpus:

flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d

This contains sse, sse2 and ssse3, as well as sse4_1 and sse4_2, but does not contain sse3.  As such, I think cpu_flags_x86_sse3 isn't set, and use_enable is passing no (rather than none, which still wouldn't be the right behaviour, since sse and sse2 are supported).

I'm not sure how best to fix this without complicated logic and control flow to handle the various capabilities, but it currently causes fldigi to fail to build.  Passing "--enable-optimizations native" allowed the package to build fine, which might be one way around the issue, but I don't know how much precise control people want over the cpu flags it's built with...

Let me know if you need any more information.  Happy to run any tests that might help...  5:)
Comment 1 Thomas Beierlein gentoo-dev 2018-10-09 04:25:56 UTC
Thanks for the report.
I can confirm the behaviour. Will work on it next weekend.
Comment 2 Thomas Beierlein gentoo-dev 2018-10-10 06:05:43 UTC
Fixed version in tree. 
Thanks for reporting.
Comment 3 Larry the Git Cow gentoo-dev 2018-10-10 06:06:56 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=354952960df7a939124ef311048b877b0eaef688

commit 354952960df7a939124ef311048b877b0eaef688
Author:     Thomas Beierlein <tomjbe@gentoo.org>
AuthorDate: 2018-10-10 06:05:45 +0000
Commit:     Thomas Beierlein <tomjbe@gentoo.org>
CommitDate: 2018-10-10 06:05:45 +0000

    media-radio/fldigi: Fix wrong evaluation of cpu_flags_x86
    
    Reported-by:  Mike Auty <ikelos@gentoo.org>
    Closes: https://bugs.gentoo.org/667396
    Signed-off-by: Thomas Beierlein <tomjbe@gentoo.org>
    Package-Manager: Portage-2.3.50, Repoman-2.3.11

 media-radio/fldigi/fldigi-4.0.17.ebuild | 14 +++++++++-----
 media-radio/fldigi/fldigi-4.0.18.ebuild | 14 +++++++++-----
 2 files changed, 18 insertions(+), 10 deletions(-)