lightspark / lightspark

An open source flash player implementation
http://lightspark.github.io/
GNU Lesser General Public License v3.0
1.81k stars 222 forks source link

FFmpeg depreciated functions #1122

Closed notsilverhoft closed 6 months ago

notsilverhoft commented 6 months ago

In order to help us understand your issue, please follow the guide below


What is the purpose of your issue?


The following sections should be filled in based on the purpose listed above. Erase any section (the contents between triple ---) that does not apply.


If this issue is a bug report or site support request:

Provide the complete URL of the page with the issue here:

URL of page

If it is possible to download the file and run it with the command line, please provide a link to the file here:

URL of file

Provide the complete set of instructions required to reproduce the problem:

  1. Load the page.
  2. Insert second action here
  3. Insert third action, and so on

What kind of failure is your issue?

Provide the Lightspark version

Output of lightspark -v:

Paste output here

What operating system are you are running on?

How are you are running Lightspark?

Which of these actions you have taken to help debug the problem?


If this issue is a feature request:

Identify the type of request:


If this issue is a question, comment, or suggestion:

Identify the subject of this issue:


Description of your issue

Including FFmpeg version for Cross Compiling, and non-Debian-based distros

I am going to include my comment in my discussion for building with EMScripten:

Turns out it broke again with FFmpeg. I think the solution would either be to change the functions in the decoder files to more up-to-date ones or to specify which version of FFmpeg is being used. I am going to rebuild FFmpeg(Version 4.0.6) with EmScripten, and hope for the best. Unfortunately, I think I have to completely rebuild Lightspark to ensure that it works, though I still have all of the dependencies, it's just the linking of C++ files that I have to restart.

Originally posted by @notsilverhoft in https://github.com/lightspark/lightspark/discussions/1121#discussioncomment-9213697

I understand that EMScripten does not currently have native support, but I have been attempting to build all required dependencies for Lightspark, to push EMScripten support further along, my ideas for this are in the comment above.

dbluelle commented 6 months ago

Hmm, we have a lot of checks added over the years to detect which API of ffmpeg is available. For newer versions we use the LIBAVXXXX_VERSION_INT macros, but older versions where detected by using CHECK_FUNCTION_EXISTS() in the main CMakeLists.txt. So I assume one of the older checks fails and leads to using the wrong code path. Can you post the output of the first cmake command in a clean build directory?

notsilverhoft commented 6 months ago

@dbluelle Sorry, this took so long, This is my codespace shell log:

@notsilverhoft ➜ /workspaces/WasmFlash (main) $ . ./emsdk/emsdk_env.sh
Setting up EMSDK environment (suppress these messages with EMSDK_QUIET=1)
Adding directories to PATH:
PATH += /workspaces/WasmFlash/emsdk
PATH += /workspaces/WasmFlash/emsdk/upstream/emscripten

Setting environment variables:
PATH = /workspaces/WasmFlash/emsdk:/workspaces/WasmFlash/emsdk/upstream/emscripten:/usr/local/rvm/gems/ruby-3.2.3/bin:/usr/local/rvm/gems/ruby-3.2.3@global/bin:/usr/local/rvm/rubies/ruby-3.2.3/bin:/vscode/bin/linux-x64/e170252f762678dec6ca2cc69aba1570769a5d39/bin/remote-cli:/home/codespace/.local/bin:/home/codespace/.dotnet:/home/codespace/nvm/current/bin:/home/codespace/.php/current/bin:/home/codespace/.python/current/bin:/home/codespace/java/current/bin:/home/codespace/.ruby/current/bin:/usr/local/python/current/bin:/usr/local/py-utils/bin:/usr/local/oryx:/usr/local/go/bin:/go/bin:/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/sdkman/candidates/ant/current/bin:/usr/local/rvm/gems/default/bin:/usr/local/rvm/gems/default@global/bin:/usr/local/rvm/rubies/default/bin:/usr/local/share/rbenv/bin:/usr/local/php/current/bin:/opt/conda/bin:/usr/local/nvs:/usr/local/share/nvm/versions/node/v20.11.1/bin:/usr/local/hugo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/share/dotnet:/home/codespace/.dotnet/tools:/usr/local/rvm/bin
EMSDK = /workspaces/WasmFlash/emsdk
EMSDK_NODE = /workspaces/WasmFlash/emsdk/node/16.20.0_64bit/bin/node
@notsilverhoft ➜ /workspaces/WasmFlash (main) $ cd lightspark/build
@notsilverhoft ➜ /workspaces/WasmFlash/lightspark/build (master) $ emcmake cmake -DCMAKE_BUILD_TYPE=Release ..
configure: cmake -DCMAKE_BUILD_TYPE=Release .. -DCMAKE_TOOLCHAIN_FILE=/workspaces/WasmFlash/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/workspaces/WasmFlash/emsdk/node/16.20.0_64bit/bin/node
-- Gnash not found
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.3") 
-- Checking for module 'liblzma'
--   Package 'liblzma', required by 'virtual:world', not found
CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:463 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:643 (_pkg_check_modules_internal)
  CMakeLists.txt:290 (pkg_check_modules)

-- Configuring incomplete, errors occurred!
See also "/workspaces/WasmFlash/lightspark/build/CMakeFiles/CMakeOutput.log".
emcmake: error: 'cmake -DCMAKE_BUILD_TYPE=Release .. -DCMAKE_TOOLCHAIN_FILE=/workspaces/WasmFlash/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/workspaces/WasmFlash/emsdk/node/16.20.0_64bit/bin/node' failed (returned 1)
@notsilverhoft ➜ /workspaces/WasmFlash/lightspark/build (master) $ export PKG_CONFIG_PATH=/workspaces/WasmFlash/PKGCONFIG/cairo/build/lib/pkgconfig:/workspaces/WasmFlash/PKGCONFIG/curl/build/lib/pkgconfig:/workspaces/WasmFlash/PKGCONFIG/FFmpeg/build/lib/pkgconfig:/workspaces/WasmFlash/PKGCONFIG/liblzma/build/liblzma/lib/pkgconfig:/workspaces/WasmFlash/PKGCONFIG/openssl/build/usr/local/lib64/pkgconfig:/workspaces/WasmFlash/PKGCONFIG/SDL2/SDL2/lib/pkgconfig
@notsilverhoft ➜ /workspaces/WasmFlash/lightspark/build (master) $ emcmake cmake -DCMAKE_BUILD_TYPE=Release ..
configure: cmake -DCMAKE_BUILD_TYPE=Release .. -DCMAKE_TOOLCHAIN_FILE=/workspaces/WasmFlash/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/workspaces/WasmFlash/emsdk/node/16.20.0_64bit/bin/node
-- Gnash not found
-- Checking for module 'liblzma'
--   Found liblzma, version 5.0.4
-- Checking for modules 'cairo;pangocairo'
--   Found cairo, version 1.17.8
--   Found pangocairo, version 1.50.14
-- Checking for modules 'egl;glesv2'
--   Found egl, version 10.2.2
--   Found glesv2, version 10.2.2
-- Checking for modules 'libavcodec;libavutil;libavformat'
--   Found libavcodec, version 58.18.100
--   Found libavutil, version 56.14.100
--   Found libavformat, version 58.12.100
-- Checking for module 'libswresample'
--   Found libswresample, version 3.1.100
-- Looking for avcodec_decode_video2
-- Looking for avcodec_decode_video2 - not found
-- Looking for avcodec_decode_audio3
-- Looking for avcodec_decode_audio3 - not found
-- Looking for avcodec_decode_audio4
-- Looking for avcodec_decode_audio4 - not found
-- Looking for avio_alloc_context
-- Looking for avio_alloc_context - not found
-- Looking for avcodec_alloc_context3
-- Looking for avcodec_alloc_context3 - not found
-- Looking for avcodec_open2
-- Looking for avcodec_open2 - not found
-- Looking for avformat_close_input
-- Looking for avformat_close_input - not found
-- Looking for avformat_find_stream_info
-- Looking for avformat_find_stream_info - not found
-- Looking for av_frame_alloc
-- Looking for av_frame_alloc - not found
-- Looking for av_frame_unref
-- Looking for av_frame_unref - not found
-- Looking for av_packet_unref
-- Looking for av_packet_unref - not found
-- Looking for avcodec_send_packet
-- Looking for avcodec_send_packet - not found
-- Looking for avcodec_receive_frame
-- Looking for avcodec_receive_frame - not found
-- Looking for av_frame_get_sample_rate
-- Looking for av_frame_get_sample_rate - not found
-- Performing Test HAVE_AVCODECID
-- Performing Test HAVE_AVCODECID - Failed
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.76.1
-- Checking for module 'sdl2'
--   Found sdl2, version 2.0.6
-- Checking for module 'libcurl'
--   Found libcurl, version 8.8.0-DEV
-- Looking for C++ include atomic
-- Looking for C++ include atomic - not found
-- Configuring done
-- Generating done
-- Build files have been written to: /workspaces/WasmFlash/lightspark/build

