View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000237Ecere SDKecerepublic2009-07-06 16:132013-05-19 22:15
Reporterjerome 
Assigned Tojerome 
PriorityimmediateSeveritymajorReproducibilityhave not tried
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version0.44 Ryoan-jiFixed in Version0.44 Ryoan-ji 
Summary0000237: Bunch of errors "Error: Redefinition of class XXXXXX" showing up while building the 2nd pass compile tools on Linux
DescriptionWhen the compiler imports libec.so , and this in turns imports libecere.so, the ensureCOM code invokes libec's __ecereDll_Load since that function is exported with visibility("default") with the same name in all produced eC shared libraries.
Tagsv0.44d2
Attached Files

- Relationships

-  Notes
(0000116)
jerome (administrator)
2009-07-06 16:16

An additional checked was added to make sure that either there is no previous __thisModule, its module name is null, or it is set to "ecereCOM":

instance.ec:Module_Load

      if((!Load && !strcmp(module.name, "ecereCOM")) ||
         (Load && (!__thisModule || !__thisModule.name || !strcmp(__thisModule.name, "ecereCOM")) && Load != COM_LOAD_FUNCTION))


Additionally, some code was added to handle applications importing "ecere", but linked with ecereCOM, to exit properly.

Instead of relying merely on the orders of modules when unloading dependent modules, it is now ensured that the module holding the "Class" class is unloaded last with some explicit code. (instance.ec:Module_Destructor).
(0000235)
jerome (administrator)
2010-07-26 02:10

These description / additional note are quite nice, but is this fixed or what !?!?
(0000417)
jerome (administrator)
2010-12-06 19:31

This seems to have been fixed, as the first note explains the solution in details and we have not encountered these errors building on Linux recently.

- Issue History
Date Modified Username Field Change
2009-07-06 16:13 jerome New Issue
2009-07-06 16:16 jerome Note Added: 0000116
2010-07-07 03:00 redj Target Version => 0.44d2
2010-07-07 04:10 redj Tag Attached: v0.44d2
2010-07-25 21:13 redj Relationship added child of 0000429
2010-07-26 02:10 jerome Note Added: 0000235
2010-07-26 19:19 thexa4 Target Version 0.44d2 => 0.44 draft 2
2010-12-06 19:31 jerome Status new => resolved
2010-12-06 19:31 jerome Fixed in Version => 0.44 pre-release 2
2010-12-06 19:31 jerome Resolution open => fixed
2010-12-06 19:31 jerome Assigned To => jerome
2010-12-06 19:31 jerome Note Added: 0000417
2012-03-08 15:34 redj Target Version old 0.44.pre2 => 0.44 Ryoan-ji
2012-03-08 17:21 redj Relationship deleted child of 0000429
2012-03-08 18:08 redj Fixed in Version => 0.44 Ryoan-ji
2012-03-29 07:53 redj Category => Ecere Runtime Library
2012-03-29 07:53 redj Project @1@ => Ecere SDK
2013-05-19 22:15 jerome Status resolved => closed



Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker