Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 775551 - media-sound/deadbeef-1.8.7[notify|lastfm]: x86_64-pc-linux-gnu-gcc: error: unrecognized command-line option ‘-fblocks’
Summary: media-sound/deadbeef-1.8.7[notify|lastfm]: x86_64-pc-linux-gnu-gcc: error: un...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Piotr Karbowski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-12 05:50 UTC by Gleb
Modified: 2021-03-12 12:31 UTC (History)
2 users (show)

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


Attachments
build.log (build.log,877.87 KB, text/plain)
2021-03-12 05:53 UTC, Gleb
Details
info.txt (info.txt,7.01 KB, text/plain)
2021-03-12 05:54 UTC, Gleb
Details
info pqv (info-pqv.txt,218 bytes, text/plain)
2021-03-12 05:54 UTC, Gleb
Details
dev-libs/libdispatch-5.3.2 (libdispatch-5.3.2.ebuild,659 bytes, text/plain)
2021-03-12 06:56 UTC, Gleb
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gleb 2021-03-12 05:50:54 UTC
Updating from 1.8.4 to 1.8.7 doesn't work. Building 1.8.4 on the same machine works.

I found this ticket and it seems to be the same issue:
https://github.com/DeaDBeeF-Player/deadbeef/issues/2516

Reproducible: Always
Comment 1 Gleb 2021-03-12 05:53:57 UTC
Created attachment 690882 [details]
build.log
Comment 2 Gleb 2021-03-12 05:54:11 UTC
Created attachment 690885 [details]
info.txt
Comment 3 Gleb 2021-03-12 05:54:28 UTC
Created attachment 690888 [details]
info pqv
Comment 4 Gleb 2021-03-12 06:15:58 UTC
Using env variables with clang doesn't work as it requires libdispatch, so I'm not sure how to proceed and where to get it.

notify.c:20:10: fatal error: 'dispatch/dispatch.h' file not found
#include <dispatch/dispatch.h>
Comment 5 Gleb 2021-03-12 06:39:04 UTC
I have managed to get libdispatch using this ebuild:
https://github.com/4nykey/4nykey/blob/master/dev-libs/libdispatch/libdispatch-9999.ebuild

Though I had to modify it slightly, but it is working.

Then deadbeef with custom env variables installed and it is working.
Comment 6 Ionen Wolkens gentoo-dev 2021-03-12 06:40:53 UTC
Yes, was about to say.

This is specific to USE=notify or USE=lastfm now needing clang and swift-corelibs-libdispatch.

So alternatively you could just disable USE=notify, or stick to 1.8.4 for now.
Comment 7 Gleb 2021-03-12 06:45:42 UTC
So is gcc still going to work? Developer of the deadbeef clearly states that it is no longer supported, so more and more issues could appear in future.

Is it possible to get libdispatch into gentoo? It seems to be a part of swift, so it could be an issue.
Comment 8 Gleb 2021-03-12 06:55:45 UTC
For anyone who is interested in getting it to work with notify and clang:

1. Install libdispatch using attached ebuild,

2. Add env variable to build deadbeef with clang, use no-lto version. See example "Environment variable named compiler-clang-fno-lto" from:
https://wiki.gentoo.org/wiki/Clang#Clang_environments

More info here:
https://wiki.gentoo.org/wiki//etc/portage/package.env

3. Build deadbeef-1.8.7.
Comment 9 Gleb 2021-03-12 06:56:34 UTC
Created attachment 690891 [details]
dev-libs/libdispatch-5.3.2
Comment 10 Piotr Karbowski (RETIRED) gentoo-dev 2021-03-12 07:45:19 UTC
Well, there's nothing in changelog on https://deadbeef.sourceforge.io/news0.html saying that GCC is no longer supported. I will look into this problem.
Comment 11 Piotr Karbowski (RETIRED) gentoo-dev 2021-03-12 08:05:57 UTC
All right, so I've looked into it and indeed our only option is to go clang. I will push libdispatch since it's required by lastfm and notify plugins as well as revbump deadbeef ebuild with unconditional dependency on clang/llvm and a switch to clang CC if it's not already set, similar to what Firefox does.

This is yet another package after Firefox that no longer support GCC, dark times.
Comment 12 Ivan 2021-03-12 10:25:22 UTC
Proposed solution and libdispatch ebuild worked for me, thanks a lot.

Quite sad that dev of this project abandons GCC. Minor incovenience user-wise (thanks to Gentoo devs for that, one line in package.env does the trick), but definitely don't like that trend in the long run. However, there's no choice - either accept or get involved, and the latter isn't always suitable for simple user/consumer.
Comment 13 Ionen Wolkens gentoo-dev 2021-03-12 10:40:19 UTC
(In reply to Ivan from comment #12)
> Quite sad that dev of this project abandons GCC.
It could possibly be reversible someday if this is fixed:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352

Or if upstream drops the idea of using libdispatch anyway, but until then I can't disagree with just forcing clang to match upstream.
Comment 14 Larry the Git Cow gentoo-dev 2021-03-12 12:31:03 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=873e7e1e35fb95e6c7bbfc3a4863a869c208e2d4

commit 873e7e1e35fb95e6c7bbfc3a4863a869c208e2d4
Author:     Piotr Karbowski <slashbeast@gentoo.org>
AuthorDate: 2021-03-12 12:30:00 +0000
Commit:     Piotr Karbowski <slashbeast@gentoo.org>
CommitDate: 2021-03-12 12:31:00 +0000

    media-sound/deadbeef: 1.8.7-r1: Force clang; libdispatch dep added.
    
    Upstream stated that from 1.8.5 onward the GCC is no longer supported.
    Because of that, clang will be enforced instead.
    
    notify and lastfm plugins now requires libdispatch.
    
    Closes: https://bugs.gentoo.org/775551
    Signed-off-by: Piotr Karbowski <slashbeast@gentoo.org>

 ...dbeef-1.8.7.ebuild => deadbeef-1.8.7-r1.ebuild} | 26 +++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)