|
2022-06-01
| ||
| 11:13 | • Closed ticket [3d0ee47f4d]: Unable to install tcl8.6.12 in custom location on MacOSX plus 4 other changes artifact: 4cd4d1c10a user: anonymous | |
| 11:13 | • Ticket [3d0ee47f4d]: 3 changes artifact: 9867a8b79a user: anonymous | |
|
2022-05-30
| ||
| 14:40 | • Ticket [3d0ee47f4d]: 3 changes artifact: 737f710671 user: kevin_walzer | |
| 14:22 | • Ticket [3d0ee47f4d]: 3 changes artifact: db87146395 user: anonymous | |
|
2022-05-26
| ||
| 01:13 | • Ticket [3d0ee47f4d]: 3 changes artifact: 7cea487004 user: kevin_walzer | |
|
2022-05-25
| ||
| 15:19 | • Ticket [3d0ee47f4d]: 3 changes artifact: c06843007a user: anonymous | |
| 13:22 | • Ticket [3d0ee47f4d]: 3 changes artifact: 649700cc74 user: kevin_walzer | |
| 10:53 | • New ticket [3d0ee47f4d]. artifact: ca593ddcb5 user: anonymous | |
| Ticket UUID: | 3d0ee47f4dda49210847b25d6ed2438a14d09378 | |||
| Title: | Unable to install tcl8.6.12 in custom location on MacOSX | |||
| Type: | Support | Version: | tcl 8.6.12 | |
| Submitter: | anonymous | Created on: | 2022-05-25 10:53:46 | |
| Subsystem: | 83. Mac OS X Build | Assigned To: | nobody | |
| Priority: | 5 Medium | Severity: | Severe | |
| Status: | Closed | Last Modified: | 2022-06-01 11:13:26 | |
| Resolution: | None | Closed By: | anonymous | |
| Closed on: | 2022-06-01 11:13:26 | |||
| Description: |
Hello all,
We’ve been using Tcl8.5 as an embedded scripting language for years, and we are running into a problem in updating the Tcl releases on which our apps root on the Mac.
We now have to switch to Tcl8.6 and a new build machine & more recent MacOS.
We are having problems compiling / installing Tcl8.6.X from sources in a non-standard installation location on MacOSX.15, Xcode 12.4, Apple clang version 12.0.0 (with X86_64 arch).
* If compiled in « Framework » mode with the configure/Makefile process, the —prefix configure option has no effect with Framework installation mode
=> installation is always achieved in /Library/Frameworks no matter what prefix is provided.
* If compiled in « Framework » mode with the provided GNUMakefile process, the make install process fails with error
> make -C tcl${ver}/macosx install INSTALL_ROOT="${HOME}/tmp"
…
Installing /Users/developpement/Downloads/tcl8.6.12/pkgs/thread2.8.7/doc/man/tsv.n
Installing /Users/developpement/Downloads/tcl8.6.12/pkgs/thread2.8.7/doc/man/ttrace.n
ERROR: version conflict for package "Tcl": have 8.5.9, need 8.6-
If running this script from 'make html', set the NATIVE_TCLSH environment
variable to point to an installed tclsh8.6 (or the equivalent tclsh86.exe
on Windows).
make[3]: *** [html-tcl] Error 1
make[2]: *** [install-strip] Error 2
make[1]: *** [install-tcl] Error 2
make: *** [install-deploy] Error 2
=> providing NATIVE_TCLSH variable with $HOME/tmp/usr/bin/tclsh8.6 in the make install command does not solve the issue
How should we proceed ?
More generally :
* do you plan to keep supporting the « NO framework » « UNIX-style » build approach ? It may be a solution to distribute our apps.
* or would you advise to stick with the Framework build approach on the Mac ?
| |||
| User Comments: |
anonymous added on 2022-06-01 11:13:10:
Thanks, with this I was able to make a shell script to automate the installation process. I'm now closing this ticket. kevin_walzer added on 2022-05-30 14:40:36: You may need to use install_name_tool to point your installation of tclsh and wish to the correct framework libraries. Looks like the binaries are trying to load from the standard install location. anonymous added on 2022-05-30 14:22:27: > Why are you using a non-standard installation location? We need to compile Tcl from source, then install it locally on a developper account (e.g. in ~MYACCOUNT/local/ ... etc), so that we are able to select this specific Tcl version when compiling our app, and setting up the App's distribution. Hence, our app distribution and packaging rely on this chosen Tcl version, not on the machine-level's Tcl distribution. And also various developper accounts can employ various versions. Everything worked like a charm till Tcl 8.5. Now we run into these problems compiling / installing Tcl in "Framework mode" on the Mac in a non standard distribution location, both with the macOS/GNUmakefile and the Gnu tools configure etc. So far, I could only compile/install in a non standard location by using the .configure script (not the GNUMakefile) in "no-framework" (unix-style) mode. I can continue with this, but would prefer to stick with the "framework" mode - and I see no clear reason why I could not. Thanks kevin_walzer added on 2022-05-26 01:13:00: Why are you using a non-standard installation location? anonymous added on 2022-05-25 15:19:06: We are trying to install Tcl itself, from the src found on sourceforge, specifically version 8.6.12. We are trying the compile methods described in the README in tcl8.6.12/macos . When executing those, either we cannot make a successful installation of Tcl as a framework in the desired folder defined by using ./configure prefix=... or we run into the described error when following the GNUMakefile method. Since we are not trying to install extensions, the configure provided in the install folder does not recognize the --with-tcl, --with-tclinclude options. The make error specifically occurs when trying to install html-tcl in the GNUMakefile and removing it from the install rule gets us a tcl in the specified "$HOME/tmp" folder which does not work: ~> ./tmp/usr/local/bin/tclsh dyld: Library not loaded: /Library/Frameworks/Tcl.framework/Versions/8.6/Tcl Referenced from: /Users/developpement/tmp/usr/local/bin/./tclsh Reason: image not found zsh: abort ./tclsh kevin_walzer added on 2022-05-25 13:22:00: Are you having trouble with Tcl itself, or with extension packages? Because the errors above refer to the thread extension. This invocation works for me in installing extensions - adjust the details to your setup. ./configure \ --prefix=/usr/local --libdir=/Library/Tcl \ --with-tcl=/Library/Frameworks/Tcl.framework \ --with-tclinclude=/Library/Frameworks/Tcl.framework/Headers \ --with-tk=/Library/Frameworks/Tk.framework \ --with-tkinclude=/Library/Frameworks/Tk.framework/Headers \ --enable-threads | |||