Skip to content
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

⚠️ New enough yad version required! (debian based distributions use an ancient yad version) #98

Closed
frostworx opened this issue Oct 9, 2020 · 21 comments

Comments

@frostworx
Copy link
Collaborator

I only tested with yad 7.2 on Arch Linux where everything works as expected.
Looks like at least debian based distributions use an ancient yad version 0.40 which simply doesn't have all the features required for stl.
I have no clue why but unfortunately none of the two issues opened here never were properly confirmed
(#74 and #97).
In case someone wants to help it would be nice if this could be confirmed.
Adding a yad --version check to stl would make sense then.

@frostworx frostworx pinned this issue Oct 9, 2020
@RockafellaJaz
Copy link

I have tried YAD (v0.40) in linux mint 19.3 and ubuntu 20.04 and can confirm on my install upgrading from 0.40 to the latest version from github (v7.2) fixed issues with the descriptions being written after the menu item rather than in a tooltip as mentioned in #74.
If anyone is interested I used the following commands:

sudo apt install git libglib2.0-dev libtool autoconf automake intltool libgtk-3-dev build-essential
git clone /~https://github.com/v1cont/yad.git yad-dialog-code
cd yad-dialog-code
autoreconf -ivf && intltoolize
./configure && make
sudo make install
gtk-update-icon-cache

@frostworx
Copy link
Collaborator Author

@frostworx frostworx changed the title ⚠️ New enough yad version probably required! (debian based distributions use an ancient yad version) ⚠️ New enough yad version ~probably~ required! (debian based distributions use an ancient yad version) Oct 13, 2020
@frostworx frostworx changed the title ⚠️ New enough yad version ~probably~ required! (debian based distributions use an ancient yad version) ⚠️ New enough yad version required! (debian based distributions use an ancient yad version) Oct 13, 2020
@frostworx frostworx unpinned this issue Oct 21, 2020
@frostworx frostworx pinned this issue Oct 27, 2020
@frostworx
Copy link
Collaborator Author

Would be interesting to know why debian based distributions use such an old yad version. Is there simply no maintainer?

@kadogo
Copy link

kadogo commented Oct 28, 2020

Look like there is a maintainer but maybe yad is not really used in Debian (https://tracker.debian.org/pkg/yad). Without STL I didn't know it existed. There is an issue for upgrade the version but.. it's pretty old (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919785)

But the compilation is very straighforward. I guess not everyone have it easy to compile application too.

Maybe something that could be tried is building an appimage for yad? I can take a look when I have few time.

@frostworx
Copy link
Collaborator Author

Thanks for linking the issue tracker, Might motivate some ambitious debianers to motivate the package maintainer there.
IMHO any linux user should know the basics of a default compile from source, but this should be avoided by providing packages
wherever possible. AFAIK yad is not often used in bigger projects generally and still it is a mighty zenity successor which other distributions have in their package management.

@frostworx
Copy link
Collaborator Author

@kadogo created a yad appimage here: #119 (comment)

@staticnation
Copy link

staticnation commented Nov 1, 2020

Linux Mint 20.04
ERROR yad version '0.40.0' is too old. You need to update to at least '7.0'

Solution:

Download: YadAppImage
place stl and Yad-313ada9-x86_64.AppImage into /usr/local/bin/
change line 26 of stl file from YAD="yad" to YAD="Yad-313ada9-x86_64.AppImage"
now you can just stl %command% from steam

@kadogo
Copy link

kadogo commented Nov 1, 2020

I added a version build against Debian Stretch that is for now LTS on /~https://github.com/kadogo/easy-builder. So the libraries issue must be lower normaly. The AppImage provided before was build on my Debian Buster system.

The repo contain the Dockerfile and script that I used to build the AppImage for trust reason or if you want a more updated version of Yad.

@frostworx
Copy link
Collaborator Author

Here's another solution with compiling yad manually (you should really get it into your package management :)):

#123 (comment)

@frostworx
Copy link
Collaborator Author

frostworx commented Nov 3, 2020

Until it is not clear that the reason for the #124 bug is using an AppImage, I hide @staticnation workaround
I hope you understand this.

(AppImage is not and won't be supported by steamtinkerlaunch directly generally), but unhide above message, as it can be helpful anyway for one or another.

@LuvIsBadToTheBone
Copy link

in linux mint 20.1 is ancient yad version 00.40 running.apt-get no work so i downloaded from here : /~https://github.com/v1cont/yad
all u need to do is compile i open terminal and insert autoreconf -ivf && intltoolize then configure make make install.
then i got version 9.1 (GTK+ 3.24.20) for yad and Frostworx code is running.

@frostworx
Copy link
Collaborator Author

Thanks for trying to help @LuvIsBadToTheBone!
As you described it is indeed pretty easy to compile an own yad binary from source (and it is a good practice to start compiling, which can improve ones linux experience a lot generally). I guess most people who haven't compiled anything before are just a bit afraid from compiling.

@frostworx
Copy link
Collaborator Author

Closing again (leaving as sticky), as we have collected enough help for yad, and it should be pretty obvious that this is no steamtinkerlaunch issue. Thanks again for everybody who tried to help above.

@frostworx
Copy link
Collaborator Author

Fyi: I'll make the yad binary configurable via command line, so a user can define a custom yad binary,
which will be saved into the global config and used (f.e. stl yad /path/to/custom/yad).
On that way a global/system wide yad installation will no longer be required.

As the recently added Conty has built in yad, I'll also add a direct
stl yad conty shortcut, which will download the latest conty and configure that as "yad executable".
Also, @kadogos appimage from here will have an extra stl yad ai shortcut with the same functionality. If someone has different/newer solutions feel free to suggest them.

@frostworx frostworx unpinned this issue Apr 4, 2021
@frostworx
Copy link
Collaborator Author

Fyi:
#207
or directly in the Wiki:
/~https://github.com/frostworx/steamtinkerlaunch/wiki/Custom-Yad

@perroboc
Copy link

perroboc commented Apr 29, 2023

Just gonna leave these easy to follow instructions for Debian based distros (tested on Pop! OS)

sudo apt install build-essential intltool autoconf git libgtk-3-dev
git clone /~https://github.com/v1cont/yad
cd yad
autoreconf -ivf && intltoolize
./configure && make
sudo make install
gtk-update-icon-cache

You should get a beautiful new app:
image

@ItsRogueRen
Copy link

Just gonna leave these easy to follow instructions for Debian based distros (tested on Pop! OS)

sudo apt install build-essential intltool autoconf git libgtk-3-dev
git clone /~https://github.com/v1cont/yad
cd yad
autoreconf -ivf && intltoolize
./configure && make
sudo make install
gtk-update-icon-cache

You should get a beautiful new app: image

YOU ARE A FUCKING LIFE SAVER

I have spent an hour trying to figure out how the hell to install this on Pop!_OS and had almost just given up. Whoever said installing from source is easy has forgotten what its like to not be a programmer/developer

@sonic2kk
Copy link
Owner

sonic2kk commented May 25, 2023

Whoever said installing from source is easy has forgotten what its like to not be a programmer/developer

Not necessarily these fields, but STL is for technical users, hence the "Tinker" in the title. Source installation is easy on a distro with up-to-date packages such as Arch Linux.

Also, it's not SteamTinkerLaunch's fault if a distribution doesn't package Yad, and you're expected to know how to troubleshoot missing dependencies from your distribution, as you would be when installing any package from source. The dependencies are listed on the wiki, it's up to the user to manage those dependencies however they like.

These steps are somewhat unnecessary because you can use a Yad AppImage. The wiki has documentation on using a custom Yad version. Pacstall may also work to install STL on Debian-based distros, which will install a more up-to-date Yad. If you can't/don't want to use Pacstall, refer to the Yad wiki page on how to install the Yad AppImage.

You could create/request a PPA for STL for Debain-based distros if installing from source is difficult on these distros, but out-of-date distro packages is not a project maintainer's problem.

@RedSnt
Copy link

RedSnt commented Jan 25, 2024

Thanks a bunch @perroboc - that saved me a lot of hassle. MX Linux is based on Debian and still, in 2024, running Yad v.0.40 😥

@TovanySnek
Copy link

i've been having some issues compiling yad as it just returns
"configure.ac" is required when i type in "autoreconf -ivf && intltoolize"
any idea why that could be?

doing this since linux mint doesnt have an updated yad

@sonic2kk
Copy link
Owner

You could always just use the Yad AppImage instead of compiling yourself. If you would prefer avoid using AppImages then that's fair enough.

However specifics on compiling Yad should be brought up elsewhere, the SteamTinkerLaunch issue tracker is not the right place to get support on compiling a third-party program (much less on a 4 year old issue :-)).

I could not tell you why you're getting these errors, perhaps you are missing some package, but you should double-check the latest guidance on the Yad project repository. If you continue to run into trouble, perhaps open an issue on the Yad repo to ask for further guidance.

Good luck!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants