Closed gotwf closed 4 years ago
Not abandoned, just "complete". People are generally happy with the tool so there hasn't been that many additional features.
Not on IRC but there is a #cryogen channel on the Clojurians Slack.
On Sun., Mar. 22, 2020, 3:03 p.m. gotwf, notifications@github.com wrote:
I was an early adopter. Life got in the way. More recently I cannot get Cryogen to run. Yet no issues? Anybody out there interested these days?
Yeah, I know there are other static blog engines but I kinda like Cryogen. Peace.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cryogen-project/cryogen/issues/208, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCVYGFFY3SJPGV2GWCBUELRIZOJFANCNFSM4LRMWLNQ .
% lein new cryogen my-blog.tld Generating fresh 'lein new' Cryogen project.
%cd my-blog.tld %lein ring server
Retrieving bunches 'o stuff.....
Retrieving clj-time/clj-time/0.11.0/clj-time-0.11.0.jar from clojars
Retrieving ring/ring-core/1.6.1/ring-core-1.6.1.jar from clojars
Retrieving ring/ring-jetty-adapter/1.6.1/ring-jetty-adapter-1.6.1.jar from clojars
2020-03-22 14:38:59.624:INFO::main: Logging initialized @1371ms
loading module: Flexmark parser
compiling assets...
compiling sass
copying theme resources
themes/blue/css --> public/blog/css
themes/blue/js --> public/blog/js
themes/blue/html/404.html --> public/blog/404.html
copying resources
content/img --> public/blog/img
content/md/posts --> public/blog/posts
content/md/pages --> public/blog/pages
compiling pages
--> /blog/pages-output/about/
--> /blog/pages-output/another-page/
compiling posts
--> /blog/posts-output/2016-01-07-docs/
--> /blog/posts-output/2014-11-04-second-post/
--> /blog/posts-output/2014-03-10-first-post/
compiling tags
--> /blog/tags-output/cryogen/
--> /blog/tags-output/very fetch/
--> /blog/tags-output/not fetch/
compiling tags page
compiling index
compiling archives
generating authors views
compiling authors
--> /blog/authors-output/Bob Bobbert/
generating site map
generating main rss
generating filtered rss
--> /blog/cryogen.xml
"Elapsed time: 753.130604 msecs"
Exception in thread "main" Syntax error compiling at (/tmp/form-init6137036201721099449.clj:1:73).
at clojure.lang.Compiler.load(Compiler.java:7647)
at clojure.lang.Compiler.loadFile(Compiler.java:7573)
at clojure.main$load_script.invokeStatic(main.clj:452)
at clojure.main$init_opt.invokeStatic(main.clj:454)
at clojure.main$init_opt.invoke(main.clj:454)
at clojure.main$initialize.invokeStatic(main.clj:485)
at clojure.main$null_opt.invokeStatic(main.clj:519)
at clojure.main$null_opt.invoke(main.clj:516)
at clojure.main$main.invokeStatic(main.clj:598)
at clojure.main$main.doInvoke(main.clj:561)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.Var.applyTo(Var.java:705)
at clojure.main.main(main.java:37)
Caused by: java.lang.UnsatisfiedLinkError: sun.nio.fs.LinuxWatchService.inotifyInit()I
at sun.nio.fs.LinuxWatchService.inotifyInit(Native Method)
at sun.nio.fs.LinuxWatchService.
% java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b07)
OpenJDK 64-Bit Server VM (build 25.242-b07, mixed mode)
% uname -a FreeBSD loon.teamcool.net 12.1-RELEASE-p3 FreeBSD 12.1-RELEASE-p3 GENERIC amd64
% lein version Leiningen 2.9.3 on Java 1.8.0_242 OpenJDK 64-Bit Server VM
Not a Clojurian. Clue bats appreciated.
It looks like it might be an issue with your version of the JVM.
Hmm... that issue is closed as "fixed". I am running latest java8. jdk8 is recommended by leiningen but I also tested with 11 and 13. Each built from ports yesterday after a fresh update.
I am a competent and seasoned sysadmin/engineer. I cannot code Java, Clojure, etc. I switch platforms from time to time. Cannot recall if I was on Arch, Void, or FreeBSD last time I used Cryogen. So maybe this never did work on Unix?
One of my main criteria is Asciidoc support, as I strongly dislike Markdown. I just discovered Antora, which looks super sweet, at least for documentation centric site. Cryogen is "complete" but there's some great stuff there for some cross pollination if y'all get bored.
I lurk on #teamcool on Freenode. I can link to some pasties there. Some of the errors were whinging about ruby gems and jruby, looking in ~/.gem dir, wh/is nonexistent. I may have stipulated the asciidoc config then and it was looking for asciidoctor? Anyways, FreeBSD is a pretty popular OS and I expect serious issues with JDK would have been addressed? Especially java 8?
Lots of stuff is going Linux only these days, and even so far as Distro X being the only "officially supported" platform for Project Y. If Java itself is no going down that same road, it's no problem for me to look elsewhere so don't fret too much over this issue.
Thx.
It appears to me that the issue is around the way the JVM works on freebsd, and specifically around the implementation of the LinuxWatchService method in the JVM distribution. So the issue is not really related to this project directly, but rather an issue with JVM compatibility across different platforms. I suspect that vast majority of people using Cryogen are Linux users, hence why this issue hasn't come up in the past. It sounds like freebsd is not a supported platform at the moment due to JVM incompatibility.
I see. Would a MS Windows user also run into issues with "LinuxWatchService"? I am curious as, if so, then maybe warrants noting Linux as a requirement on cryogenweb.org
I'll use something else. Feel free to close this. Thx again. o/
LinuxWatchService is JVM implementation specific implementation of WatchService interface in Java which is what's used here to do file watching. When last tried it on Windows it appeared to work with the underlying implementation, and I'm using it on MacOS right now as well without issues.
Thx. I am moving on so no worries. I would be curious, however, if Cryogen has ever been tested on other unices, e.g. OpenSolaris. Peace.
Just to be clear, the issue has nothing to do with Cryogen itself, but rather a bug in the JVM implementation on FreeBSD. Any JVM based app that uses the WatchService will run into the same problem. That said, I'm not sure what the state of the JVM runtimes is like on OpenSolaris. It works with Linux and MacOS kernels.
The issue I linked also mentions that it should be possible to add -Dsun.nio.fs.watchservice=polling
JVM arg when running on FreeBSD. It'd be curious if that addresses it in your case, you could try it by adding the following line in project.clj
after creating a new Cryogen project:
:jvm-opts ["-Dsun.nio.fs.watchservice=polling"]
Thx. Done. This time lein run completes.
% lein ring server pukes thusly:
kvg@loon:~/Projects/Cryogen/my-blog.tld% lein ring server 2020-03-23 14:54:29.195:INFO::main: Logging initialized @1559ms loading module: Flexmark parser compiling assets... compiling sass copying theme resources themes/blue/css --> public/blog/css themes/blue/js --> public/blog/js themes/blue/html/404.html --> public/blog/404.html copying resources content/img --> public/blog/img content/md/posts --> public/blog/posts content/md/pages --> public/blog/pages compiling pages --> /blog/pages-output/about/ --> /blog/pages-output/another-page/ compiling posts --> /blog/posts-output/2016-01-07-docs/ --> /blog/posts-output/2014-11-04-second-post/ --> /blog/posts-output/2014-03-10-first-post/ compiling tags --> /blog/tags-output/cryogen/ --> /blog/tags-output/very fetch/ --> /blog/tags-output/not fetch/ compiling tags page compiling index compiling archives generating authors views compiling authors --> /blog/authors-output/Bob Bobbert/ generating site map generating main rss generating filtered rss --> /blog/cryogen.xml "Elapsed time: 895.622095 msecs" 2020-03-23 14:54:36.062:INFO:oejs.Server:main: jetty-9.2.21.v20170120 2020-03-23 14:54:36.082:INFO:oejs.ServerConnector:main: Started ServerConnector@6990aeaa{HTTP/1.1}{0.0.0.0:3000} 2020-03-23 14:54:36.082:INFO:oejs.Server:main: Started @8447ms Started server on port 3000 Exception in thread "main" Syntax error compiling at (/tmp/form-init2849132053454351607.clj:1:73). at clojure.lang.Compiler.load(Compiler.java:7647) at clojure.lang.Compiler.loadFile(Compiler.java:7573) at clojure.main$load_script.invokeStatic(main.clj:452) at clojure.main$init_opt.invokeStatic(main.clj:454) at clojure.main$init_opt.invoke(main.clj:454) at clojure.main$initialize.invokeStatic(main.clj:485) at clojure.main$null_opt.invokeStatic(main.clj:519) at clojure.main$null_opt.invoke(main.clj:516) at clojure.main$main.invokeStatic(main.clj:598) at clojure.main$main.doInvoke(main.clj:561) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.lang.Var.applyTo(Var.java:705) at clojure.main.main(main.java:37) Caused by: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform! at java.awt.Desktop.checkActionSupport(Desktop.java:221) at java.awt.Desktop.browse(Desktop.java:380) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167) at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102) at clojure.java.browse$open_url_in_browser.invokeStatic(browse.clj:52) at clojure.java.browse$browse_url.invokeStatic(browse.clj:74) at clojure.java.browse$browse_url.invoke(browse.clj:66) at ring.server.standalone$open_browser_to.invokeStatic(standalone.clj:38) at ring.server.standalone$open_browser_to.invoke(standalone.clj:37) at ring.server.standalone$serve$fn__4182.invoke(standalone.clj:107) at ring.server.standalone$try_port.invokeStatic(standalone.clj:16) at ring.server.standalone$try_port.invoke(standalone.clj:10) at ring.server.standalone$serve.invokeStatic(standalone.clj:100) at ring.server.standalone$serve.doInvoke(standalone.clj:75) at clojure.lang.RestFn.invoke(RestFn.java:423) at ring.server.leiningen$serve.invokeStatic(leiningen.clj:19) at ring.server.leiningen$serve.invoke(leiningen.clj:16) at user$eval12427.invokeStatic(form-init2849132053454351607.clj:1) at user$eval12427.invoke(form-init2849132053454351607.clj:1) at clojure.lang.Compiler.eval(Compiler.java:7176) at clojure.lang.Compiler.eval(Compiler.java:7166) at clojure.lang.Compiler.load(Compiler.java:7635) ... 12 more
Different from before and, again, likely FreeBSD platform issue. I am fine if you want to close the issue. I am also fine if, like me, you've a curious mind and interested in teasing out a bit more.
Please also feel free to change the title of this to something more appropriate.
Thanks again. Peace and stay healthy.
Only as a data point for others who may cross this issue.
I just switched to config to test with asciidoc. This time lein run pukes thusly:
% lein run
Retrieving cryogen-asciidoc/cryogen-asciidoc/0.1.2/cryogen-asciidoc-0.1.2.pom from clojars
Retrieving cryogen-core/cryogen-core/0.1.25/cryogen-core-0.1.25.pom from clojars
Retrieving clj-rss/clj-rss/0.2.0/clj-rss-0.2.0.pom from clojars
Retrieving crouton/crouton/0.1.2/crouton-0.1.2.pom from clojars
Retrieving org/jsoup/jsoup/1.7.1/jsoup-1.7.1.pom from central
Retrieving cheshire/cheshire/5.5.0/cheshire-5.5.0.pom from clojars
Retrieving com/fasterxml/jackson/core/jackson-core/2.5.3/jackson-core-2.5.3.pom from central
Retrieving com/fasterxml/jackson/jackson-parent/2.5.1/jackson-parent-2.5.1.pom from central
Retrieving com/fasterxml/oss-parent/19/oss-parent-19.pom from central
Retrieving com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.5.3/jackson-dataformat-smile-2.5.3.pom from central
Retrieving com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.5.3/jackson-dataformat-cbor-2.5.3.pom from central
Retrieving io/aviso/pretty/0.1.18/pretty-0.1.18.pom from clojars
Retrieving selmer/selmer/0.8.8/selmer-0.8.8.pom from clojars
Retrieving joda-time/joda-time/2.8.1/joda-time-2.8.1.pom from central
Retrieving pandect/pandect/0.5.2/pandect-0.5.2.pom from clojars
Retrieving potemkin/potemkin/0.3.11/potemkin-0.3.11.pom from clojars
Retrieving clj-tuple/clj-tuple/0.1.7/clj-tuple-0.1.7.pom from clojars
Retrieving riddley/riddley/0.1.7/riddley-0.1.7.pom from clojars
Retrieving org/bouncycastle/bcprov-jdk15on/1.51/bcprov-jdk15on-1.51.pom from central
Retrieving clj-tagsoup/clj-tagsoup/0.3.0/clj-tagsoup-0.3.0.pom from clojars
Retrieving org/clojure/data.xml/0.0.3/data.xml-0.0.3.pom from central
Retrieving org/clojars/nathell/tagsoup/1.2.1/tagsoup-1.2.1.pom from clojars
Retrieving net/java/dev/stax-utils/stax-utils/20040917/stax-utils-20040917.pom from central
Retrieving org/asciidoctor/asciidoctorj/1.5.2/asciidoctorj-1.5.2.pom from central
Retrieving org/jruby/jruby-complete/1.7.16.1/jruby-complete-1.7.16.1.pom from central
Retrieving org/jruby/jruby-artifacts/1.7.16.1/jruby-artifacts-1.7.16.1.pom from central
Retrieving org/jruby/jruby-parent/1.7.16.1/jruby-parent-1.7.16.1.pom from central
Retrieving org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom from central
Retrieving org/slf4j/slf4j-parent/1.7.7/slf4j-parent-1.7.7.pom from central
Retrieving com/beust/jcommander/1.35/jcommander-1.35.pom from central
Retrieving org/sonatype/oss/oss-parent/3/oss-parent-3.pom from central
Retrieving org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar from central
Retrieving com/beust/jcommander/1.35/jcommander-1.35.jar from central
Retrieving org/jruby/jruby-complete/1.7.16.1/jruby-complete-1.7.16.1.jar from central
Retrieving org/asciidoctor/asciidoctorj/1.5.2/asciidoctorj-1.5.2.jar from central
Retrieving cryogen-asciidoc/cryogen-asciidoc/0.1.2/cryogen-asciidoc-0.1.2.jar from clojars
loading module: AsciiDoc parser
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" Syntax error compiling at (core.clj:8:30).
at clojure.lang.Compiler$StaticMethodExpr.eval(Compiler.java:1740)
at clojure.lang.Compiler$DefExpr.eval(Compiler.java:457)
at clojure.lang.Compiler.eval(Compiler.java:7181)
at clojure.lang.Compiler.load(Compiler.java:7635)
at clojure.lang.RT.loadResourceScript(RT.java:381)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.load(RT.java:463)
at clojure.lang.RT.load(RT.java:428)
at clojure.core$load$fn6824.invoke(core.clj:6126)
at clojure.core$load.invokeStatic(core.clj:6125)
at clojure.core$load.doInvoke(core.clj:6109)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5908)
at clojure.core$load_one.invoke(core.clj:5903)
at clojure.core$load_lib$fn__6765.invoke(core.clj:5948)
at clojure.core$load_lib.invokeStatic(core.clj:5947)
at clojure.core$load_lib.doInvoke(core.clj:5928)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:667)
at clojure.core$load_libs.invokeStatic(core.clj:5985)
at clojure.core$load_libs.doInvoke(core.clj:5969)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:667)
at clojure.core$require.invokeStatic(core.clj:6007)
at clojure.core$require.doInvoke(core.clj:6007)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at cryogen_core.plugins$load_plugin.invokeStatic(plugins.clj:9)
at cryogen_core.plugins$load_plugin.invoke(plugins.clj:6)
at cryogen_core.plugins$load_plugins.invokeStatic(plugins.clj:15)
at cryogen_core.plugins$load_plugins.invoke(plugins.clj:12)
at cryogen.core$_main.invokeStatic(core.clj:6)
at cryogen.core$_main.invoke(core.clj:5)
at clojure.lang.Var.invoke(Var.java:380)
at user$eval140.invokeStatic(form-init349904441480860565.clj:1)
at user$eval140.invoke(form-init349904441480860565.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:7176)
at clojure.lang.Compiler.eval(Compiler.java:7166)
at clojure.lang.Compiler.load(Compiler.java:7635)
at clojure.lang.Compiler.loadFile(Compiler.java:7573)
at clojure.main$load_script.invokeStatic(main.clj:452)
at clojure.main$init_opt.invokeStatic(main.clj:454)
at clojure.main$init_opt.invoke(main.clj:454)
at clojure.main$initialize.invokeStatic(main.clj:485)
at clojure.main$null_opt.invokeStatic(main.clj:519)
at clojure.main$null_opt.invoke(main.clj:516)
at clojure.main$main.invokeStatic(main.clj:598)
at clojure.main$main.doInvoke(main.clj:561)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.Var.applyTo(Var.java:705)
at clojure.main.main(main.java:37)
Caused by: org.jruby.exceptions.RaiseException: (Errno::ENOENT) /home/kvg/.gem/jruby/1.9
at org.jruby.RubyFileTest.file?(org/jruby/RubyFileTest.java:131)
at RUBY.dirs(/usr/home/kvg/.m2/repository/org/jruby/jruby-complete/1.7.16.1/jruby-complete-1.7.16.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/defaults/jruby.rb:83)
at org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2407)
at RUBY.dirs(/usr/home/kvg/.m2/repository/org/jruby/jruby-complete/1.7.16.1/jruby-complete-1.7.16.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/defaults/jruby.rb:82)
at RUBY.stubs(/usr/home/kvg/.m2/repository/org/jruby/jruby-complete/1.7.16.1/jruby-complete-1.7.16.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/specification.rb:705)
at RUBY.find_inactive_by_path(/usr/home/kvg/.m2/repository/org/jruby/jruby-complete/1.7.16.1/jruby-complete-1.7.16.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/specification.rb:897)
at RUBY.try_activate(/usr/home/kvg/.m2/repository/org/jruby/jruby-complete/1.7.16.1/jruby-complete-1.7.16.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems.rb:183)
at RUBY.require(/usr/home/kvg/.m2/repository/org/jruby/jruby-complete/1.7.16.1/jruby-complete-1.7.16.1.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:132)
at RUBY.(root)( Githubissues.
I was an early adopter. Life got in the way. More recently I cannot get Cryogen to run. Yet no issues? Anybody out there interested these days?
Yeah, I know there are other static blog engines but I kinda like Cryogen. Peace.
Edit: Ah, must have had a brain fart. Okay, not abandoned. Should also mention that I am on FreeBSD-12.1-RELEASE, OpenJDK8, Clojure 1.10.1 and leiningen is wanking about jruby and missing ~/.gems. Uh, sorry, no Ruby here so wtf?
Any IRC support these days?