[mapguide-internals] Open Source / Enterprise native binary
compatibility
Traian Stanev
traian.stanev at autodesk.com
Thu Feb 4 12:32:42 EST 2010
The problem is not limited to Linux distros. It happened to me recently on Windows, when using the latest MSVC compiler, where in one DLL I had turned off STL bounds checking (by default MSVC does a bounds check on every STL vector access). The dll was passing an STL vector to another DLL which was compiled with STL bounds checking. Crash follows.
With MapGuide it's not a huge problem as long as you compile the whole library stack yourself, but it is impossible to plug in a patched DLL, unless it's compiled with the same compiler settings.
Traian
-----Original Message-----
From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Trevor Wekel
Sent: Thursday, February 04, 2010 12:28 PM
To: MapGuide Internals Mail List
Subject: RE: [mapguide-internals] Open Source / Enterprise native binary compatibility
Hmm... That is an interesting observation Traian. STL object compatibility could prove especially problematic for Linux where each distribution runs its own version of GCC.
Regards,
Trevor
-----Original Message-----
From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Traian Stanev
Sent: February 4, 2010 9:46 AM
To: mapguide-internals at lists.osgeo.org
Subject: RE: [mapguide-internals] Open Source / Enterprise native binary compatibility
Hi Jackie,
Since many of the APIs use STL strings, at the very least the DLLs would have to be compiled with the same exact compiler, since STL objects are generally incompatible across compilers and compile modes (debug vs. release).
This applies for DLLs where the API is the same in OS and Enterprise, which I think is true for stuff under /Common. You can easily try it by dropping in a dll you compiled yourself into an MGE instance -- if it still starts, then it worked. :)
Traian
-----Original Message-----
From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Jackie Ng
Sent: Wednesday, February 03, 2010 5:46 AM
To: mapguide-internals at lists.osgeo.org
Subject: [mapguide-internals] Open Source / Enterprise native binary compatibility
Hi All,
Is MGOS binary compatible with MGE at the native API level?
Or put it another way:
If I build a C++ project using the MGOS 2.1 headers (let's say for argument's sake, anything under MgDev\Common) will the resulting binary work with MGE 2010 dlls assuming MGOS 2.1 is API equivalent to MGE 2010?
Regards,
- Jackie
--
View this message in context: http://n2.nabble.com/Open-Source-Enterprise-native-binary-compatibility-tp4506508p4506508.html
Sent from the MapGuide Internals mailing list archive at Nabble.com.
_______________________________________________
mapguide-internals mailing list
mapguide-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-internals
_______________________________________________
mapguide-internals mailing list
mapguide-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-internals
More information about the mapguide-internals
mailing list