I don't know where the check for FFmpeg is, but I do see the API listed as not found, I did install FFmpeg, but from the git repository, and the version I have is older (I thought they might have been supported in an older version), so I got it from the archives. If it's because of FFmpeg, what version would I want to build?

dbluelle commented 6 months ago

OK, cmake does detect ffmpeg (that's the Checking for modules 'libavcodec;libavutil;libavformat part), but it doesn't detect any of the ffmpeg methods (that's Looking for avcodec_decode_video2 etc.) for some reason. I've just committed a patch to fix this by using the ffmpeg versioning scheme to detect all needed APIs. Can you build with the latest git and check if this works?

notsilverhoft commented 6 months ago

I am currently trying to move all of my work, my codespace expired, I will get back to you, once I am done.

notsilverhoft commented 6 months ago

Ok, I have built Lightspark again, and everything seems to be going well:

ubuntu@runcode:~/workspace/lightspark/build$ emcmake cmake -DCMAKE_BUILD_TYPE=Release ..
configure: cmake -DCMAKE_BUILD_TYPE=Release .. -DCMAKE_TOOLCHAIN_FILE=/home/ubuntu/workspace/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/home/ubuntu/workspace/emsdk/node/16.20.0_64bit/bin/node
-- Gnash not found
-- Found PkgConfig: /bin/pkg-config (found version "0.29.1") 
-- Checking for module 'liblzma'
--   Found liblzma, version 5.0.4
-- Checking for modules 'cairo;pangocairo'
--   Found cairo, version 1.17.8
--   Found pangocairo, version 1.50.14
-- Checking for modules 'egl;glesv2'
--   Found egl, version 10.2.2
--   Found glesv2, version 10.2.2
-- Checking for modules 'libavcodec;libavutil;libavformat'
--   Found libavcodec, version 61.5.103
--   Found libavutil, version 59.16.101
--   Found libavformat, version 61.3.103
-- Checking for module 'libswresample'
--   Found libswresample, version 5.2.100
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.76.1
-- Checking for module 'sdl2'
--   Found sdl2, version 2.0.6
-- Checking for module 'libcurl'
--   Found libcurl, version 8.8.0-DEV
-- Checking for module 'librtmp'
--   Found librtmp, version v2.4
-- Looking for C++ include atomic
-- Looking for C++ include atomic - not found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/workspace/lightspark/build

I will see if make works, also side note, do I need to worry about atomic? I can't seem to find where I could build it.

dbluelle commented 6 months ago

Hmm, I don't know. It looks like something for multithreading support is missing. Maybe you have to make sure to use emscripten with multithreading enabled.

notsilverhoft commented 6 months ago

I used the -pthread flag to enable the multithreading. Atomic did link, but there seems to be some more libraries that haven't:

