Fork me on GitHub
#babashka
<
2020-03-07
>
sogaiu00:03:28

building not working here:

$ git pull # on master
# ... details elided
$ git submodule update
Submodule path 'sci': checked out 'd768910b6c4f51fc9b3331f5d8ddefc59c1f4f36'
$ export GRAALVM_HOME=/home/user/src/graalvm-ce-java8-19.3.1
$ bash script/compile
Downloading: Component catalog from 
Processing Component: Native Image
Component Native Image (org.graalvm.native-image) is already installed.
Retrieving org/clojure/clojure/1.10.2-alpha1/clojure-1.10.2-alpha1.pom from central
Retrieving org/clojure/spec.alpha/0.2.187/spec.alpha-0.2.187.pom from central
Retrieving org/clojure/pom.contrib/0.3.0/pom.contrib-0.3.0.pom from central
Retrieving org/clojure/spec.alpha/0.2.187/spec.alpha-0.2.187.jar from central
Retrieving org/clojure/clojure/1.10.2-alpha1/clojure-1.10.2-alpha1.jar from central
Compiling babashka.impl.async
Compiling babashka.impl.cheshire
Compiling babashka.impl.classes
Compiling babashka.impl.classpath
Compiling babashka.impl.clojure.core
Compiling babashka.impl.clojure.core.server
Compiling 
Compiling babashka.impl.clojure.java.shell
Compiling babashka.impl.clojure.main
Compiling babashka.impl.clojure.pprint
Compiling babashka.impl.clojure.stacktrace
Compiling babashka.impl.clojure.test
Compiling babashka.impl.common
Compiling babashka.impl.csv
Compiling babashka.impl.curl
Syntax error macroexpanding at (curl.clj:1:1).
Execution error (FileNotFoundException) at babashka.impl.curl/loading (curl.clj:1).
Could not locate babashka/curl__init.class, babashka/curl.clj or babashka/curl.cljc on classpath.

Full report at:
/tmp/clojure-8239789038513689142.edn
Compilation failed: Subprocess failed

# similar result with graal 20.0.0 (java8)

sogaiu03:03:55

this looks pretty neat!

sogaiu03:03:48

i hope i can get bb 0.0.75 built so i can try it soon 🙂

porkostomus03:03:27

I haven't written any tests yet... because the problems are the tests! We need to write the "units", by solving them. (of course I could do it by using existing answers, but what's the fun in that?)

sogaiu03:03:08

a good opportunity for review and further study 🙂

borkdude07:03:55

@ I guess you need to pull with —recursive

sogaiu08:03:43

that doesn't seem to be an option here -- though there is:

$ git pull --recurse-submodule
Fetching submodule sci
Already up-to-date.
is that what you mean?

sogaiu08:03:29

fwiw, that didn't appear to make a difference

borkdude08:03:53

@ babashka.curl is now a submodule of babashka. Because of your error message I assume you don't have it. See the repo, there should be a directory babashka.curl.

sogaiu08:03:21

a fresh clone with --recursive works -- git submodule update does not appear sufficient w/in an already existing repository that didn't have babashka.curl.

sogaiu08:03:43

it appears that git submodule init again helps

borkdude08:03:08

Maybe this should be documented in dev.md if you can reproduce it

sogaiu08:03:14

not out of the woods yet i guess...

$ git submodule update
fatal: destination path '/home/user/src/babashka/babashka.curl' already exists and is not an empty directory.
fatal: clone of '' into submodule path '/home/user/src/babashka/babashka.curl' failed
Failed to clone 'babashka.curl'. Retry scheduled
fatal: destination path '/home/user/src/babashka/babashka.curl' already exists and is not an empty directory.
fatal: clone of '' into submodule path '/home/user/src/babashka/babashka.curl' failed
Failed to clone 'babashka.curl' a second time, aborting
may be i'll just start over from a fresh repos

borkdude08:03:42

maybe you can clone, reset to the SHA you were in

borkdude08:03:48

and then try again, to see what the correct steps are

sogaiu08:03:55

for the moment, if one gets stuck in the mess i was in:

$ rm -rf babashka.curl
$ git submodule update --init --recursive
seems to fix things

james42716:03:09

Very nice. Would you consider adding curl to the bb docker image (only wget is included)?

borkdude16:03:37

Seems reasonable, since babashka.curl doesn't work without curl. What do you think @?

rahul08032716:03:04

Yeah would be nice. We can start from alpine:latest and then doing a “apk add -U curl” should do it

rahul08032716:03:50

It would be lightweight too

borkdude16:03:29

ok, PR for this is welcome

borkdude16:03:25

Already pushed.

nate_clojurians19:03:50

@borkdude I was thinking a bit about this with all the filesystem stuff I've been (extremely slowly) doing and how much easier it would be to just shell out to stuff like this

nate_clojurians19:03:35

much easier to support multiple platforms this way and not have to include bulky stuff in the stdlib

nate_clojurians19:03:02

and this mimics what shell scripts do since they just depend on external tools like this anyways

borkdude22:03:01

@nate_clojurians Interesting