2020-09-21 10:41 AEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000519mercuryBugpublic2020-09-17 05:14
Assigned To 
Product Version 
Target VersionFixed in Version 
Summary0000519: extras/graphics/mercury_tcltk library may contain reference to unknown matherr symbol
Descriptionmtcltk.m contains the following:

** The following variable is a special hack that is needed in order for
** Sun shared libraries to be used for Tcl.

:- pragma foreign_code("C", "
    extern int matherr(void);
    int *tclDummyMathPtr = (int *) matherr;

This workaround is no longer necessary with modern versions of Tcl and the matherr() function has been removed since version 8.4. [1]

While libmercury_tcltk.so may be built, the resultant library may cause problems. For example, after building extras/graphics/mercury_tcltk:

$ cd extras/graphics/samples/calc
$ mmc --search-lib-files-dir ../../mercury_tcltk --library mercury_tcltk --make calc
Making calc
** Error making 'calc'.
../../mercury_tcltk/libmercury_tcltk.so: undefined reference to 'matherr'
collect2: error: ld returned 1 exit status

We could either just remove the workaround or perhaps wrap it in some ifdef/endif block.

[1] https://wiki.tcl-lang.org/page/tclDummyMathPtr
TagsNo tags attached.
Attached Files


There are no notes attached to this issue.

-Issue History
Date Modified Username Field Change
2020-09-17 05:14 keri New Issue
+Issue History