! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
xfce4-volstatus-icon compiles only in maintainer-mode
Status:
RESOLVED: WONTFIX
Product:
Xfce4-volstatus-icon
Component:
General

Comments

Description Michael Unterkalmsteiner 2009-08-03 10:21:42 CEST
After a clean checkout:

$ ./autogen.sh
$ ./configure --prefix=/home/mlunter/projekte/xfce/xfce4-volstatus/inst/
$ make

[...]
xfce-volstatus-icon.c:35:36: error: xfce-volstatus-marshal.h: No such file or directory
xfce-volstatus-icon.c: In function ‘xfce_volstatus_icon_class_init’:
xfce-volstatus-icon.c:128: error: ‘xfce_volstatus_marshal_VOID__OBJECT_BOOLEAN’ undeclared (first use in this function)
[...]

Fixed by:
$ ./configure --prefix=/home/mlunter/projekte/xfce/xfce4-volstatus/inst/ --enable-maintainer-mode


Seems that xfce-volstatus-marshal.h/.c are not created in normal build mode.
I didn't check without using --prefix since I installed the required ghal-0 there.

Regards,
Michael
Comment 1 Brian J. Tarricone (not reading bugmail) 2009-08-03 20:05:40 CEST
Are you compiling from svn, or a release tarball?
Comment 2 Michael Unterkalmsteiner 2009-08-03 21:11:56 CEST
(In reply to comment #1)
> Are you compiling from svn, or a release tarball?

Sorry, forgot to state that explicitly... checked out from svn.
In the meantime I looked into xfce4-volstatus-icon/xfce4-volstatus-icon/Makefile.am and understood the problem... I assume the reason for putting the generation of xfce-volstatus-marshal.h/.c in the conditional is that not every "normal" developer has "glib-genmarshal" installed? 

Then I would propose to change the instructions on 
http://goodies.xfce.org/projects/applications/xfce4-volstatus-icon 
since with an svn checkout the build fails. Something like:

"Replace configure with autogen.sh if checking the code out of the Subversion repository instead of using a source tarball. Run 
./configure --prefix=<install_path> --enable-maintainer-mode
to generate the required source files."

Does glib-genmarshal generate platform dependent code? Otherwise I'd just add both files to the repo...
Comment 3 Brian J. Tarricone (not reading bugmail) 2009-08-03 21:53:19 CEST
(In reply to comment #2)
> Sorry, forgot to state that explicitly... checked out from svn.
> In the meantime I looked into
> xfce4-volstatus-icon/xfce4-volstatus-icon/Makefile.am and understood the
> problem... I assume the reason for putting the generation of
> xfce-volstatus-marshal.h/.c in the conditional is that not every "normal"
> developer has "glib-genmarshal" installed? 

No, it's because not every normal *user* needs to have glib-genmarshal installed.  That's generally what maintainer-mode is for: disabling rules that developers need but users don't.

The generated files are distributed with tarballs, so the rules to generate them aren't needed.

> Then I would propose to change the instructions on 
> http://goodies.xfce.org/projects/applications/xfce4-volstatus-icon 
> since with an svn checkout the build fails. Something like:
> 
> "Replace configure with autogen.sh if checking the code out of the Subversion
> repository instead of using a source tarball. Run 
> ./configure --prefix=<install_path> --enable-maintainer-mode
> to generate the required source files."

If you run autogen.sh, it passes --enable-maintainer mode.  If you choose to run configure manually -- which you shouldn't need to do, as --enable-maintainer-mode also enables the auto-rebuild rules for the Makefiles, then you're on your own.

> Does glib-genmarshal generate platform dependent code? Otherwise I'd just add
> both files to the repo...

No, I don't store generated files in svn except for a few special cases.
Comment 4 Michael Unterkalmsteiner 2009-08-04 06:09:51 CEST
(In reply to comment #3)
> (In reply to comment #2)
> > Sorry, forgot to state that explicitly... checked out from svn.
> > In the meantime I looked into
> > xfce4-volstatus-icon/xfce4-volstatus-icon/Makefile.am and understood the
> > problem... I assume the reason for putting the generation of
> > xfce-volstatus-marshal.h/.c in the conditional is that not every "normal"
> > developer has "glib-genmarshal" installed? 
> 
> No, it's because not every normal *user* needs to have glib-genmarshal
> installed.  That's generally what maintainer-mode is for: disabling rules that
> developers need but users don't.

Ok agreed.

> 
> The generated files are distributed with tarballs, so the rules to generate
> them aren't needed.
> 
> > Then I would propose to change the instructions on 
> > http://goodies.xfce.org/projects/applications/xfce4-volstatus-icon 
> > since with an svn checkout the build fails. Something like:
> > 
> > "Replace configure with autogen.sh if checking the code out of the Subversion
> > repository instead of using a source tarball. Run 
> > ./configure --prefix=<install_path> --enable-maintainer-mode
> > to generate the required source files."
> 
> If you run autogen.sh, it passes --enable-maintainer mode.  If you choose to
> run configure manually -- which you shouldn't need to do, as
> --enable-maintainer-mode also enables the auto-rebuild rules for the Makefiles,
> then you're on your own.

Ok, fine. How do I pass then a prefix? ghal-0 is not installed in a standard location since I compiled it myself and don't want to install it globally. 


> 
> > Does glib-genmarshal generate platform dependent code? Otherwise I'd just add
> > both files to the repo...
> 
> No, I don't store generated files in svn except for a few special cases.

Ok. Thanks for your answers.
Comment 5 Michael Unterkalmsteiner 2009-08-04 06:17:16 CEST
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > Sorry, forgot to state that explicitly... checked out from svn.
> > > In the meantime I looked into
> > > xfce4-volstatus-icon/xfce4-volstatus-icon/Makefile.am and understood the
> > > problem... I assume the reason for putting the generation of
> > > xfce-volstatus-marshal.h/.c in the conditional is that not every "normal"
> > > developer has "glib-genmarshal" installed? 
> > 
> > No, it's because not every normal *user* needs to have glib-genmarshal
> > installed.  That's generally what maintainer-mode is for: disabling rules that
> > developers need but users don't.
> 
> Ok agreed.
> 
> > 
> > The generated files are distributed with tarballs, so the rules to generate
> > them aren't needed.
> > 
> > > Then I would propose to change the instructions on 
> > > http://goodies.xfce.org/projects/applications/xfce4-volstatus-icon 
> > > since with an svn checkout the build fails. Something like:
> > > 
> > > "Replace configure with autogen.sh if checking the code out of the Subversion
> > > repository instead of using a source tarball. Run 
> > > ./configure --prefix=<install_path> --enable-maintainer-mode
> > > to generate the required source files."
> > 
> > If you run autogen.sh, it passes --enable-maintainer mode.  If you choose to
> > run configure manually -- which you shouldn't need to do, as
> > --enable-maintainer-mode also enables the auto-rebuild rules for the Makefiles,
> > then you're on your own.
> 
> Ok, fine. How do I pass then a prefix? ghal-0 is not installed in a standard
> location since I compiled it myself and don't want to install it globally. 

I didn't know that configure parameters can be passed to autogen.sh... Passing --prefix to autogen.sh runs configure with the right parameters. Problem solved...
Comment 6 Brian J. Tarricone (not reading bugmail) 2009-08-04 16:41:01 CEST
Actually what you're really looking for is the env var PKG_CONFIG_PATH...  But yeah, I suppose using the same prefix for dependencies will work as well.
Comment 7 Michael Unterkalmsteiner 2009-08-04 16:54:38 CEST
(In reply to comment #6)
> Actually what you're really looking for is the env var PKG_CONFIG_PATH...

Yeah, you're right... I've set PKG_CONFIG_PATH and forgot about it.
I've tested un-setting the var and just passing --prefix to autogen.sh:
configuration error --> ghal-0 not found. 

So the correct fix is to set PKG_CONFIG_PATH if ghal-0 is installed in a non-standard location. Thx for your help.

Bug #5643

Reported by:
Michael Unterkalmsteiner
Reported on: 2009-08-03
Last modified on: 2009-08-04

People

Assignee:
Brian J. Tarricone (not reading bugmail)
CC List:
0 users

Version

Version:
unspecified

Attachments

Additional information