[MacPorts] #71251: Neither address sanitizer, nor LTO builds work with emscripten

MacPorts noreply at macports.org
Wed Nov 6 11:11:25 UTC 2024


#71251: Neither address sanitizer, nor LTO builds work with emscripten
--------------------------+------------------------
 Reporter:  CodingMarkus  |      Owner:  (none)
     Type:  defect        |     Status:  new
 Priority:  Normal        |  Milestone:
Component:  ports         |    Version:
 Keywords:                |       Port:  emscripten
--------------------------+------------------------
 Neither address sanitizer, nor LTO builds work with the emscripten version
 MacPorts provide.

 When using an emsdk build, it's no problem to use either

 {{{
 -fsanitizer=address
 }}}

 or

 {{{
 -flto=thin
 }}}

 when creating an emscripten build.

 But when I try the same thing with emscripten installed by MacPorts, I get

 {{{
 raceback (most recent call last):
   File "/opt/local/bin/emcc.py", line 1613, in <module>
     sys.exit(main(sys.argv))
   File
 "/Applications/Xcode_16.0.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/contextlib.py",
 line 79, in inner
     return func(*args, **kwds)
   File "/opt/local/bin/emcc.py", line 1606, in main
     ret = run(args)
   File "/opt/local/bin/emcc.py", line 662, in run
     return link.run(linker_inputs, options, state, newargs)
   File "/opt/local/libexec/emscripten/tools/link.py", line 3065, in run
     phase_calculate_system_libraries(linker_arguments, newargs)
   File
 "/Applications/Xcode_16.0.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/contextlib.py",
 line 79, in inner
     return func(*args, **kwds)
   File "/opt/local/libexec/emscripten/tools/link.py", line 1834, in
 phase_calculate_system_libraries
     extra_files_to_link += system_libs.calculate(newargs)
   File "/opt/local/libexec/emscripten/tools/system_libs.py", line 2409, in
 calculate
     libs_to_link = get_libs_to_link(args)
   File "/opt/local/libexec/emscripten/tools/system_libs.py", line 2364, in
 get_libs_to_link
     add_library('libc')
   File "/opt/local/libexec/emscripten/tools/system_libs.py", line 2279, in
 add_library
     libs_to_link.append((lib.get_link_flag(), need_whole_archive))
   File "/opt/local/libexec/emscripten/tools/system_libs.py", line 443, in
 get_link_flag
     fullpath = self.build()
   File "/opt/local/libexec/emscripten/tools/system_libs.py", line 430, in
 build
     return cache.get(self.get_path(), self.do_build, force=USE_NINJA == 2,
 quiet=USE_NINJA)
   File "/opt/local/libexec/emscripten/tools/cache.py", line 155, in get
     raise Exception(f'FROZEN_CACHE is set, but cache file is missing:
 "{shortname}" (in cache root path "{cachedir}")')
 Exception: FROZEN_CACHE is set, but cache file is missing:
 "sysroot/lib/wasm32-emscripten/libc-asan-debug.a" (in cache root path
 "/opt/local/libexec/emscripten/cache")
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/71251>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list