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 lib-yaml-dev dependecy #7556

Merged
merged 2 commits into from
Feb 17, 2023
Merged

Add lib-yaml-dev dependecy #7556

merged 2 commits into from
Feb 17, 2023

Conversation

FinnIckler
Copy link
Member

With the recent upgrade to Version 5 of Psych we need lib-yaml as a dependency as it doesn't come with it's own bindings anymore. I added it both to chef and to Docker setups, additionally I added a reference to installing it in the readme if you are running the ruby portion of the website only (we already had some questions about an error in slack)

Copy link
Member

@gregorbg gregorbg left a comment

Choose a reason for hiding this comment

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

Cool! Minor comment about the Readme.

Also, it feels weird that we have to tell our users to install stuff for a transitive dependency that is included with Ruby. Perhaps we are missing something? Would it be worth posting an issue against psych to ask them for support?

3. `bundle install && bin/yarn`
4. `bin/rake db:load:development` - Download and import the [developer's database export](https://github.com/thewca/worldcubeassociation.org/wiki/Developer-database-export). Depending on your computer it may take a long time. Alternatively you can run `bin/rake db:reset` which will create the database and seed it with random data (it's way faster, but less representative of our website content).
5. `bin/rails server` - Run rails. The server will be accessible at localhost:3000
3. Install `libyaml` using your package manager of choice, eg. [Mac](https://formulae.brew.sh/formula/libyaml) or [Ubuntu](https://launchpad.net/ubuntu/+source/libyaml)
Copy link
Member

Choose a reason for hiding this comment

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

In the recipe+Dockerfile below, you install libyaml-dev. But here in the Readme, you recommend libyaml. I think that these are two different packages.

Copy link
Member Author

Choose a reason for hiding this comment

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

So libyaml-dev are only header files, which are required for psych, in brew you can't actually install the header files only, which is why you install the whole package. For Ubuntu users I link the whole package and the user can choose to install
the whole package or just the header files.

@FinnIckler
Copy link
Member Author

Psych is just a wrapper for libyaml and it mentions libyaml as a dependency on the github page. Reading the changelog psych stopped shipping their own version of libyaml in ruby/psych#541 so I don't think there is anything else we can do (except force people to use the Docker setup for development)

@gregorbg gregorbg merged commit f81d70d into thewca:master Feb 17, 2023
@FinnIckler FinnIckler deleted the libyaml branch May 23, 2023 07:39
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