ubuntu@runcode:~/workspace/lightspark/build$ cmake -DCMAKE_BUILD_TYPE=Release -pthread ..
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test GCC_IS_4_6
-- Performing Test GCC_IS_4_6 - Success
-- Gnash not found
-- The ASM-NASM compiler identification is NASM
-- Found assembler: /bin/nasm
-- Found PkgConfig: /bin/pkg-config (found version "0.29.1") 
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Could NOT find Freetype (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS) 
-- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR) 
-- Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR) 
-- Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY OPENGL_glx_LIBRARY OPENGL_INCLUDE_DIR) 
-- Could NOT find GLEW (missing: GLEW_LIBRARY GLEW_INCLUDE_DIR) 
-- Checking for module 'liblzma'
--   Found liblzma, version 5.0.4
-- Checking for modules 'cairo;pangocairo'
--   Found cairo, version 1.17.8
--   Found pangocairo, version 1.50.14
-- Checking for modules 'libavcodec;libavutil;libavformat'
--   Found libavcodec, version 61.5.103
--   Found libavutil, version 59.16.101
--   Found libavformat, version 61.3.103
-- Checking for module 'libswresample'
--   Found libswresample, version 5.2.100
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.76.1
-- Checking for module 'sdl2'
--   Found sdl2, version 2.0.6
-- Checking for module 'libcurl'
--   Found libcurl, version 8.8.0-DEV
-- Checking for module 'librtmp'
--   Found librtmp, version v2.4
-- Looking for C++ include atomic
-- Looking for C++ include atomic - found
-- Checking for module 'x11'
--   Found x11, version 1.6.9
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
FREETYPE_LIBRARY (ADVANCED)
    linked by target "spark" in directory /home/ubuntu/workspace/lightspark/src
GLEW_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
JPEG_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
JPEG_LIBRARY (ADVANCED)
    linked by target "spark" in directory /home/ubuntu/workspace/lightspark/src
OPENGL_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
   used as include directory in directory /home/ubuntu/workspace/lightspark/src/plugin_ppapi
PNG_LIBRARY (ADVANCED)
    linked by target "spark" in directory /home/ubuntu/workspace/lightspark/src

-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/workspace/lightspark/build/CMakeFiles/CMakeOutput.log".
See also "/home/ubuntu/workspace/lightspark/build/CMakeFiles/CMakeError.log".

I will attempt to build these now.

notsilverhoft commented 6 months ago

I am done with CMake, and I moved on to Make, there didn't seem to be any issues until I reached the audio backend file:

ubuntu@runcode:~/workspace/lightspark/build$ emmake make
make: make
Scanning dependencies of target spark
[  1%] Building CXX object src/CMakeFiles/spark.dir/allclasses.cpp.o
[  1%] Building CXX object src/CMakeFiles/spark.dir/asobject.cpp.o
In file included from /home/ubuntu/workspace/lightspark/src/scripting/flash/net/flashnet.h:33,
                 from /home/ubuntu/workspace/lightspark/src/asobject.cpp:37:
/home/ubuntu/workspace/lightspark/src/backends/audio.h:47:2: error: ‘SDL_AudioDeviceID’ does not name a type
   47 |  SDL_AudioDeviceID device;
      |  ^~~~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/spark.dir/build.make:76: src/CMakeFiles/spark.dir/asobject.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:192: src/CMakeFiles/spark.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
emmake: error: 'make' failed (returned 2)
ubuntu@runcode:~/workspace/lightspark/build$ 

I don't know what this is doing, so I didn't mess with it.

dbluelle commented 6 months ago

Hmm, SDL_AudioDeviceID is defined in the SDL2 lib so maybe you don't have the path to "SDL2/SDL.h" defined as an include path in your Makefile

notsilverhoft commented 6 months ago

I did build it myself, but there is an SDL.h file in the include path. You could be right about the makefile though, I have been editing each file that throws an error, with the exact paths of included C++ and .h files. I have linked the SDL.h file in that same file, does make need to link it too? If so, how would I fix it? I know I can change environment variables, I know there is an SDL2 port for EMscripten, so maybe that will work better than my own build.

EDIT: I was able to solve this, I was including SDL_vulkan.h, a silly mistake, I copied the wrong path, sorry for the confusion.

notsilverhoft commented 6 months ago

Update:

ubuntu@runcode:~/workspace/lightspark/build$ emmake make
make: make
Scanning dependencies of target spark
[  1%] Building CXX object src/CMakeFiles/spark.dir/backends/config.cpp.o
[  1%] Building CXX object src/CMakeFiles/spark.dir/backends/currency.cpp.o
[  1%] Building CXX object src/CMakeFiles/spark.dir/backends/decoder.cpp.o
/home/ubuntu/workspace/lightspark/src/backends/decoder.cpp: In member function ‘virtual void lightspark::FFMpegVideoDecoder::switchCodec(lightspark::LS_VIDEO_CODEC, uint8_t*, uint32_t, double)’:
/home/ubuntu/workspace/lightspark/src/backends/decoder.cpp:189:29: warning: ‘int avcodec_close(AVCodecContext*)’ is deprecated [-Wdeprecated-declarations]
  189 |   avcodec_close(codecContext);
      |                             ^
In file included from /home/ubuntu/workspace/lightspark/src/backends/decoder.h:29,
                 from /home/ubuntu/workspace/lightspark/src/backends/decoder.cpp:23:
/home/ubuntu/workspace/lightspark/src/backends/../../../PKGCONFIG/FFmpeg/build/include/libavcodec/avcodec.h:2387:5: note: declared here
 2387 | int avcodec_close(AVCodecContext *avctx);
      |     ^~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/backends/decoder.cpp:189:29: warning: ‘int avcodec_close(AVCodecContext*)’ is deprecated [-Wdeprecated-declarations]
  189 |   avcodec_close(codecContext);
      |                             ^
In file included from /home/ubuntu/workspace/lightspark/src/backends/decoder.h:29,
                 from /home/ubuntu/workspace/lightspark/src/backends/decoder.cpp:23:
/home/ubuntu/workspace/lightspark/src/backends/../../../PKGCONFIG/FFmpeg/build/include/libavcodec/avcodec.h:2387:5: note: declared here
 2387 | int avcodec_close(AVCodecContext *avctx);
      |     ^~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/backends/decoder.cpp: In destructor ‘virtual lightspark::FFMpegVideoDecoder::~FFMpegVideoDecoder()’:
/home/ubuntu/workspace/lightspark/src/backends/decoder.cpp:348:28: warning: ‘int avcodec_close(AVCodecContext*)’ is deprecated [-Wdeprecated-declarations]
  348 |  avcodec_close(codecContext);
      |                            ^
In file included from /home/ubuntu/workspace/lightspark/src/backends/decoder.h:29,
                 from /home/ubuntu/workspace/lightspark/src/backends/decoder.cpp:23:
/home/ubuntu/workspace/lightspark/src/backends/../../../PKGCONFIG/FFmpeg/build/include/libavcodec/avcodec.h:2387:5: note: declared here
 2387 | int avcodec_close(AVCodecContext *avctx);
      |     ^~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/backends/decoder.cpp:348:28: warning: ‘int avcodec_close(AVCodecContext*)’ is deprecated [-Wdeprecated-declarations]
  348 |  avcodec_close(codecContext);
      |                            ^
In file included from /home/ubuntu/workspace/lightspark/src/backends/decoder.h:29,
                 from /home/ubuntu/workspace/lightspark/src/backends/decoder.cpp:23:
/home/ubuntu/workspace/lightspark/src/backends/../../../PKGCONFIG/FFmpeg/build/include/libavcodec/avcodec.h:2387:5: note: declared here
 2387 | int avcodec_close(AVCodecContext *avctx);
      |     ^~~~~~~~~~~~~
[  2%] Building CXX object src/CMakeFiles/spark.dir/backends/extscriptobject.cpp.o

So far so good...

dbluelle commented 6 months ago

I think I've found the reason for the SDL_AudioDeviceID issue. It's because we used #include <SDL2/sdl.h> instead of the correct way #include <SDL.h> . I've changed this, so now the SDL stuff should properly compile without any workarounds. I've also fixed the warnings from ffmpeg you've mentioned above. That's a good catch because we were using a method that according to ffmpeg shouldn't be used since 2014 (and it will be deprecated in the next version of ffmpeg).

notsilverhoft commented 6 months ago

Ok, I have been able to use Make, and it is working until the end, I will add the output after this next run in an edit.

