emscripten-core / emscripten-core/emscripten
Duplicate symbol error emitted,when I use libiconv with -sMAIN_MODULE=1 (version:2.0.0)
- Dominant language
- C++
- Stars
- 27.6k
- Forks
- 3.6k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 105
Description
the error list:
```
wasm-ld: error: duplicate symbol: __ctype_get_mb_cur_max
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(__ctype_get_mb_cur_max.o)
wasm-ld: error: duplicate symbol: __errno_location
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(__errno_location.o)
wasm-ld: error: duplicate symbol: __progname
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(libc.o)
wasm-ld: error: duplicate symbol: __progname_full
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(libc.o)
wasm-ld: error: duplicate symbol: __libc
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(libc.o)
wasm-ld: error: duplicate symbol: __hwcap
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(libc.o)
wasm-ld: error: duplicate symbol: __sysinfo
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(libc.o)
wasm-ld: error: duplicate symbol: __lctrans
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(__lctrans.o)
wasm-ld: error: duplicate symbol: __lctrans_cur
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(__lctrans.o)
wasm-ld: error: duplicate symbol: __nl_langinfo_l
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(langinfo.o)
wasm-ld: error: duplicate symbol: __nl_langinfo
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/u (You can run make with `VEBOpstream/emscripten/cache/wasm-pic/libc.a(langinfo.o)
wasm-ld: error: duplicate symbol: pthread_self
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(emscripten_pthread.o)
wasm-ld: error: duplicate symbol: __emscripten_pthread_data_constructor
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(emscripten_pthread.o)
wasm-ld: error: duplicate symbol: __fsmu8
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(internal.o)
wasm-ld: error: duplicate symbol: mbrtowc
>>> defined in ../../lib/bitcode/libiconv.so
>>> defined in /opt/emsdk/upstream/emscripten/cache/wasm-pic/libc.a(mbrtowc.o)
```
libiconv.so:
is compiled used ` emconfigure ./configure `, version is 1.16.0
However, when set -sMAIN_MODULE=0 ,everything is ok!
Can you help me to solve this ploblem? I want to use dynamic link in my main program. but i do not know how to solve the porblem.
Contributor guide
Assessment
This issue has not been assessed yet.