Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 509696 - app-admin/gam-server-0.1.10-r3 with =sys-devel/clang-3.4-r100 - gam_eq.c:127:3: error: non-void function 'gam_eq_flush' should return a value [-Wreturn-type]
Summary: app-admin/gam-server-0.1.10-r3 with =sys-devel/clang-3.4-r100 - gam_eq.c:127:...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: Freedesktop bugs
Keywords: PATCH, PullRequest
Depends on:
Blocks: systemwide-clang
  Show dependency tree
Reported: 2014-05-06 16:31 UTC by Jauhien Piatlicki (RETIRED)
Modified: 2023-02-21 12:50 UTC (History)
2 users (show)

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

build.log (build.log,25.36 KB, text/plain)
2014-05-06 16:31 UTC, Jauhien Piatlicki (RETIRED)
Add epatch_user to gam-server ebuild. (gam-server-0.1.10-r2-with-epatch_user.patch,517 bytes, patch)
2014-08-07 13:40 UTC, Fabio Scaccabarozzi
Details | Diff
Fix gam-server to use the correct return value. (gam-server-fix-nonvoid-return.patch,439 bytes, patch)
2014-08-07 13:44 UTC, Fabio Scaccabarozzi
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jauhien Piatlicki (RETIRED) gentoo-dev 2014-05-06 16:31:38 UTC
Created attachment 376482 [details]

Build log attached.
Comment 1 Fabio Scaccabarozzi 2014-08-07 13:40:09 UTC
Created attachment 382468 [details, diff]
Add epatch_user to gam-server ebuild.
Comment 2 Fabio Scaccabarozzi 2014-08-07 13:44:54 UTC
Created attachment 382470 [details, diff]
Fix gam-server to use the correct return value.

In gam_eq.c the function gam_eq_flush checks if the first parameter is null. It uncorrectly returns without a value when the first parameter is null.
Fix the function to return FALSE, which is the default return value in case no works needs to be done (the queue is empty).
Comment 3 Fabio Scaccabarozzi 2014-08-07 13:51:21 UTC
I have attached the patch for the build to use epatch_user (diff).
The second patch fixes the return value of the offending function.
The ebuild compiles and tests fine both with gcc 4.8.3 and clang-3.4.2. I have tested both versions available in portage.
Comment 4 Fabio Scaccabarozzi 2016-01-25 21:27:12 UTC
Hi all, this bug has been open for almost two years now.
The patch still applies with clang-3.7.1.
Given that gam-server hasn't seen much activity since 2008, but seems to still be deployed as default file alteration monitor (at least, it was picked as default on my system), can someone please commit the patch?
This will have to be carried in the tree forever I guess, unless upstream sees new life.
Comment 5 Rémi Cardona (RETIRED) gentoo-dev 2016-01-25 23:38:09 UTC
I'm curious what uses gamin/gam-server on your system. It's beyond deprecated, it's abandonware at this point.

Gnome, the original user of gamin, has stopped using it for years since gnome-vfs started providing a "monitor" API, implemented using inotify. Nowadays, even *that* API has been superseded by the GFileMonitor API in glib/gio.

Comment 6 Fabio Scaccabarozzi 2016-01-26 06:35:46 UTC
Thank you for the heads up! I was wondering whether this was already superseded in some way. Anyway, following the revdep chain yields:

app-admin/gam-server-0.1.10-r2 pulled in by:
    app-admin/gamin-0.1.10-r1 requires >=app-admin/gam-server-0.1.10

app-admin/gamin-0.1.10-r1 pulled in by:
    virtual/fam-0-r1 requires >=app-admin/gamin-0.1.10-r1 [abi_x86_32(-),abi_x86_64(-)]

virtual/fam-0-r1 pulled in by:
    net-fs/samba-3.6.25 requires >=virtual/fam-0-r1 [abi_x86_32(-),abi_x86_64(-)], =virtual/fam-0-r1 [abi_x86_32(-),abi_x86_64(-)]

Thinking I was carrying over configuration bits from old installations, I did a grep on /etc/portage for 'fam' - nothing showed up.
I guess this is enabled by default with the following profile:

Would it make sense to disable it by default instead? Or even treeclean the whole "fam" flag and related packages?
A quick grep on profiles subfolder in the tree reveals that the fam use flag is masked by default for packages which support inotify, and app-admin/fam, the alternative to gamin in the virtual, is masked in the bsd profiles since 2005 because "is dead upstream".
Comment 7 Denis Pronin 2020-03-15 09:20:15 UTC
The PR has been opened for almost 1 month and nobody has cared. Could someone take a look at the PR and finally has merged it so we ultimately have supported clang?

Thank you
Comment 8 Agostino Sarubbo gentoo-dev 2021-12-10 18:45:08 UTC
tinderbox has reproduced this issue with version 0.1.10-r3 - Updating summary.