Thread: compile problems

compile problems

From
Giuseppe Sacco
Date:
Hi all,
I am recompiling pgAdmin from SVN since I would like to check my updated
translation, but I get these errors:

if gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/usr/include/postgresql -DSSL
-I/usr/local/wxWidgets-2.8.2/lib/wx/include/gtk2-unicode-release-2.8
-I/usr/local/wxWidgets-2.8.2/include/wx-2.8 -D_FILE_OFFSET_BITS=64
-D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -D__WXGTK__ -O2
-I/usr/include/libxml2 -I/usr/include/libxml2 -DDATA_DIR=
\"/usr/loca/pgadmin3-1.8.2/share/pgadmin3/\" -Wall -I../pgadmin/include
-MT keywords.o -MD -MP -MF ".deps/keywords.Tpo" -c -o keywords.o `test
-f './db/keywords.c' || echo './'`./db/keywords.c; \
        then mv -f ".deps/keywords.Tpo" ".deps/keywords.Po"; else rm -f
".deps/keywords.Tpo"; exit 1; fi
In file included from ./db/keywords.c:22:
gram.y:122: error: expected specifier-qualifier-list before ‘JoinType’
make[2]: *** [keywords.o] Error 1

anyone knows what's wrong?

Thanks,
Giuseppe

Re: compile problems

From
Guillaume Lelarge
Date:
Hi Giuseppe,

Giuseppe Sacco a écrit :
> I am recompiling pgAdmin from SVN since I would like to check my updated
> translation, but I get these errors:
>
> if gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/usr/include/postgresql -DSSL
> -I/usr/local/wxWidgets-2.8.2/lib/wx/include/gtk2-unicode-release-2.8
> -I/usr/local/wxWidgets-2.8.2/include/wx-2.8 -D_FILE_OFFSET_BITS=64
> -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -D__WXGTK__ -O2
> -I/usr/include/libxml2 -I/usr/include/libxml2 -DDATA_DIR=
> \"/usr/loca/pgadmin3-1.8.2/share/pgadmin3/\" -Wall -I../pgadmin/include
> -MT keywords.o -MD -MP -MF ".deps/keywords.Tpo" -c -o keywords.o `test
> -f './db/keywords.c' || echo './'`./db/keywords.c; \
>         then mv -f ".deps/keywords.Tpo" ".deps/keywords.Po"; else rm -f
> ".deps/keywords.Tpo"; exit 1; fi
> In file included from ./db/keywords.c:22:
> gram.y:122: error: expected specifier-qualifier-list before ‘JoinType’
> make[2]: *** [keywords.o] Error 1
>
> anyone knows what's wrong?
>

It compiles on my box with current SVN. Sometimes, I need to "make
clean" to have a correct build. Perhaps you can try this.


Regards.


--
Guillaume.
http://www.postgresqlfr.org
http://docs.postgresqlfr.org

Re: compile problems

From
Giuseppe Sacco
Date:
Il giorno dom, 22/04/2007 alle 15.45 +0200, Guillaume Lelarge ha
scritto:
[...]
> It compiles on my box with current SVN. Sometimes, I need to "make
> clean" to have a correct build. Perhaps you can try this.

I tried both "make clean" and "make distclean".  What version of
wxWidgets are you using?

Bye,
Giuseppe

Re: compile problems

From
Guillaume Lelarge
Date:
Giuseppe Sacco a écrit :
> Il giorno dom, 22/04/2007 alle 15.45 +0200, Guillaume Lelarge ha
> scritto:
> [...]
>> It compiles on my box with current SVN. Sometimes, I need to "make
>> clean" to have a correct build. Perhaps you can try this.
>
> I tried both "make clean" and "make distclean".  What version of
> wxWidgets are you using?
>

2.8.0, the one bundled with Ubuntu Feisty.

You can also try to rm your dir if you didn't make any changes (save
your .po file) and svn update the whole.


--
Guillaume.
http://www.postgresqlfr.org
http://docs.postgresqlfr.org

Re: compile problems

From
Giuseppe Sacco
Date:
Il giorno dom, 22/04/2007 alle 17.13 +0200, Guillaume Lelarge ha
scritto:
[...]
> You can also try to rm your dir if you didn't make any changes (save
> your .po file) and svn update the whole.

I still cannot compile from current SVN. I deleted all the source tree,
checked out from svn, bootstrap, configure, make. I always get the
error:

if gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/usr/include/postgresql -DSSL
-I/usr/local/wxWidgets-2.8.2/lib/wx/include/gtk2-unicode-release-2.8
-I/usr/local/wxWidgets-2.8.2/include/wx-2.8 -D_FILE_OFFSET_BITS=64
-D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -D__WXGTK__ -O2
-I/usr/include/libxml2 -I/usr/include/libxml2 -DDATA_DIR=
\"/usr/local/pgadmin3-1.8.2/share/pgadmin3/\" -Wall -I../pgadmin/include
-MT keywords.o -MD -MP -MF ".deps/keywords.Tpo" -c -o keywords.o `test
-f './db/keywords.c' || echo './'`./db/keywords.c; \
    then mv -f ".deps/keywords.Tpo" ".deps/keywords.Po"; else rm -f
".deps/keywords.Tpo"; exit 1; fi
In file included from ./db/keywords.c:22:
gram.y:122: error: expected specifier-qualifier-list before ‘JoinType’
make[2]: *** [keywords.o] Error 1

I checked the source and I believe there is something missing: JoinType
is never defined. Could you please tell me in what source it is defined?

Thanks,
Giuseppe

Re: compile problems

From
"Florian G. Pflug"
Date:
Giuseppe Sacco wrote:
> if gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/usr/include/postgresql -DSSL
> -I/usr/local/wxWidgets-2.8.2/lib/wx/include/gtk2-unicode-release-2.8
> -I/usr/local/wxWidgets-2.8.2/include/wx-2.8 -D_FILE_OFFSET_BITS=64
> -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -D__WXGTK__ -O2
> -I/usr/include/libxml2 -I/usr/include/libxml2 -DDATA_DIR=
> \"/usr/local/pgadmin3-1.8.2/share/pgadmin3/\" -Wall -I../pgadmin/include
> -MT keywords.o -MD -MP -MF ".deps/keywords.Tpo" -c -o keywords.o `test
> -f './db/keywords.c' || echo './'`./db/keywords.c; \
>     then mv -f ".deps/keywords.Tpo" ".deps/keywords.Po"; else rm -f
> ".deps/keywords.Tpo"; exit 1; fi
> In file included from ./db/keywords.c:22:
> gram.y:122: error: expected specifier-qualifier-list before ‘JoinType’
> make[2]: *** [keywords.o] Error 1
>
> I checked the source and I believe there is something missing: JoinType
> is never defined. Could you please tell me in what source it is defined?
Hm, the files
pgadmin/include/keywords.h,
pgadmin/include/parse.h,
pgadmin/db/keywords.c
are periodically copied from the postgresql sources, where parse.h is
actually generated by bison from gram.y

JoinType is some postgresql-internal datastructure, that is neither needed
nor used inside pgAdmin3 - it just happens to be mentioned in parse.h, because
this file originates from postgresql.

I think that the only parts of parse.h that pgAdmin3 is interested in are
the defines at the top, and maybe the enum yytokentype.

misc.cpp does the following before including parse.h to suppress the typedef:
#define YYSTYPE_IS_DECLARED
#define DECIMAL DECIMAL_P
   typedef int YYSTYPE;

while postgres.h (which is included in keywords.c before parse.h) does the
following:
#define YYTOKENTYPE
#define YYSTYPE int

I think that for some reason, the former does what it's supposed to on your
system, but that latter doesn't. Could you try replacing
#define YYTOKENTYPE
#define YYSTYPE int
in postgres.h with
#define YYSTYPE_IS_DECLARED
   typedef int YYSTYPE;
and see if that helps? If no, please also try adding the
#define YYTOKENTYPE back to postgres.h (but keep the other changes)

@dave: I think that the "#define DECIMAL DECIMAP_P" isn't needed anymore -
or at least "find ./ -name "*.h" | xargs grep DECIMAL" and
"find ./ -name "*.c" | xargs grep DECIMAL" seem to indicate that...

greetings, Florian Pflug



Re: compile problems

From
Dave Page
Date:
Florian G. Pflug wrote:
> @dave: I think that the "#define DECIMAL DECIMAP_P" isn't needed anymore -
> or at least "find ./ -name "*.h" | xargs grep DECIMAL" and
> "find ./ -name "*.c" | xargs grep DECIMAL" seem to indicate that...

Yeah, seems to be surplus. Removed, thanks.

/D

Re: compile problems

From
Guillaume Lelarge
Date:
Dave Page a écrit :
> Florian G. Pflug wrote:
>> @dave: I think that the "#define DECIMAL DECIMAP_P" isn't needed
>> anymore -
>> or at least "find ./ -name "*.h" | xargs grep DECIMAL" and
>> "find ./ -name "*.c" | xargs grep DECIMAL" seem to indicate that...
>
> Yeah, seems to be surplus. Removed, thanks.
>

I don't think so. Or you need this patch :)

Regards.


--
Guillaume.
http://www.postgresqlfr.org
http://docs.postgresqlfr.org
Index: pgadmin/utils/misc.cpp
===================================================================
--- pgadmin/utils/misc.cpp    (révision 6253)
+++ pgadmin/utils/misc.cpp    (copie de travail)
@@ -356,7 +356,7 @@
                 case BOOLEAN_P:
                 case CHAR_P:
                 case CHARACTER:
-                case DECIMAL:
+                case DECIMAL_P:
                 case DOUBLE_P:
                 case FLOAT_P:
                 case INT_P:

Re: compile problems

From
"Florian G. Pflug"
Date:
Guillaume Lelarge wrote:
> Dave Page a écrit :
>> Florian G. Pflug wrote:
>>> @dave: I think that the "#define DECIMAL DECIMAP_P" isn't needed
>>> anymore -
>>> or at least "find ./ -name "*.h" | xargs grep DECIMAL" and
>>> "find ./ -name "*.c" | xargs grep DECIMAL" seem to indicate that...
>>
>> Yeah, seems to be surplus. Removed, thanks.
>>
>
> I don't think so. Or you need this patch :)

*Puts brown paper bag over his head* You're right of course.
I don't know what I was thinking when I grepped only through
the .c and .h files, and omitted the .cpp files, but it obviously
wasn't something very bright.. ;-)

greetings, Florian Pflug



Re: compile problems

From
Dave Page
Date:
Guillaume Lelarge wrote:
> Dave Page a écrit :
>> Florian G. Pflug wrote:
>>> @dave: I think that the "#define DECIMAL DECIMAP_P" isn't needed
>>> anymore -
>>> or at least "find ./ -name "*.h" | xargs grep DECIMAL" and
>>> "find ./ -name "*.c" | xargs grep DECIMAL" seem to indicate that...
>>
>> Yeah, seems to be surplus. Removed, thanks.
>>
>
> I don't think so. Or you need this patch :)

Hmm, Windows must define it elsewhere then. Reverted, thanks.

Regards, Dave.

Re: compile problems

From
Dave Page
Date:
Florian G. Pflug wrote:
> Guillaume Lelarge wrote:
>> Dave Page a écrit :
>>> Florian G. Pflug wrote:
>>>> @dave: I think that the "#define DECIMAL DECIMAP_P" isn't needed
>>>> anymore -
>>>> or at least "find ./ -name "*.h" | xargs grep DECIMAL" and
>>>> "find ./ -name "*.c" | xargs grep DECIMAL" seem to indicate that...
>>>
>>> Yeah, seems to be surplus. Removed, thanks.
>>>
>>
>> I don't think so. Or you need this patch :)
>
> *Puts brown paper bag over his head* You're right of course.
> I don't know what I was thinking when I grepped only through
> the .c and .h files, and omitted the .cpp files, but it obviously
> wasn't something very bright.. ;-)

If it makes you feel any better, I didn't spot that either, and it *did*
build on Windows. :-)

Regards Dave

Re: compile problems

From
ivan.pavlov@gmail.com
Date:
On May 1, 6:45 pm, f...@phlo.org ("Florian G. Pflug") wrote:
> I think that for some reason, the former does what it's supposed to on your
> system, but that latter doesn't. Could you try replacing
> #define YYTOKENTYPE
> #define YYSTYPE int
> in postgres.h with
> #define YYSTYPE_IS_DECLARED
>    typedef int YYSTYPE;
> and see if that helps? If no, please also try adding the
> #define YYTOKENTYPE back to postgres.h (but keep the other changes)

It doesn't help. Still can't compile with the same error.

ivan


Re: compile problems

From
ivan.pavlov@gmail.com
Date:
On May 1, 6:45 pm, f...@phlo.org ("Florian G. Pflug") wrote:
> I think that for some reason, the former does what it's supposed to on your
> system, but that latter doesn't. Could you try replacing
> #define YYTOKENTYPE
> #define YYSTYPE int
> in postgres.h with
> #define YYSTYPE_IS_DECLARED
>    typedef int YYSTYPE;
> and see if that helps? If no, please also try adding the
> #define YYTOKENTYPE back to postgres.h (but keep the other changes)

It doesn't help. Still can't compile with the same error.

ivan