Edit:

ubuntu@runcode:~/workspace/lightspark/build$ emmake make
make: make
[100%] Built target spark
Scanning dependencies of target lightspark
[100%] Building CXX object src/CMakeFiles/lightspark.dir/main.cpp.o
In file included from /home/ubuntu/workspace/lightspark/src/main.cpp:29:
/home/ubuntu/workspace/lightspark/src/scripting/flash/utils/ByteArray.h:259:11: warning: shift count >= width of type [-Wshift-count-overflow]
  259 |                         return GUINT64_TO_BE(value);
      |                                ^~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/../../../lib/glib-2.0/include/glibconfig.h:173:29: note: expanded from macro 'GUINT64_TO_BE'
  173 | #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:391:40: note: expanded from macro 'GUINT64_SWAP_LE_BE'
  391 | #      define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:230:53: note: expanded from macro 'GUINT64_SWAP_LE_BE_CONSTANT'
  230 |         (guint64) G_GINT64_CONSTANT (0x00000000000000ffU)) << 56) |     \
      |                                                            ^  ~~
In file included from /home/ubuntu/workspace/lightspark/src/main.cpp:29:
/home/ubuntu/workspace/lightspark/src/scripting/flash/utils/ByteArray.h:259:11: warning: shift count >= width of type [-Wshift-count-overflow]
  259 |                         return GUINT64_TO_BE(value);
      |                                ^~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/../../../lib/glib-2.0/include/glibconfig.h:173:29: note: expanded from macro 'GUINT64_TO_BE'
  173 | #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:391:40: note: expanded from macro 'GUINT64_SWAP_LE_BE'
  391 | #      define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:232:53: note: expanded from macro 'GUINT64_SWAP_LE_BE_CONSTANT'
  232 |         (guint64) G_GINT64_CONSTANT (0x000000000000ff00U)) << 40) |     \
      |                                                            ^  ~~
In file included from /home/ubuntu/workspace/lightspark/src/main.cpp:29:
/home/ubuntu/workspace/lightspark/src/scripting/flash/utils/ByteArray.h:259:11: warning: shift count >= width of type [-Wshift-count-overflow]
  259 |                         return GUINT64_TO_BE(value);
      |                                ^~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/../../../lib/glib-2.0/include/glibconfig.h:173:29: note: expanded from macro 'GUINT64_TO_BE'
  173 | #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:391:40: note: expanded from macro 'GUINT64_SWAP_LE_BE'
  391 | #      define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:242:53: note: expanded from macro 'GUINT64_SWAP_LE_BE_CONSTANT'
  242 |         (guint64) G_GINT64_CONSTANT (0x00ff000000000000U)) >> 40) |     \
      |                                                            ^  ~~
In file included from /home/ubuntu/workspace/lightspark/src/main.cpp:29:
/home/ubuntu/workspace/lightspark/src/scripting/flash/utils/ByteArray.h:259:11: warning: shift count >= width of type [-Wshift-count-overflow]
  259 |                         return GUINT64_TO_BE(value);
      |                                ^~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/../../../lib/glib-2.0/include/glibconfig.h:173:29: note: expanded from macro 'GUINT64_TO_BE'
  173 | #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:391:40: note: expanded from macro 'GUINT64_SWAP_LE_BE'
  391 | #      define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:244:53: note: expanded from macro 'GUINT64_SWAP_LE_BE_CONSTANT'
  244 |         (guint64) G_GINT64_CONSTANT (0xff00000000000000U)) >> 56)))
      |                                                            ^  ~~
In file included from /home/ubuntu/workspace/lightspark/src/main.cpp:29:
/home/ubuntu/workspace/lightspark/src/scripting/flash/utils/ByteArray.h:281:11: warning: shift count >= width of type [-Wshift-count-overflow]
  281 |                         return GUINT64_FROM_BE(value);
      |                                ^~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:424:31: note: expanded from macro 'GUINT64_FROM_BE'
  424 | #define GUINT64_FROM_BE(val)    (GUINT64_TO_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/../../../lib/glib-2.0/include/glibconfig.h:173:29: note: expanded from macro 'GUINT64_TO_BE'
  173 | #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:391:40: note: expanded from macro 'GUINT64_SWAP_LE_BE'
  391 | #      define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:230:53: note: expanded from macro 'GUINT64_SWAP_LE_BE_CONSTANT'
  230 |         (guint64) G_GINT64_CONSTANT (0x00000000000000ffU)) << 56) |     \
      |                                                            ^  ~~
