Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 569540 - sci-electronics/gspeakers-0.11-r1 fails to build with libsigc++-2.6
Summary: sci-electronics/gspeakers-0.11-r1 fails to build with libsigc++-2.6
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: The Soldering-Iron Brotherhood
URL:
Whiteboard: Pending removal: 2016-01-31
Keywords: PMASKED
Depends on:
Blocks: libsigc++-2.6
  Show dependency tree
 
Reported: 2015-12-23 20:28 UTC by Pacho Ramos
Modified: 2017-10-08 02:37 UTC (History)
2 users (show)

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


Attachments
emerge-log (gspeakers.log,16.52 KB, text/plain)
2016-01-09 15:07 UTC, Michael 'veremitz' Everitt
Details
Patched ebuild for gspeakers-0.11 (gspeakers-0.11-ebuild.patch,829 bytes, patch)
2016-02-05 00:17 UTC, A. Wilcox (awilfox)
Details | Diff
gspeakers-0.11-fix-sigc-includes.patch (gspeakers-0.11-fix-sigc-includes.patch,730 bytes, patch)
2016-02-05 00:18 UTC, A. Wilcox (awilfox)
Details | Diff
gspeakers-0.11-c++11.patch (gspeakers-0.11-c++11.patch,16.67 KB, patch)
2016-02-05 00:19 UTC, A. Wilcox (awilfox)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2015-12-23 20:28:57 UTC
After adding append-cxxflags -std=c++11


it fails with errors like:
In file included from gspeakersobject.cc:18:0:
gspeakersobject.h:21:27: fatal error: sigc++/object.h: No such file or directory
 #include <sigc++/object.h>
                           ^
