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

Problem to the SDL simulator under windows #119

Open
Darenn opened this issue Jan 11, 2021 · 14 comments
Open

Problem to the SDL simulator under windows #119

Darenn opened this issue Jan 11, 2021 · 14 comments

Comments

@Darenn
Copy link

Darenn commented Jan 11, 2021

Ask any question, you have, regarding the library
Hi!

Thanks for this great library.
I'm under windows and trying to use the SDL simulator.

I've followed the installation instructions, and I'm able to compile and run the example SDL project that is in the tutorial linked. But I'm stuck with an error when trying to run the command build_and_run.bat "games/lode_runner".

Find attached the error I get log.txt.
Can you help me find what did I do wrong?

Thanks by advance!

@lexus2k
Copy link
Owner

lexus2k commented Jan 12, 2021

@Darenn

Hi, I'm sorry for that, it seems that batch script is outdated, and maybe I need to create CMakeLists.txt file for the project.
Regarding the log file:

gcc -std=c99 -I. -g -Os -Wall -Werror -ffunction-sections -fdata-sections -fno-exceptions -Wno-error=deprecated-declarations -c -o sdl_core.o sdl_core.c
: recipe for target 'sdl_core.o' failed

Do you have more logs? I see some generic error without any details.
Did you install SDL2 libraries?

Best regards

@Darenn
Copy link
Author

Darenn commented Jan 13, 2021

@lexus2k thanks for your quick answer!

It's the error message I get when executing the command build_and_run.bat "games/lode_runner" > log.txt.
Do you know how I can get you more precise logs?

Yes I think I've installed the SDL2 correctly. As said in the tutorial you linked, I copied the content of the sld2 folder in one of my folder, and I'm able to correctly compile and run the example given by specifying this folder on the compilation line in include (folder is at : D:\Dev\mingw_lib\i686-w64-mingw32).

Maybe I missed a step? it's true that I don't get how the batch/make can know where I installed the SDL2 without me specifying it. I don't see any more setup in the tutorial.

Thanks again!

lexus2k pushed a commit that referenced this issue Jan 15, 2021
@lexus2k
Copy link
Owner

lexus2k commented Jan 15, 2021

MINGW32 is so old.. and not supported.
BUT, can you check latest commit to 1.8_dev branch.
It should fix the issue

@Darenn
Copy link
Author

Darenn commented Jan 15, 2021

Oh sorry, am I using the wrong thing?
Yeah sure thanks, I will give it a go in the week end!

@lexus2k
Copy link
Owner

lexus2k commented Jan 15, 2021

If you installed it via Arduino Library Manager, then you're using correct version. But it has issue with SDL, you described.
I suggest you to get the code for the library from development branch 1.8_dev.

@Darenn
Copy link
Author

Darenn commented Jan 15, 2021

Ok I will download the lib and install it manually into arduino lib folder. Thanks!
Edit: I don't really need to actually as I just want to use the tool for the simulator, I will just download and try the tool.

@Darenn
Copy link
Author

Darenn commented Jan 15, 2021

Here is the new log I get with command build_and_run.bat "games/lode_runner" > log.txt using the 1.8 dev version.
log.txt

@lexus2k
Copy link
Owner

lexus2k commented Jan 18, 2021

Thank you for the log. Will try to build using MINGW32 one more time on my laptop.

ChristiaanHaas pushed a commit to ChristiaanHaas/ssd1306 that referenced this issue Jan 21, 2021
@lexus2k
Copy link
Owner

lexus2k commented Jan 26, 2021

@Darenn Unfortunately, I didn't find useful information in the log. And I cannot reproduce the issue on my PC.
If the problem is still actual for you, could you please add CCFLAGS += -v line to examples/Makefile.common file and provide more logs for me?

@Darenn
Copy link
Author

Darenn commented Jan 27, 2021

Hi!
Thanks for investigating, really seems like I installed something wrong if you can't reproduce it. Might be worth to try again the whole installation process.

