-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build on MacOS Big Sur not working #24
Comments
After building tcl-tk did you run xschem configure and before running 'make' change Xschem can not run with native macOS tcl-tk libraries, as native graphics on macOS is Quartz and not X11, in order to run xschem (which is an X11 application) you need to use the xquartz layer and tcl-tk built and linked with xquartz. |
Some users apparently solved similar problems by running some 'brew' commands to tell the dynamic linker where libraries are, |
Looking at the error message there is some syntax error somewhere, there is an incorrect path: |
Yes, this was my guess that this is the issue, however, I have no idea how this could have happened. Yes, I did as in the README:
I attach the Makefile.conf here. Somehow it looks like the linker merges both |
Try to run otool on the xschem executable, like (this was done by a macOS user): |
try also to do a 'make distclean' in xschem source directory and run configure-edit Makefile.conf-make-make install again... |
I did a bit more debugging, focusing on the HomeBrew tcl-tk installation, as this is proven to work with X11(XQuartz). When I use
When I check the path, it looks also good, the tcl-tk from HomeBrew in /opt/local comes first:
Here is the debug info leading up to the crash, maybe this helps:
|
Tried it, no change, still crash. |
Try this:
xschem runs without degradation even without these extensions. |
If the tcl-tk install in /usr/local/opt/tcl-tk is for x11 then there should be also a bin directory (/usr/local/opt/tcl-tk/bin ? ) where the 'wish' or 'wish8.6' programs are available. |
It works now, I found the bug: Your instructions in The issue is caused by a bug in the
to
What I still don't understand: When I use the tcl-tk from HomeBrew, there is still a crash with signal 11? |
i know xschem will crash with signal 11 if run with a tcl-tk version for another graphic system. But if you are sure the tcl-tk libraries you are using runtime are built for X11 Xquartz this is strange... |
Yes, that is the reason. Here is a comparison of the HomeBrew
|
This is indeed what i knew. You must build and compile xschem with the /opt2 tcl-tk version, and also ensure that when running xschem the dynamic linker will use the /opt2/ libraries. |
BTW, do you have any plans to provide a HomeBrew recipe? This would be ideal for MacOS users, as |
I know for sure some Big sur MacOS users were able to build and run xschem (see image) using the x11 version of tcl-tk + xquartz |
It works now on my machine (see earlier post "It works now, I found the bug...") after fixing the bug in the |
Oh, thank you, i thought the "it works now" was only related to compiling, but still not running. |
Will add a note about the change in Tk Makefile as you suggested... The issue is caused by a bug in the tk build script, the wrong path is in wish8.6. In the Makefile of tk8.6.10 the following needs to be changed: LIB_RUNTIME_DIR = $(libdir):/opt/X11/lib to LIB_RUNTIME_DIR = $(libdir) |
by the way i have a tcl-tk8.4 installation. This is a 20 years old tcl-tk. I use this to ensure xschem still runs with these old libraries, and the Makefile for tk shows indeed:
|
Maybe also add a note to use And thanks for your great work on |
I remember the other big sur user had brew packages installed somewhere in /opt/ or /opt/X11 or somewhere else, and he built the xquartz tcl-tk in /usr/local/opt. But if brew packages are already in /usr/local/opt then ok i will specify to check paths to avoid collisions. |
I am following the MacOS build instructions in
README_MacOS.md
for Big Sur, with one change: I build Tcl and Tk into /usr/local/opt2/tcl-tk, because I have already a Tcl-Tk installation in /usr/local/opt done via HomeBrew.Compile of Tcl, Tk and xschem runs w/o error, but when I start
xschem
I get the following error:If I try to use the Tcl/Tk from HomeBrew, I get the following error:
It would be ideal, if the compile of
xschem
would work with Tcl-Tk from HomeBrew. Even better would an install via HomeBrew also for xschem :-)The text was updated successfully, but these errors were encountered: