Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDL2_mixer fails on Windows even with 1.39.4 #9961

Closed
ryryryryryryryry opened this issue Dec 5, 2019 · 6 comments · Fixed by #9982
Closed

SDL2_mixer fails on Windows even with 1.39.4 #9961

ryryryryryryryry opened this issue Dec 5, 2019 · 6 comments · Fixed by #9982

Comments

@ryryryryryryryry
Copy link

Compared to 1.39.3, error messages are certainly reduced.
But it still doesn't compile.

root:INFO: building port: sdl2_mixer
Traceback (most recent call last):
  File "C:\Program Files\emsdk\upstream\emscripten\emcc.py", line 3704, in 
    sys.exit(run(sys.argv))
  File "C:\Program Files\emsdk\upstream\emscripten\emcc.py", line 1960, in run
    compile_source_file(i, input_file)
  File "C:\Program Files\emsdk\upstream\emscripten\emcc.py", line 1942, in compile_source_file
    cmd = get_clang_command([input_file]) + ['-c', '-o', output_file]
  File "C:\Program Files\emsdk\upstream\emscripten\emcc.py", line 1913, in get_clang_command
    args = system_libs.process_args(args, shared.Settings)
  File "C:\Program Files\emsdk\upstream\emscripten\tools\system_libs.py", line 1762, in process_args
    args = port.process_args(Ports, args, settings, shared)
  File "C:\Program Files\emsdk\upstream\emscripten\tools\ports\sdl2_mixer.py", line 57, in process_args
    get(ports, settings, shared)
  File "C:\Program Files\emsdk\upstream\emscripten\tools\ports\sdl2_mixer.py", line 42, in get
    return [shared.Cache.get(libname, create, what='port')]
  File "C:\Program Files\emsdk\upstream\emscripten\tools\cache.py", line 133, in get
    temp = creator()
  File "C:\Program Files\emsdk\upstream\emscripten\tools\ports\sdl2_mixer.py", line 32, in create
    os.symlink(dest_path, os.path.join(dest_path, 'SDL2'))
AttributeError: 'module' object has no attribute 'symlink'
make: *** [main.o] Error 1

by Windows10

@kripken
Copy link
Member

kripken commented Dec 5, 2019

Thanks @mrj0721 , looks like #9933 didn't fix this completely, then.

The docs suggest os.symlink should be present on windows, though - what version of python are you using?

@sbc100
Copy link
Collaborator

sbc100 commented Dec 5, 2019

I don't think windows generally supports symbol links. We should probably not depend on them.

@Oipo can you take a look? Looks like this was introduced in #9849. Sorry i didn't catch it at the time. Still its closer to working on windows that before :)

@ryryryryryryryry
Copy link
Author

Thanks @mrj0721 , looks like #9933 didn't fix this completely, then.

The docs suggest os.symlink should be present on windows, though - what version of python are you using?

python-2.7.13.1-64bit

@Oipo
Copy link
Contributor

Oipo commented Dec 6, 2019

The python docs for v2.7 suggest that it is not available for windows. Selecting version 3.5 of the docs shows that somewhere between 2.7 and 3.5, windows support has been added.

If emscripten wants to continue to support the deprecated version 2.7 past its duedate in 2020, that'll be a big burden. My suggestion is to make python 3.5 or later a hard requirement instead.

@sbc100
Copy link
Collaborator

sbc100 commented Dec 6, 2019

Requiring python 3.5 is not something we can do easily right now. Even with 3.5 I think symlinks work well on windows in general.
I think its best we don't depend on symbols for now. Sorry.

@Oipo
Copy link
Contributor

Oipo commented Dec 6, 2019

I disagree with that notion. I managed to track down when it was actually implemented: 2010, version 3.2. Vista and up have proper support for symlinks.

Regardless, I started a new job this week and won't be having time for this until after Christmas.

sbc100 added a commit that referenced this issue Dec 6, 2019
This avoid use of symlink and avoids exposing the ensure source tree
on the include path or sdl_mixer users.

Fixes: #9961
sbc100 added a commit that referenced this issue Dec 6, 2019
This avoid use of symlink and avoids exposing the ensure source tree
on the include path or sdl_mixer users.

Fixes: #9961
belraquib pushed a commit to belraquib/emscripten that referenced this issue Dec 23, 2020
This avoid use of symlink and avoids exposing the ensure source tree
on the include path or sdl_mixer users.

Fixes: emscripten-core#9961
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants