[mapguide-users] building 64bit openmapguide on rhel 5.4

kfwebb at bombasticlocution.com kfwebb at bombasticlocution.com
Tue Mar 30 21:43:02 EDT 2010


Hello Adam, Rajeev, and others interested in 64bit MapGuide,

I thought I had the problem solved last week. I got FDO and MapGuide to
compile on a x86_64 installation of Fedora Core 8 (a torturous
experience). When I tested using the Sheboygan.mgp sample data, mgserver
threw an FDO exception related to the ConvertUTF16toUTF32() routine in
Fdo. It was then that I realized I had contract work to do and I didn't
have the time it would take to do a thorough job on Fdo and any other
packages needing work, so I stopped my 64-bit installation and installed
on an ancient 32-bit box so that I could get some work done. (I am still
debugging the 32-bit install - nothing is ever easy in this business).  

To answer your direct question, here is how I got around the DWFTimer
issues. My thinking is that DWF is an Internet Explorer only viewer, not
much use for today's browser market. I also didn't know what other
dependencies there were for the DWF library so I just wanted to make it
compile and not ever use the viewer. I copied the dwfcore/x86/Core.cpp,
and dwfcore/x86/Timer.cpp files into the dwfcore directory. I then
edited Timer.cpp to change the 32-bit assembler into 64-bit assembler,
register name changes only. I added Timer.cpp and Core.cpp to the
dwfcore Makefile and Makefile.am for the libdwfcore_la_SOURCES tag.

In general I had to sprinkle around alot of -fPIC directives in numerous
spots, and I changed all of the build_oem.sh entries that were 
--enable-static --disable-shared

to

--enable-shared --disable-static

The change to dynamic linking required adding some -l___ and -L____
directives as called for.

I hope to go back to the 64-bit build when I have time, but maybe the
2.2 version will be out by then. 

Good luck!

Kevin Webb



On Tue, 2010-03-30 at 15:15 +0200, adamb at geoform.hu wrote:
> Dear fellows,
> Our office have a 64bit rhel 5.4 linux machine, that I want to use (among
> others) for openmapguide. I passed through fdo install, and build_oem.sh.
> I downloaded some third party libraries newer then what was provided in
> the tarball (namely: libpng, libjped, freetype and agg) Otherwise it's
> clean and tidy. Now I faced errors during build, that I cannot resolve
> alone. Can anyone help, please? Adam
> 
> /usr/local/src/MgDev/Oem/DWFTK7.1/develop/global/src/dwf/.libs/libdwftk:
> undefined reference to `DWFCore::AtomicDecrement(int volatile*)'
> /usr/local/src/MgDev/Oem/DWFTK7.1/develop/global/src/dwf/.libs/libdwftk:
> undefined reference to `DWFCore::AtomicIncrement(int volatile*)'
> /usr/local/src/MgDev/Common/Renderers/.libs/libMgRenderers.so: undefined
> reference to `png_check_sig'
> /usr/local/src/MgDev/Oem/DWFTK7.1/develop/global/src/dwf/.libs/libdwftk:
> undefined reference to `DWFCore::DWFTimer::Tick64()'
> /usr/local/src/MgDev/Common/Renderers/.libs/libMgRenderers.so: undefined
> reference to `png_set_gray_1_2_4_to_8'
> /usr/local/src/MgDev/Oem/DWFTK7.1/develop/global/src/dwfcore/.libs/libdwfcore:
> undefined reference to `DWFCore::DWFTimer::Tick32()'
> collect2: ld returned 1 exit status
> make[3]: *** [mgserver] Error 1
> make[3]: Leaving directory `/usr/local/src/MgDev/Server/src/Core'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/usr/local/src/MgDev/Server/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/usr/local/src/MgDev/Server'
> make: *** [all-recursive] Error 1
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
> 



More information about the mapguide-users mailing list