In file included from /home/ubuntu/workspace/lightspark/src/main.cpp:29:
/home/ubuntu/workspace/lightspark/src/scripting/flash/utils/ByteArray.h:281:11: warning: shift count >= width of type [-Wshift-count-overflow]
  281 |                         return GUINT64_FROM_BE(value);
      |                                ^~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:424:31: note: expanded from macro 'GUINT64_FROM_BE'
  424 | #define GUINT64_FROM_BE(val)    (GUINT64_TO_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/../../../lib/glib-2.0/include/glibconfig.h:173:29: note: expanded from macro 'GUINT64_TO_BE'
  173 | #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:391:40: note: expanded from macro 'GUINT64_SWAP_LE_BE'
  391 | #      define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:232:53: note: expanded from macro 'GUINT64_SWAP_LE_BE_CONSTANT'
  232 |         (guint64) G_GINT64_CONSTANT (0x000000000000ff00U)) << 40) |     \
      |                                                            ^  ~~
In file included from /home/ubuntu/workspace/lightspark/src/main.cpp:29:
/home/ubuntu/workspace/lightspark/src/scripting/flash/utils/ByteArray.h:281:11: warning: shift count >= width of type [-Wshift-count-overflow]
  281 |                         return GUINT64_FROM_BE(value);
      |                                ^~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:424:31: note: expanded from macro 'GUINT64_FROM_BE'
  424 | #define GUINT64_FROM_BE(val)    (GUINT64_TO_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/../../../lib/glib-2.0/include/glibconfig.h:173:29: note: expanded from macro 'GUINT64_TO_BE'
  173 | #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:391:40: note: expanded from macro 'GUINT64_SWAP_LE_BE'
  391 | #      define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:242:53: note: expanded from macro 'GUINT64_SWAP_LE_BE_CONSTANT'
  242 |         (guint64) G_GINT64_CONSTANT (0x00ff000000000000U)) >> 40) |     \
      |                                                            ^  ~~
In file included from /home/ubuntu/workspace/lightspark/src/main.cpp:29:
/home/ubuntu/workspace/lightspark/src/scripting/flash/utils/ByteArray.h:281:11: warning: shift count >= width of type [-Wshift-count-overflow]
  281 |                         return GUINT64_FROM_BE(value);
      |                                ^~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:424:31: note: expanded from macro 'GUINT64_FROM_BE'
  424 | #define GUINT64_FROM_BE(val)    (GUINT64_TO_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/../../../lib/glib-2.0/include/glibconfig.h:173:29: note: expanded from macro 'GUINT64_TO_BE'
  173 | #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:391:40: note: expanded from macro 'GUINT64_SWAP_LE_BE'
  391 | #      define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/workspace/lightspark/src/../../PKGCONFIG/cairo/build/include/glib-2.0/glib/gtypes.h:244:53: note: expanded from macro 'GUINT64_SWAP_LE_BE_CONSTANT'
  244 |         (guint64) G_GINT64_CONSTANT (0xff00000000000000U)) >> 56)))
      |                                                            ^  ~~
/home/ubuntu/workspace/lightspark/src/main.cpp:377:7: warning: 'FilGetDirectoryListing' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
  377 |         bool FilGetDirectoryListing(SystemState* sys, const tiny_string &filename, bool isfullpath, std::vector<tiny_string>& filelist)
      |              ^
/home/ubuntu/workspace/lightspark/src/platforms/engineutils.h:209:15: note: overridden virtual function is here
  209 |         virtual bool FilGetDirectoryListing(SystemState* sys, const tiny_string &filename, bool isfullpath, std::vector<tiny_string>& filelist);
      |                      ^
9 warnings generated.
[100%] Linking CXX executable ../x86/Release/bin/lightspark.html
cache:INFO: generating system asset: symbol_lists/b9c5cdd4bf454e04dce6746d45346850142a0cac.json... (this will be cached in "/home/ubuntu/workspace/emsdk/upstream/emscripten/cache/symbol_lists/b9c5cdd4bf454e04dce6746d45346850142a0cac.json" for subsequent builds)
cache:INFO:  - ok
wasm-ld: error: unknown argument: --as-needed
wasm-ld: error: unknown argument: --no-undefined
wasm-ld: error: unable to find library -lpangocairo-1.0
wasm-ld: error: unable to find library -lpangoft2-1.0
wasm-ld: error: unable to find library -lpango-1.0
wasm-ld: error: unable to find library -lgio-2.0
wasm-ld: error: unable to find library -lgobject-2.0
wasm-ld: error: unable to find library -lffi
wasm-ld: error: unable to find library -lgmodule-2.0
wasm-ld: error: unable to find library -lglib-2.0
wasm-ld: error: unable to find library -lfribidi
wasm-ld: error: unable to find library -lcairo
wasm-ld: error: unable to find library -lfontconfig
wasm-ld: error: unable to find library -lpng16
wasm-ld: error: unable to find library -lpixman-1
wasm-ld: error: unable to find library -llzma
wasm-ld: error: unable to find library -lavformat
wasm-ld: error: unable to find library -latomic
wasm-ld: error: unable to find library -lavcodec
wasm-ld: error: unable to find library -lswresample
wasm-ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
em++: error: '/home/ubuntu/workspace/emsdk/upstream/bin/wasm-ld -o ../x86/Release/bin/lightspark.wasm --as-needed --no-undefined -s CMakeFiles/lightspark.dir/main.cpp.o libspark.a -lpangocairo-1.0 -lpangoft2-1.0 -lpango-1.0 -lgio-2.0 -lgobject-2.0 -lffi -lgmodule-2.0 -lglib-2.0 -lfribidi /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libharfbuzz.a -lcairo -lfontconfig /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libfreetype.a /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a -lpng16 -lpixman-1 -llzma -lavformat -latomic -lavcodec -lswresample -lavutil -lcurl -lcrypt32 -lrtmp -lpangoft2-1.0 -lpango-1.0 -lgio-2.0 -lgobject-2.0 -lffi -lgmodule-2.0 -lglib-2.0 -lfribidi /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libharfbuzz.a -lcairo -lfontconfig /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libfreetype.a /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a -lpng16 -lpixman-1 -llzma -lavformat -latomic -lavcodec -lswresample -lavutil -lcurl -lcrypt32 -lrtmp -lgmp /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libSDL2.a -L/home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libSDL2.a /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libfreetype.a /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libjpeg.a /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libpng.a /home/ubuntu/workspace/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a -lGL-getprocaddr -lal -lhtml5 -lstubs -lnoexit -lc -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-noexcept -lsockets --keep-section=target_features -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp5ssdm1bklibemscripten_js_symbols.so --strip-debug --export=_emscripten_stack_alloc --export=__get_temp_ret --export=__set_temp_ret --export=__wasm_call_ctors --export=emscripten_stack_get_current --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --table-base=1 --global-base=1024' failed (returned 1)
make[2]: *** [src/CMakeFiles/lightspark.dir/build.make:88: x86/Release/bin/lightspark.html] Error 1
make[1]: *** [CMakeFiles/Makefile2:124: src/CMakeFiles/lightspark.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
emmake: error: 'make' failed (returned 2)
notsilverhoft commented 6 months ago

Major update, I solved the issue, and I am almost done solving some EMscripten bit code issues, I will leave more details with progress, but If you'd like, I can make a fork, and work on compatibility.

Also I fixed the issue above by changing linklibs.rsp, and link.txt files, in the lightspark cmakefiles directory.

notsilverhoft commented 6 months ago

I am going to close, I was able to build it, and I am attempting to see if it runs properly in the browser.

notsilverhoft commented 6 months ago

I will continue in the discussion.