compilation terminated.
Makefile:480: recipe for target 'gspeakersobject.o' failed
make[2]: *** [gspeakersobject.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from part.h:25:0,
                 from part.cc:18:
gspeakersobject.h:21:27: fatal error: sigc++/object.h: No such file or directory
 #include <sigc++/object.h>
                           ^
compilation terminated.
Makefile:480: recipe for target 'part.o' failed
make[2]: *** [part.o] Error 1
In file included from net.h:26:0,
                 from net.cc:23:
gspeakersobject.h:21:27: fatal error: sigc++/object.h: No such file or directory
 #include <sigc++/object.h>
                           ^
compilation terminated.
Makefile:480: recipe for target 'net.o' failed
make[2]: *** [net.o] Error 1
In file included from box.h:30:0,
                 from boxeditor.h:30,
                 from enclosurepaned.h:24,
                 from mainwindow.h:27,
                 from main.cc:9:
gspeakersobject.h:21:27: fatal error: sigc++/object.h: No such file or directory
 #include <sigc++/object.h>
Comment 1 Pacho Ramos gentoo-dev 2015-12-25 17:38:01 UTC
Dropping the sigc++/object.h calls should be enough
Comment 2 Pacho Ramos gentoo-dev 2015-12-29 11:17:02 UTC
Bleh, after dropping the inherits it later fails with:
In file included from gspeakersobject.cc:18:0:
gspeakersobject.h:28:32: error: 'sigc' has not been declared
 class GSpeakersObject : public sigc::trackable
                                ^
gspeakersobject.h:28:38: error: expected '{' before 'trackable'
 class GSpeakersObject : public sigc::trackable
                                      ^
gspeakersobject.h:29:1: error: invalid type in declaration before '{' token
 {
 ^
gspeakersobject.h:30:1: error: expected primary-expression before 'public'
 public:
 ^
gspeakersobject.h:30:1: error: expected '}' before 'public'
gspeakersobject.h:30:1: error: expected ',' or ';' before 'public'
gspeakersobject.h:48:1: error: expected unqualified-id before 'protected'
 protected:
 ^
gspeakersobject.h:52:1: error: expected declaration before '}' token
 };
 ^
Makefile:480: recipe for target 'gspeakersobject.o' failed
make[2]: *** [gspeakersobject.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from part.h:25:0,
                 from part.cc:18:
gspeakersobject.h:28:32: error: 'sigc' has not been declared
 class GSpeakersObject : public sigc::trackable
                                ^
gspeakersobject.h:28:38: error: expected '{' before 'trackable'
 class GSpeakersObject : public sigc::trackable
                                      ^
gspeakersobject.h:29:1: error: invalid type in declaration before '{' token
 {
 ^
gspeakersobject.h:30:1: error: expected primary-expression before 'public'
 public:
 ^
gspeakersobject.h:30:1: error: expected '}' before 'public'
gspeakersobject.h:30:1: error: expected ',' or ';' before 'public'
gspeakersobject.h:48:1: error: expected unqualified-id before 'protected'
 protected:
 ^
gspeakersobject.h:52:1: error: expected declaration before '}' token
 };
 ^
Makefile:480: recipe for target 'part.o' failed
make[2]: *** [part.o] Error 1
In file included from net.h:26:0,
                 from net.cc:23:
gspeakersobject.h:28:32: error: 'sigc' has not been declared
 class GSpeakersObject : public sigc::trackable
                                ^
gspeakersobject.h:28:38: error: expected '{' before 'trackable'
 class GSpeakersObject : public sigc::trackable
                                      ^
gspeakersobject.h:29:1: error: invalid type in declaration before '{' token
 {
 ^
gspeakersobject.h:30:1: error: expected primary-expression before 'public'
 public:
 ^
gspeakersobject.h:30:1: error: expected '}' before 'public'
gspeakersobject.h:30:1: error: expected ',' or ';' before 'public'
gspeakersobject.h:48:1: error: expected unqualified-id before 'protected'
 protected:
 ^
gspeakersobject.h:52:1: error: expected declaration before '}' token
 };
 ^
Makefile:480: recipe for target 'net.o' failed
make[2]: *** [net.o] Error 1
main.cc: In function 'int main(int, char**)':
main.cc:70:22: warning: ignoring return value of 'int system(const char*)', declared with attribute warn_unused_result [-Wunused-result]
     system(s.c_str());
                      ^
main.cc:72:22: warning: ignoring return value of 'int system(const char*)', declared with attribute warn_unused_result [-Wunused-result]
     system(s.c_str());
                      ^
make[2]: Leaving directory '/var/tmp/portage/sci-electronics/gspeakers-0.11-r1/work/gspeakers-0.11/src'
Makefile:464: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/sci-electronics/gspeakers-0.11-r1/work/gspeakers-0.11'
Makefile:361: recipe for target 'all' failed
make: *** [all] Error 2


I also see this is dead since 2004, also, no other distribution is providing this, maybe this should simply be treecleaned finally :/
Comment 3 Michael 'veremitz' Everitt 2016-01-09 15:07:22 UTC
Created attachment 422382 [details]
emerge-log
Comment 4 Michael 'veremitz' Everitt 2016-01-09 15:08:13 UTC
Builds fine for me here today (see attachment).

also .. http://www.diyaudio.com/forums/software-tools/220039-linux-speaker-design-software-2.html on ubuntu.

Will adopt if needed.
Comment 5 Pacho Ramos gentoo-dev 2016-01-09 15:17:02 UTC
It builds for you because you are using the older libsigc++ version :|
Comment 6 Michael 'veremitz' Everitt 2016-01-09 15:27:28 UTC
(In reply to Pacho Ramos from comment #5)
> It builds for you because you are using the older libsigc++ version :|

[ 3:02pm] root@ds-miche2 ~ # emerge -pv libsigc++

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] dev-libs/libsigc++-2.4.1:2::gentoo [2.3.1:2::gentoo] USE="-doc -static-libs {-test}" ABI_X86="(64%*) -32% (-x32)" 3,537 KiB

Total: 1 package (1 upgrade), Size of downloads: 3,537 KiB

What version are -you- using ... ?!

I'll check after updating to 2.4... when's 2.4 slated for removal, we can put a dependency on the ebuild temporarily.
Comment 7 Michael 'veremitz' Everitt 2016-01-09 23:18:27 UTC
Pacho,

I've just rebuilt this successfully with libsigc++ v2.4.1 as detailed above.

As I see you're maintainer for libsigc++ could I ask a favour, that you would check the changelog for v2.6 against v2.4 and if there's anything notable in there that might affect this package?

I'm inclined to submit a revised ebuild with a dependency flag set, and once we find a solution, revbump it again. Unless you have another suggestion?

Michael.
Comment 8 Pacho Ramos gentoo-dev 2016-01-10 17:18:43 UTC
It breaks with 2.6 versions
Comment 9 A. Wilcox (awilfox) 2016-02-05 00:17:11 UTC
Created attachment 424634 [details, diff]
Patched ebuild for gspeakers-0.11

This is a patch for the ebuild that allows it to build with modern libsigc++.  Two additional patches are required and will be attached.
Comment 10 A. Wilcox (awilfox) 2016-02-05 00:18:19 UTC
Created attachment 424636 [details, diff]
gspeakers-0.11-fix-sigc-includes.patch

This patch fixes the sigc include files to match 2.6 version.  Contributed originally by floppym in #gentoo-proxy-maint channel.
Comment 11 A. Wilcox (awilfox) 2016-02-05 00:19:34 UTC
Created attachment 424638 [details, diff]
gspeakers-0.11-c++11.patch

This patch was written by me to update gspeakers to be compatible with the C++11 standard.  Since 'bind' is now a standard library method, calls to libsigc++'s version must be prefixed with the namespace sigc::.
Comment 12 Michael 'veremitz' Everitt 2016-02-07 05:18:40 UTC
Removing PMASK as have confirmed changes submitted by awilfox do indeed work fine with the 1.4 libsigc++ libs too. Change incoming to portage tree via P-M shortly.
Comment 13 Michael 'veremitz' Everitt 2016-02-07 05:20:24 UTC
Correction: confirmed working with patches above and dev-libs/libsigc++-2.4.1.
Comment 14 Pacho Ramos gentoo-dev 2016-02-07 09:28:21 UTC
(It's still pmasked until we finally commit the fixes and drop its entry from package.mask)
Comment 15 Pacho Ramos gentoo-dev 2016-02-07 09:47:37 UTC
[master 75c42db] sci-electronics/gspeakers: Fixes for compatibility with libsigc++-2.6 and cxx11 (#569540 by Andrew Wilcox (awilfox))
 1 file changed, 42 insertions(+)
 create mode 100644 sci-electronics/gspeakers/gspeakers-0.11-r2.ebuild
Comment 16 Ian Delaney (RETIRED) gentoo-dev 2016-02-09 02:02:00 UTC
 The Soldering-Iron Brotherhood ????
Comment 17 Bruce Schultz 2017-10-08 02:37:41 UTC
In commit 64b81f8edad3aaa8a3a84ca799e5737c66682fdc, the ebuild was modified to apply the 2 patches attached to this bug, but the patch files were not added to the files directory.

So currently gspeakers fails to build because of the missing patch files. After adding those patches, I can confirm that the ebuild works.

Should this issue be reopened, or a new one raised?