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

Define further error handlers #1

Open
3 of 6 tasks
probonopd opened this issue Oct 17, 2020 · 6 comments
Open
3 of 6 tasks

Define further error handlers #1

probonopd opened this issue Oct 17, 2020 · 6 comments
Labels
enhancement New feature or request

Comments

@probonopd
Copy link
Member

probonopd commented Oct 17, 2020

Define further error handlers, e.g., for

  • Linuxulator has too old a kernel version set
  • A required dependency library is too old
  • A required dependency Python module is not installed
  • A required dependency library is not installed; right now we tell the user to sudo pkg install ... but we should actually offer to do it
  • A required Linux dependency library is not installed
  • (...)

Implemented so far:

image

image

image

@probonopd
Copy link
Member Author

probonopd commented Mar 14, 2021

The launch command is supposed to give users helpful information in case an application cannot be launched. (in a future version, we may want to not only give advice but also offer to do it.)

Exmaple:
https://www.cinelerra-gg.org/freebsd-package/

image

It would be neat if we could offer a way for the user to find out which FreeBSD package to install.

https://www.freshports.org/search.php?stype=pkg-plist&method=match&query=libIlmImf&num=1&orderby=category&orderbyupdown=asc&search=Search&format=plaintext&branch=head

tells us: graphics/openexr! (Note that we need to use libIlmImf minus any version numbers or else we don't get any search result.)

...almost.

% find /usr/local/lib/ | grep libIlmImf 
/usr/local/lib/libIlmImfUtil-2_5.so.25
/usr/local/lib/libIlmImf-2_5.so
/usr/local/lib/libIlmImf-2_5.so.25

Turns out that sudo pkg install graphics/openexr installs 25 whereas we need 24.

So we really need a way to search for the full file name, not "minus any version numbers".
Ideally across all still-available package branches (maybe we would find 24 in some earlier one?).

Is there a way to do this @dlangille?

(Also, is it a bug that this query returns HTML rather than plaintext?)

@probonopd
Copy link
Member Author

We might even want to run dd proactively to find all missing libraries at once:

% ldd ~/Desktop/Cinelerra\ GG.app/Resources/cin | grep not
        libIlmImf-2_3.so.24 => not found (0)
        libIlmThread-2_3.so.24 => not found (0)
        libIex-2_3.so.24 => not found (0)
        libaom.so.0 => not found (0)
        libdav1d.so.3 => not found (0)
        libx264.so.157 => not found (0)
        libx265.so.176 => not found (0)

@grahamperrin
Copy link

#1 (comment)

Also, for example:

% pkg provides libilmimf
Name    : openexr-2.5.5
Desc    : High dynamic-range (HDR) image file format
Repo    : FreeBSD
Filename: usr/local/lib/libIlmImfUtil.so
        usr/local/lib/libIlmImfUtil-2_5.so.25.0.4
        usr/local/lib/libIlmImfUtil-2_5.so.25
        usr/local/lib/libIlmImfUtil-2_5.so
        usr/local/lib/libIlmImf.so
        usr/local/lib/libIlmImf-2_5.so.25.0.4
        usr/local/lib/libIlmImf-2_5.so.25
        usr/local/lib/libIlmImf-2_5.so

Name    : ampasCTL-1.5.2_11
Desc    : Color Transformation Language interpreter
Repo    : FreeBSD
Filename: usr/local/lib/libIlmImfCtl.so
% 

@probonopd
Copy link
Member Author

pkg provides

Does this work with packages that are not installed as well?

@grahamperrin
Copy link

@probonopd
Copy link
Member Author

probonopd commented Mar 15, 2021

Wow!

Sounds like what we need. (At least if it keeps track of release_0, release_1, release_2, quarterly, latest and so on packages for each major release of FreeBSD.)

Related: FreshPorts/freshports#219 (comment)

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

No branches or pull requests

2 participants