Hi Rajeev, You will need to create 64 bit FDO libraries before compiling MapGuide. MapGuide 2.2 should be built against FDO 3.5.0. I have started working on Linux build and packaging scripts for both FDO and MapGuide. The scripts are a work in progress but they might get you somewhere on a 64 bit machine. I haven't tried them yet.
http://svn.osgeo.org/fdo/branches/3.5/install/ - buildall.sh, buildfdocore.sh, buildfdoprovider.sh http://svn.osgeo.org/mapguide/trunk/Installer/scripts/ - build.sh, revnum.pl If you make some headway with the 64bit Linux builds and would like to make changes to these scripts, please let me know. A couple of cautionary words before you begin: - MapGuide 2.2 will only build on GCC 4.1. Trying to use GCC 4.4 is problematic to say the least. - Check out http://trac.osgeo.org/mapguide/wiki/CompilingMapGuide22. It could save you a few hours. Regards, Trevor -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Rajeev Singh Sent: March 30, 2010 10:56 PM To: MapGuide Users Mail List Subject: RE: [mapguide-users] building 64bit openmapguide on rhel 5.4 Thanks for sharing that - though Trevor has explicitly said that 2.2 is the one that might be 64 bit, let me share my experience on Centos 5.5 (btw you can use the 32 bit build on 64 bit machine) **Trevor - my interest in 64 bit was actually to use it against 64 bit java (and the current plan for not doing 64 bit web components, in my opinion, restricts utility to a large extent. I also did -fPIC - infact lots of the makefiles did not pass on the parameters (i.e. the makefiles being generated do not follow good practices of taking things from environment). So created a script wrapper around gcc/cc/g++/c++ (yup all the 4 compiler commands are used by the make files) The DwfCore needed to be tweaked (for the Tick32) and some compile directives needed to be checked. I got a sense looking at these files and one of the core component files (I forget which one) had assumptions builit in about size of int and there were issues fixed for 16 to 32 bit conversion, though I think we did a cursory fix the end result was that though successful compilation happened, the thing did not run. Anyway I will look at 2.2 branch and retry 64 bit compilation. thx -------------------------------------------- Rajeev K. Singh IntelliPlanner Software Systems, Inc. West Windsor, NJ (USA) / New Delhi (India) +1.609.945.4927 (o) / +1.203.558.3224 (c) +91.11.4672 6635(o) / +91.995 841 1064(c) -------------------------------------------- This mail contains proprietary and confidential information. Please destroy it if you received it by mistake and notify the sender. -----Original Message----- From: [email protected] [mailto:[email protected]]on Behalf Of [email protected] Sent: 30 March 2010 21:43 To: MapGuide Users Mail List Subject: Re: [mapguide-users] building 64bit openmapguide on rhel 5.4 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, [email protected] 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/libdwfcor e: > 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 > [email protected] > http://lists.osgeo.org/mailman/listinfo/mapguide-users > _______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users _______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users
_______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users
