paragui-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [paragui-dev] CVS tree doesn't build - what version to develop again


From: Phillip Jordan
Subject: Re: [paragui-dev] CVS tree doesn't build - what version to develop against?
Date: Mon, 19 Dec 2005 13:49:43 +0100
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050715)

Hi,

Alexander Pipelka wrote:
> Please post the error log. It's impossible to guess the compilation
> error. But i think it could be some version mismatch of libsigc++.
> Please also post your compiler versions.

OK, here goes. I've got both libsigc++ 1.2.7 and 2.0.16 installed,
ParaGUI seems to be using the 1.2 branch. (these came with SUSE 10.0) I
downloaded the latest libsigcx from its website and installed that, too.

I'm using "g++ (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux)", as,
again, shipped with the distribution. All other dependencies are also
met by the versions that ship with SUSE 10.0. As I've said previously,
1.1.8 builds fine on the same system.


Now, what goes wrong:

I use the following command to check the code out of CVS. (note: the
instructions on paragui.org for this are out of date, I had to go and
look at the savannah project website - you might want to update those
instructions)

address@hidden:~/develop/libs> cvs -z3
-d:pserver:address@hidden:/sources/paragui co paragui


It then goes off and fetches the code.

As per INSTALL, I run autogen

address@hidden:~/develop/libs/paragui> ./autogen.sh

which generates a bunch of warnings and errors:

[...]

autoheader: WARNING: Using auxiliary files such as `acconfig.h',
`config.h.bot'
autoheader: WARNING: and `config.h.top', to define templates for
`config.h.in'
autoheader: WARNING: is deprecated and discouraged.
autoheader:
autoheader: WARNING: Using the third argument of `AC_DEFINE' and
autoheader: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template
without
autoheader: WARNING: `acconfig.h':
autoheader:
autoheader: WARNING:   AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader:             [Define if a function `main' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be produced,
see the
autoheader: WARNING: documentation.

[...]

src/Makefile.am: installing `./depcomp'
src/core/Makefile.am:39: EXTRA_DIST multiply defined in condition TRUE ...
src/core/Makefile.am:22: ... `EXTRA_DIST' previously defined here
configure.in:558: required file `test/fireworks/Makefile.in' not found
configure.in:558: required file `test/colorselector/Makefile.in' not found
configure.in:558: required file `test/keyboard/Makefile.in' not found
configure.in:558: required file `sdk/Makefile.in' not found
***ERROR*** automake failed.
Running autoconf ...
configure.in:14: error: possibly undefined macro: PKG_SIGC
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.in:16: error: possibly undefined macro: PKG_SIGCX
***ERROR*** autoconf failed.

[...]

I assume the warnings aren't critical, and the errors seem to be in
non-library components, just test apps and such, so I copy the missing
files from the 1.1.8 tarball in order to shut up the build script.

The warnings remain, but no errors after that.

./configure

is happy, too.

Now, 'make' fails on the first file it tries to compile:

 g++ -DHAVE_CONFIG_H -I. -I. -I../../include -I/usr/include/SDL
-D_REENTRANT -I/opt/gnome/lib/sigc++-1.2/include
-I/opt/gnome/include/sigc++-1.2 -D_REENTRANT
-I/usr/local/include/sigcx-0.6 -I/usr/local/lib/sigcx-0.6/include
-I/opt/gnome/lib/sigc++-1.2/include -I/opt/gnome/include/sigc++-1.2
-I../../include -g -O2 -Wall -I/usr/include/freetype2 -fno-exceptions
-INONE/include -MT layoutparsers.lo -MD -MP -MF .deps/layoutparsers.Tpo
-c layoutparsers.cpp  -fPIC -DPIC -o .libs/layoutparsers.o

[Some warnings about PACKAGE and VERSION being redefined - this is
hopefully noncritical]

../../include/pgsignals.h: In static member function 'static
SigC::Slot1<bool, P1> PG_Signal1<P1>::convert_slot(const
SigC::Slot1<bool, PG_Widget*>&)':
../../include/pgsignals.h:81: error: 'sig_convert_widget' was not
declared in this scope
../../include/pgsignals.h:81: error: no matching function for call to
'convert(const SigC::Slot1<bool, PG_Widget*>&, <type error>)'

OK, so we need this: 'sig_convert_widget'

On line 70, in pgsignals.h, I find:

/*      static bool sig_convert_widget(Callback1<bool, PG_Widget*> *s, P1 p1) {
                return s->call(p1);
        }*/

which defines the missing function. Hmm!

However, it turns out that Callback1 doesn't exist, as seen by the
following error that I get if I uncomment it:

../../include/pgsignals.h:70: error: 'Callback1' has not been declared
../../include/pgsignals.h:70: error: expected ',' or '...' before '<' token
../../include/pgsignals.h: In static member function 'static bool
PG_Signal1<P1>::sig_convert_widget(int)':
../../include/pgsignals.h:71: error: 's' was not declared in this scope
../../include/pgsignals.h:71: error: 'p1' was not declared in this scope

At this stage I get pretty stuck, not knowing the codebase and where to
hunt for a solution.


I've also got the feeling I've done something fatally wrong along the
way... Have I even used the correct CVS repository?!?

> The CVS version is very stable. It's used by myself in production
> environments.

That's good to hear. :) Looking forward to actually being able to use it. :)

~phil

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]