Code Monkey home page Code Monkey logo

Comments (20)

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024 1

After further poking around, I have found that the package group Development Libraries will provide this package as a "weak dependency".

dnf groupinstall "Development Libraries"

Anyone reading this may also want dnf groupinstall "Development Tools".

Thanks again for your help gpakosz.

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024

An excerpt from the tmux server log

1714274640.536068 free client 0x61b0ecf61a80 (0 references)
1714274640.536070 cmdq_next <global>: empty
1714274640.536072 cmdq_next </dev/pts/1>: empty
1714274640.536074 server_client_reset_state: client /dev/pts/1 mode CURSOR,WRAP
1714274640.536076 server_client_reset_state: cursor to 0,0
1714274640.536078 server_client_check_pane_buffer: pane %0 is on
1714274640.536080 @0 active pane not changed
1714274640.536513 job error 0x61b0ecf17a30: cut -c3- '/home/josh/.config/tmux/tmux.conf' | sh -s __apply_plugins '/home/josh/.config/tmux/plugins' '1' 'true' 'true' 'true', pid 488661
1714274640.536518 cmdq_next <global>: empty
1714274640.536520 cmdq_next </dev/pts/1>: empty

Looks like it's making the effort, just nothing happens.

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024

Hello @redbeardymcgee 👋

What OS are you using and what's the tmux version please?

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024

It's under a distrobox with Fedora 40. It was midnight so I neglected to mention.

🐧 josh 09:03:02 AM 04/28/24  🏠  ✅  cat /etc/fedora-release 
Fedora release 40 (Forty)
 🐧 josh 09:03:32 AM 04/28/24  🏠  ✅  uname -a
Linux dev.rbmpc 6.8.0-76060800daily20240311-generic #202403110203~1713206908~22.04~3a62479 SMP PREEMPT_DYNAMIC Mon A x86_64 GNU/Linux
 🐧 josh 09:03:46 AM 04/28/24  🏠  ✅  tmux -V
tmux 3.4

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024

Hard to say what's going on.

Can you please start the setup over? And make sure you kill all tmux processes then relaunch?

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024

I have restarted from scratch multiple times, it's always the same problem.

I just checked a config with nothing, and '~/.tmux/plugins/tpm/tpm' returned 127 is all I get from that now.

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
# set -g @plugin 'tmux-plugins/tmux-sensible'

# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin '[email protected]:user/plugin'
# set -g @plugin '[email protected]:user/plugin'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

I don't remember that being broken before so I have to investigate that I guess.

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

This is not from Oh my tmux! though 🤷‍♂️

Please do not change the .conf file and see the .conf.local file for how to enable plugins.

Everything else is not supported.

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

This is not from Oh my tmux! though 🤷‍♂️

Please do not change the .conf file and see the .conf.local file for how to enable plugins.

Everything else is not supported.

Of course. What I was doing is checking if anything works with a base tmux to rule out any complications from OMT. I think I'm finding a problem with using ~/.config/tmux/ as the tmux config home for tpm.

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.config/tmux/plugins/tpm/tpm'

This baseline config for tmux (removing ALL of OMT completely and using JUST this config file) at ~/.config/tmux/tmux.conf allows ~/.config/tmux/plugins/tpm/bin/install_plugins to work. Identical success from ~/.tmux.conf with ~/.tmux/plugins as the tpm home.

 🐧 josh 09:49:10 AM 04/28/24  🏠  ✅  ~/.config/tmux/plugins/tpm/bin/clean_plugins 
Removing "tmux-sensible"
  "tmux-sensible" clean success

Switching in the default config from OMT results in total failure. Uncomment these lines in ~/.tmux.conf.local:

set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on'

Launching tmux shows that OMT is trying to use tpm on startup, and it reports "Done updating tpm and plugins" pretty quick.

No plugins were installed or updated. TPM just fails or exits.

 🐧 josh 10:05:07 AM 04/28/24  🏠  ✅  .tmux/plugins/tpm/bin/install_plugins 
unknown variable: TMUX_PLUGIN_MANAGER_PATH
FATAL: Tmux Plugin Manager not configured in tmux.conf
Aborting.

From within a tmux instance:

 🐧 josh 10:06:14 AM 04/28/24  🏠  ✅  .tmux/plugins/tpm/bin/install_plugins 
 🐧 josh 10:06:22 AM 04/28/24  🏠  ✅  .tmux/plugins/tpm/bin/update_plugins all
Updating all plugins!

<prefix> I just results in the original post.

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024

Works for me on macOS,

Before launching tmux.

$ pwd
/Users/gpakosz/.config/tmux
$ ls
tmux.conf  tmux.conf.local
$ sha256sum tmux.conf
9658b606baacda88bae3067f59034b17bcb8bc8187b610f078cd1aa738b67464  tmux.conf
$ grep -A 1 '^set -g @plugin' -- tmux.conf.local
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on'

After launching tmux.

$ ls plugins
tmux-continuum  tmux-resurrect  tpm  tpm_log.txt
$ cat plugins/tpm_log.txt
[2024-04-28 19:58:59.780]        List of discovered tpm plugins: tmux-plugins/tmux-resurrect tmux-plugins/tmux-continuum
[2024-04-28 19:58:59.805]        Invoking /Users/gpakosz/.config/tmux/plugins/tpm/bin/install_plugins
[2024-04-28 19:59:00.155]        Installing "tmux-resurrect"
[2024-04-28 19:59:00.156]        Installing "tmux-continuum"
[2024-04-28 19:59:01.104]          "tmux-continuum" download success
[2024-04-28 19:59:01.930]          "tmux-resurrect" download success
[2024-04-28 19:59:01.957]        Done.

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024

I used Vagrant to install this fedora-40 box: https://app.vagrantup.com/bento/boxes/fedora-40

After installing tmux and git, I used the same steps and I discovered that you need to install the perl-Time-HiRes package.

Can you please confirm this works for you while I figure out what to do?

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024

That does indeed solve the issue, allowing tpm to run successfully.

 🐧 josh 01:33:40 PM 04/28/24  🏠/.config/tmux  ✅  cat plugins/tpm_log.txt 
[2024-04-28 13:33:41.501]        List of discovered tpm plugins: tmux-plugins/tmux-resurrect tmux-plugins/tmux-continuum
[2024-04-28 13:33:41.525]        Invoking /home/josh/.config/tmux/plugins/tpm/bin/install_plugins
[2024-04-28 13:33:41.569]        Installing "tmux-resurrect"
[2024-04-28 13:33:41.570]        Installing "tmux-continuum"
[2024-04-28 13:33:42.601]          "tmux-continuum" download success
[2024-04-28 13:33:44.094]          "tmux-resurrect" download success
[2024-04-28 13:33:44.106]        Invoking /home/josh/.config/tmux/plugins/tpm/bin/update_plugins all
[2024-04-28 13:33:44.117]        Updating all plugins!
[2024-04-28 13:33:44.117]        
[2024-04-28 13:33:44.817]          "tmux-continuum" update success
[2024-04-28 13:33:44.820]            | Already up to date.
[2024-04-28 13:33:44.830]          "tmux-resurrect" update success
[2024-04-28 13:33:44.832]            | Already up to date.
[2024-04-28 13:33:44.850]        Invoking /home/josh/.config/tmux/plugins/tpm/bin/clean_plugins all
[2024-04-28 13:33:44.897]        Done.

I knew there was perl in .tmux.conf but I never suspected a dependency issue.

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024

It's apparently not supposed to happen. How do you install Fedora 40?

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024

distrobox

I'm using the podman backend.

dev.ini

[dev]
image="registry.fedoraproject.org/fedora-toolbox:latest"
pull=true

additional_packages="emacs neovim"
additional_packages="ripgrep fd-find"
additional_packages="git libvterm libtool"
additional_packages="coreutils cmake clang-tools-extra"
additional_packages="xwininfo xdotool xclip xsel"
additional_packages="freetype-devel fontconfig-devel"
additional_packages="tmux"

Create the container: distrobox assemble create --replace --file ./dev.ini

I don't expose tmux, so it's only available within the container: distrobox enter dev -- tmux

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024

The strange thing is that according to https://packages.fedoraproject.org/pkgs/perl/perl/fedora-40.html#dependencies, the perl package does depend on the perl-Time-HiRes package.

So whoever created the fedora-toolbox:latest image tried to slim it down and broke perl.

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024

None of the packages I installed include perl as a dependency, so perl-Time-HiRes wouldn't get installed anyway. I can add the package to the container no sweat.

What I have discovered is that /usr/bin/perl is provided by perl-interpreter package instead of the perl package. This means that on Fedora 40 (and what other versions? idk yet, do we need to know?), Oh My Tmux! has a hard dependency on perl-Time-HiRes and cannot rely on it being provided by default.

dnf install perl pulls in the perl-Time-HiRes package as expected. dnf install perl-Time-HiRes installs the necessary package without pulling 185 deps.

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024

I pushed the gh-739 branch in which a message is displayed when Time::HighRes is not available.

I guess I'll just do that, because strangely enough having timestamps to the milliseconds that works in POSIX scripts and without having to install too much is not straightforward 🙃

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024

would date +"%T.%3N" suffice?

from .tmux.

gpakosz avatar gpakosz commented on June 1, 2024

would date +"%T.%3N" suffice?

Not supported on macOS

from .tmux.

redbeardymcgee avatar redbeardymcgee commented on June 1, 2024

Yeah, that's a problem which people much smarter than me have been trying to solve for a very long time. I suppose a warning is enough. Perhaps a note in the readme would be in order.

Thanks for helping find the culprit!

from .tmux.

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.