Giter Club home page Giter Club logo

Comments (3)

jeremyevans avatar jeremyevans commented on June 7, 2024

Considering that almost all installs are using gem install tk, I don't know if expanding the support for config_list.in make sense. Maybe we should update the documentation so that instead of mentioning config_list.in, it instructs how to set the correct arguments when calling gem install tk.

from tk.

adbennet avatar adbennet commented on June 7, 2024

Okay sure, better documentation is also better. I installed rubytk gem again on a different machine using various combinations of arguments. Based on my experiments, tclConfig.sh and tkConfig.sh are useless. Sourcing them didn't add any variables to the environment (at least I couldn't figure it out), and when passed as arguments extconf.rb again did not succeed in getting the needed include(s) and lib(s). I think the absolute minimum arguments to provide would be (adjusted for the correct paths):

  • --with-tcl-include='/usr/include/tcl8.6'
  • --with-tk-include='/usr/include/tcl8.6'
  • --with-tcl-lib='/usr/lib/x86_64-linux-gnu'
  • --with-tk-lib='/usr/lib/x86_64-linux-gnu'

What I actually did was this one:
$ sudo gem install tk -- --without-ActiveTcl --without-tcltk-framework --without-tclConfig-file --without-tkConfig-file --with-tcl-include='/usr/include/tcl8.6' --with-tk-include='/usr/include/tcl8.6' --with-tcl-lib='/usr/lib/x86_64-linux-gnu' --with-tk-lib='/usr/lib/x86_64-linux-gnu' --with-X11 --with-X11-include='/usr/include/X11' --with-X11-lib='/usr/lib/x86_64-linux-gnu' --enable-pthread --enable-tcl-thread --enable-space-on-tk-libpath
Building native extensions with: '--without-ActiveTcl --without-tcltk-framework --without-tclConfig-file --without-tkConfig-file --with-tcl-include=/usr/include/tcl8.6 --with-tk-include=/usr/include/tcl8.6 --with-tcl-lib=/usr/lib/x86_64-linux-gnu --with-tk-lib=/usr/lib/x86_64-linux-gnu --with-X11 --with-X11-include=/usr/include/X11 --with-X11-lib=/usr/lib/x86_64-linux-gnu --enable-pthread --enable-tcl-thread --enable-space-on-tk-libpath'
This could take a while...
Successfully installed tk-0.5.0
Parsing documentation for tk-0.5.0
Installing ri documentation for tk-0.5.0
Done installing documentation for tk after 4 seconds
1 gem installed
$

MX-23.1_ahs_x64 Libretto October 15 2023 base: Debian GNU/Linux 12 (bookworm)
from the repository: ruby (1:3.1) ruby-dev (1:3.1) tcl-dev (8.6.13) tk-dev (8.6.13) +Recommended

As far as config_list.in, I could be wrong (although I think I'm right): I'm pretty sure the code in extconf.rb shows a misunderstanding of how to handle mkmf. Even if nobody cares about config_list.in, the rest of extconf.rb might need checking because misunderstandings like that don't stay in one place. I tried to look at how extconf.rb handles tclConfig.sh and tkConfig.sh, but it was pretty puzzling, too much time looking stuff up in my ruby reference, so I let it go.

from tk.

jeremyevans avatar jeremyevans commented on June 7, 2024

The options you gave are the ones I use.

You are probably correct about extconf.rb. I'm definitely not a mkmf expert, and I'm hesitant to make changes that I wouldn't fully understand the consequences of. However, updating the documentation (maybe the README) to demonstrate the use of arguments to gem install seems like a good idea

from tk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.