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

Cloned Repo and Tried to Run examples/basic.hs #389

Closed
lukemccartney opened this issue Mar 22, 2024 · 5 comments
Closed

Cloned Repo and Tried to Run examples/basic.hs #389

lukemccartney opened this issue Mar 22, 2024 · 5 comments
Labels

Comments

@lukemccartney
Copy link

Hi,

I cloned the repo (no problem on my Mac) after it failed to clone on a DigitalOcean Droplet.

I tried to run:

runhaskell examples/basic.hs

And was hit with the following error:

Web/Scotty/Action.hs:95:28: error:
     error: token is not a valid binary operator in a preprocessor subexpression
   |
95 | #if !MIN_VERSION_http_types(0,11,0)
   |                            ^
#if !MIN_VERSION_http_types(0,11,0)
    ~~~~~~~~~~~~~~~~~~~~~~~^
1 error generated.

Web/Scotty/Action.hs:1:1: error:
    `clang' failed in phase `C pre-processor'. (Exit code: 1)
  |
1 | {-# LANGUAGE OverloadedStrings #-}
  | ^
*** Exception: ExitFailure 1

I don't know what this means.

I was hoping to use Scotty as an alternative to NGINX -- is that a possibility or am I missing the point here? Getting back to the problem at hand, do I need to change to GCC or something?

I'm running MacOS Sonoma 14.2.1.

@ocramz
Copy link
Collaborator

ocramz commented Mar 22, 2024

Hi @lukemccartney , we don't have a way to test your exact setup.
Personally, I haven't used runhaskell in like 10 years (our README could use some double checking in that regard).

I usually do Haskell work via stack on MacOS without a problem. Could you try stack build && stack exec -- scotty-basic ?
I imagine cabal would have no problem either.

@lukemccartney
Copy link
Author

Yeah, I've never even bothered with runhaskell, GHCi and cabal usually work just fine. I think it is worth mentioning that the example basic.hs also requires wai-extra, random, http-types and text in order to run using cabal. Not exactly basic for a beginner.

Even after installing all of that and reaching Setting phasers to stun... (port 3000) (ctrl-c to quit), I can't view anything on localhost on Safari or via curl.

What am I doing wrong? What is it supposed to display?

Also, can scotty be used as an alternative to NGINX or is it more similar to Hakyll?

@ocramz
Copy link
Collaborator

ocramz commented Mar 22, 2024

Hitting the root endpoint should return "foobar" as response, see

https://github.com/scotty-web/scotty/blob/master/examples/basic.hs#L35

I think you would have to build a fair bit of stuff on top of scotty to make it function like nginx.
Hakyll is a static website editing tool instead, the actual serving is done by anything that can serve static files .

@lukemccartney
Copy link
Author

I'll give it a go using stack instead of cabal and see if I can get it to return "foobar". I didn't think it was similar to Hakyll but I thought it may be possible to use it as a web server on a Digital Ocean droplet to display a static HTML file.

@ocramz
Copy link
Collaborator

ocramz commented Mar 23, 2024

Closing this as it doesn't seem to be a scotty issue.

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

No branches or pull requests

2 participants