Skip to content

File not found building port with --use-port=sdl2_image:formats=webp or formats=tif #24614

Open
@lv-99-slime

Description

@lv-99-slime

When trying to build a project with --use-port=sdl2_image:formats=webp or formats=tif, building the port fails because the header files aren't found. Neither command line arguments nor environment variables seem to be used here, so I don't know if there's anything I could do to make it work.

If I add flags += [f'-I{src_dir}/VisualC/external/include'] to create in tools/ports/sdl2_image.py, it compiles, but I don't know if that's an appropriate fix. A simple webp test works this way; I didn't check tiff beyond verifying that the same error doesn't occur.

Version of emscripten/emsdk:

emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 4.0.10 (b7dc6e5747465580df5984e723b9d1f10d8e804b)
clang version 21.0.0git (https:/github.com/llvm/llvm-project 8f7e57485ee73205e108d74abb5565d5c63beaca)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /home/user/Projects/emsdk/upstream/bin

Failing command line in full:

$ emcc main.c --use-port=sdl2 --use-port=sdl2_image:formats=webp --preload-file=image.webp -Llibwebp-1.5.0/webp_js -lwebpdecoder
cache:INFO: generating port: sysroot/lib/wasm32-emscripten/libSDL2_image-webp.a... (this will be cached in "/home/user/Projects/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libSDL2_image-webp.a" for subsequent builds)
/home/user/Projects/emsdk/upstream/emscripten/cache/ports/sdl2_image/SDL_image-release-2.6.0/IMG_webp.c:42:10: fatal error: 'webp/decode.h' file not found
   42 | #include <webp/decode.h>
      |          ^~~~~~~~~~~~~~~
1 error generated.
emcc: error: subprocess 14/19 failed (returned 1)! (cmdline: /home/user/Projects/emsdk/upstream/emscripten/emcc -c /home/user/Projects/emsdk/upstream/emscripten/cache/ports/sdl2_image/SDL_image-release-2.6.0/IMG_webp.c -o /home/user/Projects/emsdk/upstream/emscripten/cache/build/sdl2_image/wasm32_libSDL2_image-webp/IMG_webp.c.o -g -sSTRICT -Werror -ffile-prefix-map=/home/user/Projects/emsdk/upstream/emscripten=/emsdk/emscripten -ffile-prefix-map=../../../..=/emsdk/emscripten -fdebug-compilation-dir=/emsdk/emscripten -O2 -I/home/user/Projects/emsdk/upstream/emscripten/cache/ports/sdl2_image/SDL_image-release-2.6.0 -sUSE_SDL=2 -Wno-format-security -DLOAD_WEBP)
$ emcc main.c --use-port=sdl2 --use-port=sdl2_image:formats=tif
cache:INFO: generating port: sysroot/lib/wasm32-emscripten/libSDL2_image-tif.a... (this will be cached in "/home/user/Projects/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libSDL2_image-tif.a" for subsequent builds)
/home/user/Projects/emsdk/upstream/emscripten/cache/ports/sdl2_image/SDL_image-release-2.6.0/IMG_tif.c:30:10: fatal error: 'tiffio.h' file not found
   30 | #include <tiffio.h>
      |          ^~~~~~~~~~
1 error generated.
emcc: error: subprocess 10/19 failed (returned 1)! (cmdline: /home/user/Projects/emsdk/upstream/emscripten/emcc -c /home/user/Projects/emsdk/upstream/emscripten/cache/ports/sdl2_image/SDL_image-release-2.6.0/IMG_tif.c -o /home/user/Projects/emsdk/upstream/emscripten/cache/build/sdl2_image/wasm32_libSDL2_image-tif/IMG_tif.c.o -g -sSTRICT -Werror -ffile-prefix-map=/home/user/Projects/emsdk/upstream/emscripten=/emsdk/emscripten -ffile-prefix-map=../../../..=/emsdk/emscripten -fdebug-compilation-dir=/emsdk/emscripten -O2 -I/home/user/Projects/emsdk/upstream/emscripten/cache/ports/sdl2_image/SDL_image-release-2.6.0 -sUSE_SDL=2 -Wno-format-security -DLOAD_TIF)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions