planck-repl/planck

Build failing on Fedora 32

Closed this issue · 1 comments

snits commented
# script/build
Creating an optimized build, using build cache to speed up build.
Specifying --fast skips optimizations and takes less than two minutes.
Fetching Google Closure Compiler...
Cleaning up Google Closure Compiler archive...
Fetching Google Closure Library...
Cleaning up Google Closure Library archive...
### Building planck-cljs
Downloading: org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9.pom from https://repo1.maven.org/maven2/
Downloading: org/clojure/google-closure-library-third-party/0.0-20190213-2033d5d9/google-closure-library-third-party-0.0-20190213-2033d5d9.pom from https://repo1.maven.org/maven2/
Downloading: org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9.jar from https://repo1.maven.org/maven2/
Downloading: org/clojure/google-closure-library-third-party/0.0-20190213-2033d5d9/google-closure-library-third-party-0.0-20190213-2033d5d9.jar from https://repo1.maven.org/maven2/
WARNING: JavaScript file found on classpath for library `goog.messaging.testdata.portchannel_worker`, but does not contain a corresponding `goog.provide` declaration: jar:file:/home/jsnitsel/.m2/repository/org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9.jar!/goog/messaging/testdata/portchannel_worker.js
WARNING: JavaScript file found on classpath for library `goog.messaging.testdata.portnetwork_worker1`, but does not contain a corresponding `goog.provide` declaration: jar:file:/home/jsnitsel/.m2/repository/org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9.jar!/goog/messaging/testdata/portnetwork_worker1.js
WARNING: JavaScript file found on classpath for library `goog.messaging.testdata.portnetwork_worker2`, but does not contain a corresponding `goog.provide` declaration: jar:file:/home/jsnitsel/.m2/repository/org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9.jar!/goog/messaging/testdata/portnetwork_worker2.js
WARNING: JavaScript file found on classpath for library `goog.module.testdata.modA_1`, but does not contain a corresponding `goog.provide` declaration: jar:file:/home/jsnitsel/.m2/repository/org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9.jar!/goog/module/testdata/modA_1.js
WARNING: JavaScript file found on classpath for library `goog.module.testdata.modA_2`, but does not contain a corresponding `goog.provide` declaration: jar:file:/home/jsnitsel/.m2/repository/org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9.jar!/goog/module/testdata/modA_2.js
WARNING: JavaScript file found on classpath for library `goog.module.testdata.modB_1`, but does not contain a corresponding `goog.provide` declaration: jar:file:/home/jsnitsel/.m2/repository/org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9.jar!/goog/module/testdata/modB_1.js
### Building planck-c
### Bundling ClojureScript artifacts for 1st stage
### Optimizing bundled JavaScript with Closure Optimizations: SIMPLE
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................planck/io.js:820:
Originally at:
planck/io.cljs:272: WARNING - Left operand of || operator is always falsy.
    (if (satisfies? planck.core/IReader x)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

planck/io.js:837:
Originally at:
planck/io.cljs:280: WARNING - Left operand of || operator is always falsy.
    (if (satisfies? planck.core/IInputStream x)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

planck/io.js:845:
Originally at:
planck/io.cljs:284: WARNING - Left operand of || operator is always falsy.
    (if (satisfies? planck.core/IOutputStream x)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

planck/io.js:1538:
Originally at:
planck/io.cljs:624: WARNING - Left operand of || operator is always falsy.
                        :reader #(implements? planck.core/IReader %)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0 error(s), 4 warning(s)
......planck/core.js:706:
Originally at:
planck/core.cljs:231: WARNING - Left operand of || operator is always falsy.
               :unary (s/cat :reader #(satisfies? IPushbackReader %))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

planck/core.js:720:
Originally at:
planck/core.cljs:232: WARNING - Left operand of || operator is always falsy.
               :binary (s/cat :opts map? :reader #(satisfies? IPushbackReader %))
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

planck/core.js:734:
Originally at:
planck/core.cljs:233: WARNING - Left operand of || operator is always falsy.
               :ternary (s/cat :reader #(satisfies? IPushbackReader %) :eof-error? boolean? :eof-value any?)))
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

planck/core.js:1179:
Originally at:
planck/core.cljs:494: WARNING - Left operand of || operator is always falsy.
  :args (s/cat :rdr #(satisfies? IPushbackReader %))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0 error(s), 4 warning(s)
......
### Building 1st stage Planck binary
/usr/bin/ld: CMakeFiles/planck.dir/clock.c.o:(.bss+0x0): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/planck.dir/engine.c.o:(.data+0x8): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/planck.dir/functions.c.o:(.bss+0x3e8): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/planck.dir/http.c.o:(.bss+0x0): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/planck.dir/main.c.o:(.bss+0xc0): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/planck.dir/repl.c.o:(.bss+0x88): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/planck.dir/shell.c.o:(.bss+0x0): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/planck.dir/sockets.c.o:(.bss+0x0): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/planck.dir/timers.c.o:(.bss+0x0): multiple definition of `block_until_engine_ready_failed_msg'; CMakeFiles/planck.dir/archive.c.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/planck.dir/build.make:405: planck] Error 1
make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/planck.dir/all] Error 2
make: *** [Makefile:104: all] Error 2
Build Failed.

Looks like adding extern to the block_until_engine_ready_failed_msg declaration in planck-c/engine.h resolves this.