trevorlinton / webkit.js

Pure JavaScript Port of WebKit
1.95k stars 87 forks source link

Build error: Linking globals named 'nextafter': symbol multiply defined! #41

Open Macil opened 8 years ago

Macil commented 8 years ago

It seems like I've got all of the individual source files to successfully compile. Now I'm getting a new error in the final linking step.

$ nice ./build.sh 
building webkit.js (release)
ninja: Entering directory `Release'
[1/1] SOLINK_JS obj/webkit.js, POSTBUILDS
FAILED: /Users/chris/Coding/webkit.js/install-tools/emsdk_portable/emscripten/tag-1.35.7/emcc  -s EXPORTED_FUNCTIONS="['_main','_scalefactor','_createWebKit','_setHtml','_setTransparent','_scrollBy','_resize']" --embed-files ../src/assets/fontconfig/fonts@/usr/share/fonts --embed-files ../src/assets/fontconfig/config/fonts.conf@/etc/fonts/fonts.conf --embed-files ../src/assets/fontconfig/cache@/usr/local/var/cache/fontconfig -s FULL_ES2=1 -o webkit.html -s ASM_JS=1 -s OUTLINING_LIMIT=100000 -s TOTAL_MEMORY=100663296 -O3 --llvm-opts 3 --llvm-lto 3 -g0 obj/src/webkit.WebView.o obj/src/webkit.Main.o libxml.bc libjpeg_turbo.bc libpng.bc libfreetype.bc libharfbuzz.bc libcairo.bc libcurl.bc libzlib.bc libpixman.bc libfontconfig.bc libwebcore_xml.bc libwebcore_wtf.bc libwebcore_svg.bc libwebcore_loader.bc libwebcore_html.bc libwebcore_dom.bc libwebcore_css.bc libwebcore_rendering.bc libwebcore_page.bc libwebcore_style.bc libwebcore_derived.bc libwebcore_platform.bc libwebcore_history.bc libwebcore_editing.bc libwebcore_angle.bc libwebcore_support.bc 
error: Linking globals named 'nextafter': symbol multiply defined!
Traceback (most recent call last):
  File "/Users/chris/Coding/webkit.js/install-tools/emsdk_portable/emscripten/tag-1.35.7/emcc", line 1271, in <module>
    final = shared.Building.llvm_opt(final, llvm_opts, DEFAULT_FINAL)
  File "/Users/chris/Coding/webkit.js/install-tools/emsdk_portable/emscripten/tag-1.35.7/tools/shared.py", line 1487, in llvm_opt
    assert os.path.exists(target), 'Failed to run llvm optimizations: ' + output
AssertionError: Failed to run llvm optimizations: 
ninja: build stopped: subcommand failed.
Macil commented 8 years ago

I fixed this by removing nextafter and nextafterf from src/EmscriptenSupport.cpp. Maybe they were implemented by a newer version of Emscripten?