I added the line CCFLAGS += -v at the end of examples/Makefile.common.

Here's the new log, not sure I did the right thing :

D:\T‚l‚chargements\ssd1306-master\ssd1306-master\tools>set project="games/lode_runner" 
        1 file(s) copied.

D:\T‚l‚chargements\ssd1306-master\ssd1306-master\tools>mingw32-make.exe -C ../examples -f Makefile.mingw32 EXTRA_CCFLAGS= SDL_EMULATION=y PROJECT="games/lode_runner" flash  
mingw32-make.exe: Entering directory 'D:/Téléchargements/ssd1306-master/ssd1306-master/examples'
mingw32-make.exe -C ../src -f Makefile.mingw32 MCU= SDL_EMULATION=y \
                     ADAFRUIT=
mingw32-make.exe[1]: Entering directory 'D:/Téléchargements/ssd1306-master/ssd1306-master/src'
mingw32-make.exe[1]: Nothing to be done for 'default'.
mingw32-make.exe[1]: Leaving directory 'D:/Téléchargements/ssd1306-master/ssd1306-master/src'
mingw32-make.exe -C ../tools/sdl -f Makefile.mingw32 EXTRA_CPPFLAGS=""
mingw32-make.exe[1]: Entering directory 'D:/Téléchargements/ssd1306-master/ssd1306-master/tools/sdl'
gcc -std=c99 -I. -g -Os -Wall -Werror -ffunction-sections -fdata-sections -fno-exceptions -Wno-error=deprecated-declarations   -c -o sdl_core.o sdl_core.c
<builtin>: recipe for target 'sdl_core.o' failed
mingw32-make.exe[1]: Leaving directory 'D:/Téléchargements/ssd1306-master/ssd1306-master/tools/sdl'
Makefile.linux:57: recipe for target 'ssd1306_sdl' failed
mingw32-make.exe: Leaving directory 'D:/Téléchargements/ssd1306-master/ssd1306-master/examples'

@lexus2k
Copy link
Owner

lexus2k commented Jan 27, 2021

I see some issue with sdl_core.c compilation. But my cppcheck tool doesn't show any warnings.
Which compiler version do you have in MINGW? Mine one has 4.8.3 version.

@Darenn
Copy link
Author

Darenn commented Jan 27, 2021

Not sure that's what you need but :
C:\Users\Darenn>g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=d:/dev/mingw/bin/../libexec/gcc/mingw32/6.3.0/lto-wrapper.exe Target: mingw32 Configured with: ../src/gcc-6.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --with-gmp=/mingw --with-mpfr=/mingw --with-mpc=/mingw --with-isl=/mingw --prefix=/mingw --disable-win32-registry --target=mingw32 --with-arch=i586 --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-pkgversion='MinGW.org GCC-6.3.0-1' --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --with-tune=generic --enable-libgomp --disable-libvtv --enable-nls Thread model: win32 gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)

@lexus2k
Copy link
Owner

lexus2k commented Jan 27, 2021

@Darenn What I'm trying to get is error code in compilation of sdl_core.o, since the log reports recipe for target 'sdl_core.o' failed. But actually the log contains only the fact of failure, but no failure description.
Mine MINGW is installed from http://win-builds.org/doku.php site.

@Darenn
Copy link
Author

Darenn commented Jan 28, 2021

Ok I understand. I don't know much about makefile, I tried added the -v everywhere I can find a compilation line but no changes.

It seems to execute this line to compile sdl_core.o

: gcc -std=c99 -I. -g -Os -Wall -Werror -ffunction-sections -fdata-sections -fno-exceptions -Wno-error=deprecated-declarations -v  -c -o sdl_core.o sdl_core.c
<builtin>: recipe for target 'sdl_core.o' failed

And the option is there but no message. I'm sorry I can't give you the info you need.
I will try reinstall when I have time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants