Ticket UUID: | 8b679f597b1d17ade39c566bb65ce669955387ae | |||
Title: | tk unix/Makefile.in : uses a library path rather than a directory location when building tk library | |||
Type: | Bug | Version: | 8.7 | |
Submitter: | bll | Created on: | 2021-05-15 14:39:34 | |
Subsystem: | 83. Mac OS X Build | Assigned To: | jan.nijtmans | |
Priority: | 5 Medium | Severity: | Minor | |
Status: | Closed | Last Modified: | 2021-05-21 15:04:14 | |
Resolution: | Fixed | Closed By: | fvogel | |
Closed on: | 2021-05-21 15:04:14 | |||
Description: |
(text/html)
<pre> I was demonstrating to François one method of building for X11 on Mac OS, and the Makefile creates the Tk library using a library path rather than a library directory. </pre> <pre> startx & xvfb :98 & cd tcl/macosx ../unix/configure --prefix=$HOME/t/localD make -f Makefile -j 12 make -f Makefile install cd ../../tk/macosx ../unix/configure --prefix=$HOME/t/localD --with-tcl=$HOME/t/localD/lib --disable-aqua --disable-framework \ --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib --with-x make -f Makefile -j 12 make -f Makefile install # and these damned makefiles are so screwed up...the path to the tk library is incorrectly set. $HOME/t/localD/bin/wish8.6 dyld: Library not loaded: <b>/Volumes/Users/bll/t/localD/lib:/opt/X11/lib/libtk8.6.dylib</b> # so we fix that... DYLD_FALLBACK_LIBRARY_PATH=$HOME/t/localD/lib $HOME/t/localD/bin/wish8.6 % exit # it works, there is an X11 display of the wish console. # you can tell, there is an X logo in the title bar. DISPLAY=:98 DYLD_FALLBACK_LIBRARY_PATH=$HOME/t/localD/lib $HOME/t/localD/bin/wish8.6 % exit # and this works also. </pre> | |||
User Comments: |
fvogel added on 2021-05-21 15:04:14:
Excellent, thanks! jan.nijtmans added on 2021-05-21 14:00:02: (text/x-fossil-wiki) B.T.W. I tested the build with GNUMakefile too, as far as I can see everything works fine. jan.nijtmans added on 2021-05-21 13:56:55: (text/x-fossil-wiki) Well, the configure script does this: <pre> if test "x${x_libraries}" != "x"; then if test "x${x_libraries}" != "xNONE"; then LIB_RUNTIME_DIR="${LIB_RUNTIME_DIR}:${x_libraries}" fi fi </pre> The problem is the ':' in LIB_RUNTIME_DIR, which was not handled correctly in MacOS. This can only happen if x_libraries is set, so when building with XQuarz. The GNUMakefile always builds with -enable-aqua, so this problem cannot happen when using GNUmakefile. So, nothing more to do :-) fvogel added on 2021-05-21 13:18:42: > I expect the GNUmakefile will get tested by other people. What does this mean exactly? Is there something to do there as well (if so, we shouldn't close the present ticket yet)? How can I (for instance) test this GNUmakefile? jan.nijtmans added on 2021-05-20 11:55:12: (text/x-fossil-wiki) Fixed merged now to 8.6 and 8.7 branch. Thanks! bll added on 2021-05-19 15:19:07: Tcl: core-8-6-branch Tk: 997b17c3 ../unix/configure / x11 --disable-aqua --disable-framework \ --x-includes=... --x-libraries=... --with-x : works The issue addressed in this ticket is fixed. ../unix/configure / aqua --enable-aqua : works I seemed to have some caching issues, it kept starting an X11 version. Some sort of non-issue that I eventually resolved. I expect the GNUmakefile will get tested by other people. jan.nijtmans added on 2021-05-19 13:41:44: (text/x-fossil-wiki) Proposed fix [997b17c343444e48|here]. @bll, can you check if this works for you? bll added on 2021-05-15 14:40:01: Assigning to Jan. |