Hi All,
My project built fine some time back with fastcomp and now I wanted to
catch up with upstream. Unfortunately, the command I used to build the
stuff results in duplicate symbol errors as if I wanted to build a shared
library. However, all the dependent libs are compiled to .a archives.
Here's the command (tried to copy relevant parts from the makefile):
CXXFLAGS=-std=c++11 -fPIC -pedantic -Wall
em++ ${CXXFLAGS} $$includedirs -s EXPORTED_FUNCTIONS=$$exportedfunction
$$srcfilepath $$projectdir/logger.cpp $$projectdir/sqlite_db.cpp
$$projectdir/lexer.cpp $$projectdir/sp.cpp $$projectdir/tokenpaths.cpp
$$projectdir/query_result.cpp $$projectdir/morphan_result.cpp
$$projectdir/morphan.cpp $$projectdir/transgraph.cpp $$jslibdir -lsqlite3
-lfoma -lz -lreadline -o $$absbuilddir/hi_js/embedded/hi.js --embed-file
$$jsdb --embed-file $$jsfst;
See the result (only the errors it ends up with) at the end. The
interesting thing is that all errors seem to come from libfoma.a and the
build stops with SHARED ERROR. Does anyone happen to have any hint how to
make it build?
Thanks®ards,
r0ller
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(apply.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(int_stack.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(apply.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(int_stack.o)
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(int_stack.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(topsort.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(int_stack.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(topsort.o)
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(topsort.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(flags.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(topsort.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(flags.o)
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(flags.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(determinize.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(flags.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(determinize.o)
wasm-ld: error: duplicate symbol: trans_array
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(determinize.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(minimize.o)
wasm-ld: error: duplicate symbol: trans_list
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(determinize.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(minimize.o)
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(determinize.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(minimize.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(determinize.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(minimize.o)
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(minimize.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(reverse.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(minimize.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(reverse.o)
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(reverse.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(sigma.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(reverse.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(sigma.o)
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(sigma.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(define.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(sigma.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(define.o)
wasm-ld: error: duplicate symbol: g_defines
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(define.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(io.o)
wasm-ld: error: duplicate symbol: g_defines_f
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(define.o)
>>> defined in /home/r0ller/hi/alice/hi_js/libfoma.a(io.o)
wasm-ld: error: too many errors emitted, stopping now (use -error-limit=0
to see all errors)
shared:ERROR: '/usr/pkg/bin/wasm-ld -o
/tmp/emscripten_temp_d2_aum2l/hi.wasm --allow-undefined --lto-O0
/tmp/emscripten_temp_d2_aum2l/hi.y_0.o
-L/home/r0ller/emsdk/upstream/emscripten/system/local/lib
/tmp/emscripten_temp_d2_aum2l/logger_1.o
-L/home/r0ller/emsdk/upstream/emscripten/system/lib
/tmp/emscripten_temp_d2_aum2l/sqlite_db_2.o
-L/home/r0ller/.emscripten_cache/wasm-obj
/tmp/emscripten_temp_d2_aum2l/lexer_3.o
/tmp/emscripten_temp_d2_aum2l/sp_4.o
/tmp/emscripten_temp_d2_aum2l/tokenpaths_5.o
/tmp/emscripten_temp_d2_aum2l/query_result_6.o
/tmp/emscripten_temp_d2_aum2l/morphan_result_7.o
/tmp/emscripten_temp_d2_aum2l/morphan_8.o
/tmp/emscripten_temp_d2_aum2l/transgraph_9.o -L/home/r0ller/hi/alice/hi_js
/home/r0ller/hi/alice/hi_js/libsqlite3.a
/home/r0ller/hi/alice/hi_js/libfoma.a /home/r0ller/hi/alice/hi_js/libz.a
/home/r0ller/hi/alice/hi_js/libreadline.a
/home/r0ller/.emscripten_cache/wasm-obj/libc.a
/home/r0ller/.emscripten_cache/wasm-obj/libcompiler_rt.a
/home/r0ller/.emscripten_cache/wasm-obj/libc-wasm.a
/home/r0ller/.emscripten_cache/wasm-obj/libc++-noexcept.a
/home/r0ller/.emscripten_cache/wasm-obj/libc++abi-noexcept.a
/home/r0ller/.emscripten_cache/wasm-obj/libdlmalloc.a
/home/r0ller/.emscripten_cache/wasm-obj/libpthread_stub.a
/home/r0ller/.emscripten_cache/wasm-obj/libc_rt_wasm.a
/home/r0ller/.emscripten_cache/wasm-obj/libsockets.a --import-memory
--import-table -mllvm -combiner-global-alias-analysis=false -mllvm
-enable-emscripten-sjlj -mllvm -disable-lsr --strip-debug --export
__wasm_call_ctors --export __data_end --export hi --export malloc --export
free --export setThrew --export __errno_location --export fflush --export
_ZSt18uncaught_exceptionv --export emscripten_builtin_free --export
_get_environ --export emscripten_builtin_memalign --export memalign
--export usleep --export _get_tzname --export _get_daylight --export
_get_timezone --export realloc -z stack-size=5242880
--initial-memory=16777216 --no-entry --max-memory=16777216
--global-base=1024' failed (1)
*** Error code 1
Stop.
make: stopped in /home/r0ller/hi/alice
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/emscripten-discuss/f9c54035-db3b-4acf-bc87-8aa04c28d527%40googlegroups.com.