Skip to content
This repository has been archived by the owner on Apr 29, 2024. It is now read-only.

ToDo: return support for clang on Windows #67

Open
q4a opened this issue Apr 28, 2021 · 1 comment
Open

ToDo: return support for clang on Windows #67

q4a opened this issue Apr 28, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@q4a
Copy link
Contributor

q4a commented Apr 28, 2021

Is your feature request related to a problem? Please describe.

I would like to keep current problems with clang on Windows in this place.
Current problems clang on Windows:

1 - clang build failed with crashpad

PR: #58
build log: https://github.com/storm-devs/storm-engine/runs/2403689592?check_suite_focus=true#step:5:576
logs_214.zip

  openssl/1.1.1j: ['"VC-conan-Debug-Windows-x86_64-clang-11"', 'no-shared', '--prefix="C:\\Users\\runneradmin\\.conan\\data\\openssl\\1.1.1j\\_\\_\\package\\0778b007b0f73be7de0191eacba7188d2bc2bd5a"', '--openssldir="C:\\Users\\runneradmin\\.conan\\data\\openssl\\1.1.1j\\_\\_\\package\\0778b007b0f73be7de0191eacba7188d2bc2bd5a\\res"', 'no-unit-test', 'threads', 'PERL=C:\\.conan\\18ba5c\\1\\bin\\perl.exe', 'no-tests', '--debug']
  Bareword found where operator expected at (eval 13) line 12, near """C"
  	(Missing operator before C?)
  
  Failure!  build file wasn't produced.
  Please read INSTALL and associated NOTES files.  You may also have to look over
  your available compiler tool chain or change your configuration.
  
  syntax error at (eval 13) line 12, near """C"

This bug may be related: conan-io/conan-center-index#96
But people says, that openssl/1.1.1c works fine with clang 8 + ninja:
https://gist.github.com/uilianries/b114b80aff1c7f8eb5b2e2ae0bd7fd9e

2 - clang build failed with sdl 2.0.14

I replaced old PR, but has tree here: https://github.com/q4a/storm-engine/tree/fb484bbc50dee4f980918b595e633e7da7d6f704
build log: https://github.com/q4a/storm-engine/runs/2312924402?check_suite_focus=true#step:5:470
logs_78.zip

[10/167] Building C object source_subfolder/CMakeFiles/SDL2-static.dir/src/audio/SDL_audiocvt.c.obj
  FAILED: source_subfolder/CMakeFiles/SDL2-static.dir/src/audio/SDL_audiocvt.c.obj 
  C:\PROGRA~2\MICROS~1\2019\ENTERP~1\VC\Tools\Llvm\x64\bin\clang.exe -DUSING_GENERATED_CONFIG_H -Isource_subfolder/include -I../source_subfolder/include -m64 -idirafter "C:/Users/runneradmin/.conan/data/sdl2/2.0.14/bincrafters/stable/build/265cb5137f80e3f8e990f2117e26e7b19cd62076/source_subfolder/src/video/khronos"  "-IC:/Users/runneradmin/.conan/data/sdl2/2.0.14/bincrafters/stable/build/265cb5137f80e3f8e990f2117e26e7b19cd62076/source_subfolder/src/hidapi/hidapi" -msse3 -msse2 -msse -m3dnow -mmmx -Wshadow -Wdeclaration-after-statement -Werror=declaration-after-statement -fno-strict-aliasing -Wall  -g -Xclang -gcodeview -O0 -D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd -MD -MT source_subfolder/CMakeFiles/SDL2-static.dir/src/audio/SDL_audiocvt.c.obj -MF source_subfolder\CMakeFiles\SDL2-static.dir\src\audio\SDL_audiocvt.c.obj.d -o source_subfolder/CMakeFiles/SDL2-static.dir/src/audio/SDL_audiocvt.c.obj -c ../source_subfolder/src/audio/SDL_audiocvt.c
  ../source_subfolder/src/audio/SDL_audiocvt.c:58:15: error: unknown type name '__m128'
          const __m128 divby2 = _mm_set1_ps(0.5f);
                ^

This bug related and fixed: libsdl-org/SDL#4269
So, I hope to see fix in SDL 2.0.16: https://libsdl.org/next.php

Clang commits to revert:

586c89a - return clang to CMakeSettings.json
adf1553 - return clang to cibuild.yml

Describe the solution you'd like

I would like to:

  1. Wait for SDL 2.0.16 release.
  2. Add SDL 2.0.16 to bincrafters like this: bincrafters/community@a60c4af
  3. Return clang build on Windows and check errors. May be I can found some fix for crashpad/openssl build.
@q4a q4a added the enhancement New feature or request label Apr 28, 2021
@espkk
Copy link
Member

espkk commented Apr 30, 2021

We definitely want to turn it back after we find a solution to make it work.

To the point, OpenSSL is likely sentry-native and not a crashpad dependency as crashpad is currently included as a binary blob.
Since Conan's sentry-native package is anyway broken, I'll try to find a way to set up our own artifactory package with proper configuration and probably different OpenSSL version (though I don't really like downgrading security libraries).

UPD:
yeah, that openssl is a dependency for libcurl/7.75.0 which sentry-native depends on.
but 1.1.1c is too old, maybe we should investigate the problem with more recent versions

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants