Skip to content

Conversation

AtharvMixraw
Copy link

  • Solve Python module naming issues with entry points
  • Fix Docker credential helper errors in WSL 2
  • Resolve pipenv dependency resolution failures
  • Add NPM permission-safe installation methods
  • Include ImageMagick setup for Ubuntu 24.04
  • Provide tested solutions for 8GB RAM systems
  • Cover complete setup workflow with real error messages

Addresses common issues blocking new contributors on Windows WSL 2 environments.

❤️ Thank you for your contribution!

Description

This PR adds a comprehensive troubleshooting guide for InvenioRDM development setup on Windows WSL 2 environments. The documentation addresses critical gaps that prevent successful setup for new contributors.

Problems Solved:

  • Python module naming convention errors in setup.cfg entry points
  • Docker credential helper compatibility issues in WSL 2
  • Pipenv dependency resolution failures requiring pre-release packages
  • NPM installation permission errors and version compatibility
  • Missing ImageMagick installation instructions for Ubuntu 24.04
  • Hardware requirements and performance optimization for 8GB RAM systems

Documentation Added:

  • TROUBLESHOOTING.md - Complete setup and troubleshooting guide
  • Real error messages with exact command-line solutions
  • Tested configurations on Ubuntu 24.04.3 LTS
  • Step-by-step validation procedures
  • Alternative solution approaches for different scenarios

Impact:
This guide transforms InvenioRDM setup from a frustrating trial-and-error process into a systematic, reproducible workflow. Based on extensive real-world troubleshooting experience, it enables new contributors to focus on development rather than configuration issues.

Testing Environment:

  • Windows 11 + WSL 2 Ubuntu 24.04.3 LTS
  • 8GB RAM, 256GB SSD
  • Complete setup verification with all pre-requirements passing

Checklist

Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

Checklist

  • I'm aware of the code of conduct.
  • I've created logical separate commits and followed the commit message format.
  • I've added relevant test cases. (N/A - Documentation only)
  • I've added relevant documentation.
  • I've marked translation strings. (N/A - No UI strings added)
  • I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions). (N/A - New documentation file)
  • I've NOT included third-party code (copy/pasted source code or new dependencies).

Frontend

  • I've followed the CSS/JS and React guidelines. (N/A - No frontend changes)
  • I've followed the web accessibility guidelines. (N/A - No UI changes)
  • I've followed the user interface guidelines. (N/A - No UI changes)

Frontend

Reminder

By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

  1. You license your contribution under the same terms as the current repository’s license.
  2. You agree that you have the right to license your contribution under the current repository’s license.

- Solve Python module naming issues with entry points
- Fix Docker credential helper errors in WSL 2
- Resolve pipenv dependency resolution failures
- Add NPM permission-safe installation methods
- Include ImageMagick setup for Ubuntu 24.04
- Provide tested solutions for 8GB RAM systems
- Cover complete setup workflow with real error messages

Addresses common issues blocking new contributors on Windows WSL 2 environments.
@tmorrell
Copy link
Contributor

Thanks for this contribution. I don't think this is the correct location for this documentation though. Your changes should be integrated into https://github.com/inveniosoftware/docs-invenio-rdm, since there is already an install workflow there.

It would be great to say we support WSL, but some of the changes such as allow_prereleases = true are not correct. If there are changes needed, they should be made in a way that works for all InvenioRDM installations. We'll want to put changes in the cookiecutter instead of in a documentation file that will quickly get out of date.

I'd try to make more targeted documentation improvements, or raise issues for specific problems that come up when installing with WSL. We're happy to work with you to get these improvements integrated.

@AtharvMixraw
Copy link
Author

AtharvMixraw commented Aug 13, 2025

Thank you for the detailed feedback! I completely understand your points about:

  1. Documentation location - Moving to docs-invenio-rdm makes perfect sense
  2. Universal solutions - You're absolutely right that fixes should work for all installations, not just WSL
  3. Cookiecutter integration - Better to fix root causes than document workarounds

Next Steps I'll Take:

  • Close this PR and move documentation to the correct repository
  • Create targeted issues for specific WSL problems that need upstream fixes
  • Focus on solutions that benefit all users, not just WSL environments

By the way should I open separate issues for:

  • Python module naming convention problems in the cookiecutter template?
  • Docker credential helper compatibility improvements?
  • Pipenv configuration that requires manual allow_prereleases fixes?

I'm excited to work with you on making these improvements the right way. Thanks!!

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

Successfully merging this pull request may close these issues.

2 participants