Build error in MapGuide Oem Components [was: Build error in OemComponents of fdo-3.0.0_G001.tar.gz]

Traian Stanev traian.stanev at
Mon Mar 13 17:48:42 EST 2006

The fix to this is to replace "unsigned short" by "unsigned short int",
but I am just guessing since I could not reproduce that error.
This is all very strange. Today I downloaded and installed Gcc 3.3.5 on
a Fedora box specifically to track down your problems. However, MapGuide
built fine for me, without any errors using 3.3.5. I don't know what
settings for g++ Debian uses though, it may be different from Fedora.


-----Original Message-----
From: Nicol Hermann [mailto:mapserver at] 
Sent: Monday, March 13, 2006 2:58 AM
To: users at
Cc: Traian Stanev
Subject: Build error in MapGuide Oem Components [was: Build error in
OemComponents of fdo-3.0.0_G001.tar.gz]

Hi Traian,

many thanks for your help. You are absolutely right. I refer to the Oem
Components in the Mapguide 1.0.0 distribution. Sorry for the confusion.
Your patch fixes my problem. Sadly i get a new one. See below.
These compiling errors are difficult to recognise because the build
script ( do not stop when the error occur.
Is there a way to move this process under the control of the
general ./configure script?

Attaches the new error.

 g++ -DHAVE_CONFIG_H -I../../.. -g0 -O2 -pipe -pedantic -Wall
-Wno-long-long -Wnon-virtual-dtor -Wsign-promo -Wsign-compare -Wundef
-Wstrict-prototypes -fforce-addr -fomit-frame-pointer -finline-functions
-ffast-math -fno-strict-aliasing -c EModelSectionDescriptorReader.cpp
-MT EModelSectionDescriptorReader.lo -MD -MP
-MF .deps/EModelSectionDescriptorReader.TPlo  -fPIC
-DPIC-o .libs/EModelSectionDescriptorReader.o
In file included from ../../../dwf/package/writer/PackageWriter.h:42,
                 from ../../../dwf/package/Units.h:31,

from ../../../dwf/package/reader/EModelSectionDescriptorReader.h:33,
                 from EModelSectionDescriptorReader.cpp:21:
../../../dwf/package/writer/PackageVersionExtension.h:96: error: parse
   before `int'
../../../dwf/package/writer/PackageVersionExtension.h:106: error: parse
   before `int'
make[3]: *** [EModelSectionDescriptorReader.lo] Fehler 1
make[3]: Leaving directory
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory
make: *** [all] Fehler 2

Many thanks

> Hi,

> You say you are building FDO, but the error happened when building the
> DWF toolkit, which is part of MapGuide. Did you build FDO already and
> are now compiling MapGuide? Anyway, I fixed this in subversion, and 
> here is the relevant diff for the file (line 155 and onwards).

> --- UUID.cpp    (revision 276)
> +++ UUID.cpp    (working copy)
> @@ -152,10 +152,10 @@
>      // cccccccc-bbbb-1aaa
>      // note the 1 indicates a time-based uuid with a known or random
> host id
>      //
> -    nTimestamp = ((nTimestamp << 32) & 0xffffffff00000000) |
> -                 ((nTimestamp >> 16) & 0x00000000ffff0000) |
> -                 ((nTimestamp >> 48) & 0x0000000000000fff) |
> -                                       0x0000000000001000;
> +    nTimestamp = ((nTimestamp << 32) & 0xffffffff00000000LL) |
> +                 ((nTimestamp >> 16) & 0x00000000ffff0000LL) |
> +                 ((nTimestamp >> 48) & 0x0000000000000fffLL) |
> +                                       0x0000000000001000LL;

> It's strange that it compiles fine on 3.2.3 and 4.0.2 but not on the 
> one in the middle (3.3).

> Traian

-----Original Message-----
From: Nicol Hermann [mailto:mapserver at] 
Sent: Friday, March 10, 2006 6:50 AM
To: users at
Subject: [mapguide-users] Build error in Oem Components of

Hi List,

it tried to build the new fdo release (fdo-3.0.0_G001.tar.gz) on my
debian 32 bit sarge box.
During the compilation of the Oem product 'Oem/DWFTK7.1' with the following error occurred.

make[2]: Entering directory
source='UUID.cpp' object='UUID.lo' libtool=yes \
depfile='.deps/UUID.Plo' tmpdepfile='.deps/UUID.TPlo' \
depmode=gcc3 /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H  -I../..    -g0
-O2 -pipe -pedantic -Wall -Wno-long-long  -Wnon-virtual-dtor
-Wsign-promo -Wsign-compare -Wundef -Wstrict-prototypes -fforce-addr
-fomit-frame-pointer -finline-functions -ffast-math -fno-strict-aliasing
-c-o UUID.lo `test -f 'UUID.cpp' || echo './'`UUID.cpp
 g++ -DHAVE_CONFIG_H -I../.. -g0 -O2 -pipe -pedantic -Wall
-Wno-long-long -Wnon-virtual-dtor -Wsign-promo -Wsign-compare -Wundef
-Wstrict-prototypes -fforce-addr -fomit-frame-pointer -finline-functions
-ffast-math -fno-strict-aliasing -c UUID.cpp -MT UUID.lo -MD -MP
-MF .deps/UUID.TPlo  -fPIC -DPIC -o .libs/UUID.o
UUID.cpp: In member function `void
UUID.cpp:155: error: integer constant is too large for "long" type
make[2]: *** [UUID.lo] Fehler 1

Does anyone know how to fix this?

gcc --version
gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)

Many thanks

More information about the Mapguide-users mailing list