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

Add jupyter-desktop-server #21369

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

weiji14
Copy link
Member

@weiji14 weiji14 commented Nov 29, 2022

Run a Linux Desktop on a JupyterHub. Repo at https://github.com/yuvipanda/jupyter-desktop-server.

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/jupyter-desktop-server) and found some lint.

Here's what I've got...

For recipes/jupyter-desktop-server:

  • The summary item is expected in the about section.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/jupyter-desktop-server) and found it was in an excellent condition.


extra:
recipe-maintainers:
- yuvipanda
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yuvipanda, similar to #21368, ok if I list you as a conda-forge recipe maintainer for jupyter-desktop-server here (need an explicit yes/no answer)?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@weiji14 so it was actually upstreamed into https://github.com/jupyterhub/jupyter-remote-desktop-proxy but no new release has been made yet. Should I make a release with the new name and we can try again?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes, that would be better. Give me a ping when the new release has been tagged.

@weiji14
Copy link
Member Author

weiji14 commented Nov 30, 2022

Oh wow, there's Python 2 code in this package 😅 Traceback from https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=620372&view=logs&j=6f142865-96c3-535c-b7ea-873d86b887bd&t=22b0682d-ab9e-55d7-9c79-49f3c3ba4823&l=2850:

Installing collected packages: jupyter-desktop-server
  *** Error compiling '$PREFIX/lib/python3.11/site-packages/jupyter_desktop/share/web/noVNC-1.1.0/utils/img2js.py'...
    File "$PREFIX/lib/python3.11/site-packages/jupyter_desktop/share/web/noVNC-1.1.0/utils/img2js.py", line 14
      print "python PIL module required (python-imaging package)"
  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): /lib64/libpthread.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): /lib64/libpam.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): /lib64/libc.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): /lib64/ld-linux-x86-64.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
WARNING (jupyter-desktop-server): interpreter (Python) package conda-forge::python-3.11.0-ha86cf86_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to `build/ignore_run_exports`)
Traceback (most recent call last):
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 220, in <module>
    build_all(os.path.join(root_dir, "recipes"), args.arch)
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 118, in build_all
    build_folders(recipes_dir, folders, arch, channel_urls)
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 176, in build_folders
    conda_build.api.build([recipe], config=get_config(arch, channel_urls))
  File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 186, in build
    return build_tree(
  File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3091, in build_tree
    packages_from_this = build(metadata, stats,
  File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2374, in build
    newly_built_packages = bundlers[pkg_type](output_d, m, env, stats)
  File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 1664, in bundle_conda
    files = post_process_files(metadata, initial_files)
  File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 1510, in post_process_files
    post_build(m, new_files, build_python=python)
  File "/opt/conda/lib/python3.10/site-packages/conda_build/post.py", line 1318, in post_build
    check_overlinking(m, files, host_prefix)
  File "/opt/conda/lib/python3.10/site-packages/conda_build/post.py", line 1224, in check_overlinking
    return check_overlinking_impl(m.get_value('package/name'),
  File "/opt/conda/lib/python3.10/site-packages/conda_build/post.py", line 1207, in check_overlinking_impl
    raise OverLinkingError(overlinking_errors)
conda_build.exceptions.OverLinkingError: overlinking check failed 
['  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/x0vncserver): $RPATH/libXfixes.so.3 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/x0vncserver): $RPATH/libX11.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', "  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/x0vncserver): .. but ['libzlib'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/x0vncserver): /lib64/libpthread.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/x0vncserver): /lib64/libpam.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/x0vncserver): /lib64/libc.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/x0vncserver): /lib64/ld-linux-x86-64.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/Xvnc): /lib64/libpam.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', "  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/Xvnc): .. but ['libzlib'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/Xvnc): /lib64/libdl.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/Xvnc): /lib64/libpthread.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/Xvnc): /lib64/libc.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/Xvnc): /lib64/ld-linux-x86-64.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/Xvnc): /lib64/libm.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/Xvnc): /lib64/librt.so.1 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncpasswd): $RPATH/libX11.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncpasswd): /lib64/libpthread.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', "  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncpasswd): .. but ['libzlib'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncpasswd): /lib64/libpam.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncpasswd): /lib64/libc.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncpasswd): /lib64/ld-linux-x86-64.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncviewer): /lib64/libm.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncviewer): /lib64/libdl.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncviewer): $RPATH/libX11.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', "  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncviewer): .. but ['libzlib'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncviewer): /lib64/libpthread.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncviewer): /lib64/libpam.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncviewer): /lib64/libc.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncviewer): /lib64/ld-linux-x86-64.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/lib64/swrast_dri.so): /lib64/libdl.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/lib64/swrast_dri.so): /lib64/libm.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/lib64/swrast_dri.so): /lib64/libc.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/lib64/swrast_dri.so): /lib64/ld-linux-x86-64.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): $RPATH/libX11.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', "  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): .. but ['libzlib'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): /lib64/libpthread.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): /lib64/libpam.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): /lib64/libc.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?', '  ERROR (jupyter-desktop-server,lib/python3.11/site-packages/jupyter_desktop/share/tigervnc/bin/vncconfig): /lib64/ld-linux-x86-64.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.\n.. is this binary repackaging?']
##[error]Bash exited with code '1'.

    Finishing: Run docker build

Any tips @yuvipanda? Edit: nvm, just saw your comment at #21369 (comment).

@yuvipanda
Copy link
Contributor

@weiji14 haha, it is a binary repackaging, vendoring in https://tigervnc.org/. I don't actually know what the problem is, as I know the package as is works fine without any python2 right now when installed via pip.

@yuvipanda
Copy link
Contributor

/cc @manics who is also involved

@manics
Copy link
Member

manics commented Nov 30, 2022

Note from the checklist:

Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).

Ideally we'd get tigervnc (or some other compatible vncserver) into conda-forge instead of vendoring it.

Co-authored-by: Simon Li <orpheus+devel@gmail.com>
@weiji14
Copy link
Member Author

weiji14 commented Nov 30, 2022

Ideally we'd get tigervnc (or some other compatible vncserver) into conda-forge instead of vendoring it.

Hmm, seems like there was a previous attempt to add tigervnc at #17740, and also one for jupyter-desktop-server at #17739. Not sure why they both got closed though 😕

@weiji14 weiji14 marked this pull request as draft November 30, 2022 15:08
@manics
Copy link
Member

manics commented Nov 30, 2022

Probably just a matter of review capacity on the conda-forge core team. Recently the review process has sped up though, especially with some strategic pings of the right review team. I'll have a look into tigervnc if I get time....

@manics
Copy link
Member

manics commented Nov 30, 2022

I just tried rebasing and rebuilding TigerVNC from #17740 locally and it fails because pam isn't available

...
-- Looking for include file security/pam_appl.h
-- Looking for include file security/pam_appl.h - not found
-- Looking for pam_start
-- Looking for pam_start - not found
CMake Error at CMakeLists.txt:287 (message):
  Could not find PAM development files
...

https://github.com/TigerVNC/tigervnc/blob/v1.12.0/CMakeLists.txt#L278-L289

Related unsolved issues:

@manics manics mentioned this pull request Nov 30, 2022
10 tasks
@manics
Copy link
Member

manics commented Nov 30, 2022

WIP at #21393

@manics
Copy link
Member

manics commented Jan 20, 2023

@fperez you asked about this in
jupyterhub/jupyter-remote-desktop-proxy#10 (comment)
We need to package a vncserver (shouldn't matter which one, just whichever works to begin with!).

If you have any insights on
#21393
or are able to help out that'd be very welcome!

@fperez
Copy link

fperez commented Jan 20, 2023

Ah, I wish I could @manics! I know very little about both the conda-forge worklfow and the VNC toolchain. I'm afraid beyond gratitude and cheerleading, I can't offer much more on this one, sorry!

@manics
Copy link
Member

manics commented Sep 28, 2023

There's an in-progress PR to remove the VNC binary from the Python package, and to instead provide an installation command that downloads it from an external source:
jupyterhub/jupyter-remote-desktop-proxy#62

Ideally we'd want a VNC server somewhere in conda-forge, but given the difficulty in packaging one maybe it's OK to rely on that installer?

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

Successfully merging this pull request may close these issues.

5 participants