Overview
Artifact ID: | 73de55539cafab4983d58f0cafab5f1ad84b4aae27fac862f738faa66289c8f7 |
---|---|
Ticket: | c6cc9e097be16bd328603059e0ac3a73269ef25e
MacOS Catalina duplicate symbol _tdomStubsPtr |
User & Date: | anonymous 2020-06-09 22:14:25 |
Changes
- foundin changed to: "trunk"
- icomment:
Hi de! I confirm this issue on my box (but I don't know why this would be specific to macOS, or why you don't see the symbol duplicates elsewhere). Between these two commits fossil diff --from d4bb0eb147b1671a --to d41caf001d9d4d2a in tdomDecls.h you dropped "extern" for -extern const TdomStubs *tdomStubsPtr; +const TdomStubs *tdomStubsPtr; This leads to the classic duplicate definition in the compilation units including tdomDecls.h during linking (tdominit.c and tdomStubLib.c, for example). The below fixes this for me (and aligns the definition in tdominit.c). -------%<------- Index: generic/tdomDecls.h ================================================================== --- generic/tdomDecls.h +++ generic/tdomDecls.h @@ -85,11 +85,11 @@ int (*xML_GetIdAttributeIndex) (XML_Parser parser); /* 15 */ domNode * (*tcldom_getNodeFromName) (Tcl_Interp *interp, char *nodeName, char **errMsg); /* 16 */ domDocument * (*tcldom_getDocumentFromName) (Tcl_Interp *interp, char *docName, char **errMsg); /* 17 */ } TdomStubs; -const TdomStubs *tdomStubsPtr; +EXTERN const TdomStubs *tdomStubsPtr; #ifdef __cplusplus } #endif Index: generic/tdominit.c ================================================================== --- generic/tdominit.c +++ generic/tdominit.c @@ -39,11 +39,11 @@ #include <dom.h> #include <tdom.h> #include <tcldom.h> #include <tclpull.h> -extern TdomStubs tdomStubs; +const TdomStubs *tdomStubsPtr; /* *---------------------------------------------------------------------------- * * Tdom_Init -- @@ -93,11 +93,11 @@ Tcl_CreateObjCommand(interp, "tdom::pullparser", tDOM_PullParserCmd, NULL, NULL ); #endif #ifdef USE_TCL_STUBS Tcl_PkgProvideEx(interp, PACKAGE_NAME, PACKAGE_VERSION, - (ClientData) &tdomStubs); + (ClientData) tdomStubsPtr); #else Tcl_PkgProvide(interp, PACKAGE_NAME, PACKAGE_VERSION); #endif return TCL_OK; -------%<------- HTH, mr_calvin
- login: "anonymous"
- mimetype: "text/x-fossil-plain"