Skip to content

Multiple issues using Emscripten to set up web client #248

@BeastFable

Description

@BeastFable

I've freshly installed Emscripten and Make on a Mac, and I'm seeing many errors running the makefile:

src/surface.c:145:5: error: call to undeclared function 'surface_gl_new'; ISO
      C99 and later do not support implicit function declarations
      [-Wimplicit-function-declaration]
  145 |     surface_gl_new(surface, width, height, limit, mud);
      |     ^
1 error generated.
make: *** [src/surface.o] Error 1

src/surface.c is missing an #include "surface-gl.c" line at the top. So I added it to my local project.

emcc: error: MIN_FIREFOX_VERSION older than 68 is not supported
make: *** [mudclient.html] Error 1

Makefile references 52 as the minimum Firefox version, so I changed it to 68.

wasm-ld: error: duplicate symbol: surface_gl_new
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_create_framebuffer
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_reset_context
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_translate_x
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_translate_y
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_quad_apply_atlas
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_quad_apply_base_atlas
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_vertex_apply_colour
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_vertex_apply_depth
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: gl_vertex_apply_rotation
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_buffer_quad
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_buffer_box
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_buffer_character
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_buffer_sprite
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_buffer_circle
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_buffer_gradient
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_blur_texture
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_update_dynamic_texture
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_apply_login_filter
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: duplicate symbol: surface_gl_draw
>>> defined in src/surface-gl.o
>>> defined in src/surface.o

wasm-ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)

This one I'm not sure how to fix, because it looks like I can't edit those .o files in a text editor. At this point I'm thinking I have a massively different version of something and it's more strict than whatever you guys are running on macOS.

macOS version Tahoe (26.2), latest version of Emscripten SDK from Git, Make version 4.2.3 macos universal

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