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

libsodium: add emscripten support to the libsodium recipe #23578

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

laci-aura
Copy link

@laci-aura laci-aura commented Apr 16, 2024

libsodium/1.0.19

The --disable-ssp option was missing which lead to linking errors due to the missing stack check functions in emscripten.

Also, the libsodium-provided

./dist-build/emscripten.sh --standard

script results in running:

./configure --enable-minimal --disable-shared "--prefix=libsodium-stable/libsodium-js" --without-pthreads --disable-ssp --disable-asm --disable-pie

so I've added the missing minimal/pthreads/asm/ssp options to the recipe to mimic the standard emscripten build options


@CLAassistant
Copy link

CLAassistant commented Apr 16, 2024

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

🤖 Beep Boop! This pull request is making changes to 'recipes/libsodium//'.

👋 @Hopobcn @paulharris you might be interested. 😉

@conan-center-bot

This comment has been minimized.

2 similar comments
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@laci-aura laci-aura force-pushed the laci-aura/add-emscripten-support-to-the-libsodium-recipe branch from de1b15a to 787bd4f Compare April 17, 2024 16:14
@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 8 (61db98521bf6e53574e99ea0c4e4b4195f21dcec):

  • libsodium/1.0.19:
    Didn't run or was cancelled before finishing

  • libsodium/cci.20220430:
    CI failed to create some packages (All logs)

    Logs for packageID bbd343199b8aa505edf0d5549c09c9831f835a8d:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=Visual Studio
    compiler.runtime=MD
    compiler.version=16
    os=Windows
    [options]
    libsodium:shared=False
    
    [...]
      hash_sha256.c
      hash_sha256_cp.c
      aead_xchacha20poly1305.c
      aead_aes256gcm_aesni.c
      aead_chacha20poly1305.c
      secretstream_xchacha20poly1305.c
      core_salsa_ref.c
      core_hchacha20.c
      core_hsalsa20.c
      core_hsalsa20_ref2.c
      core_ed25519.c
      core_ristretto255.c
      ed25519_ref10.c
    Done Building Project "C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj" (default targets) -- FAILED.
    Done Building Project "C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium.sln" (default targets) -- FAILED.
    
    Build FAILED.
    
    "C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium.sln" (default target) (1) ->
    "C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj" (default target) (2) ->
    (ClCompile target) -> 
      C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\src\libsodium\crypto_verify\sodium\verify.c(68,52): warning C4197: 'volatile const unsigned char *volatile ': top-level volatile in cast is ignored [C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj]
      C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\src\libsodium\crypto_verify\sodium\verify.c(70,52): warning C4197: 'volatile const unsigned char *volatile ': top-level volatile in cast is ignored [C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj]
      C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\src\libsodium\sodium\utils.c(188,53): warning C4197: 'volatile const unsigned char *volatile ': top-level volatile in cast is ignored [C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj]
      C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\src\libsodium\sodium\utils.c(190,53): warning C4197: 'volatile const unsigned char *volatile ': top-level volatile in cast is ignored [C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj]
      C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\src\libsodium\sodium\utils.c(228,53): warning C4197: 'volatile const unsigned char *volatile ': top-level volatile in cast is ignored [C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj]
      C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\src\libsodium\sodium\utils.c(230,53): warning C4197: 'volatile const unsigned char *volatile ': top-level volatile in cast is ignored [C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj]
    
    
    "C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium.sln" (default target) (1) ->
    "C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj" (default target) (2) ->
    (ClCompile target) -> 
      c1 : fatal error C1083: Cannot open source file: '..\..\..\..\src\libsodium\crypto_pwhash\scryptsalsa208sha256\nosse\pwhash_scryptsalsa208sha256_nosse.c': No such file or directory [C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj]
      c1 : fatal error C1083: Cannot open source file: '..\..\..\..\src\libsodium\crypto_box\curve25519xchacha20poly1305\box_seal_curve25519xchacha20poly1305.c': No such file or directory [C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium\libsodium.vcxproj]
    
        6 Warning(s)
        2 Error(s)
    
    Time Elapsed 00:00:10.46
    libsodium/cci.20220430: 
    WARN: *** Conan 1 is legacy and on a deprecation path ***
    WARN: *** Please upgrade to Conan 2 ***
    libsodium/cci.20220430: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    libsodium/cci.20220430: ERROR: Package 'bbd343199b8aa505edf0d5549c09c9831f835a8d' build failed
    libsodium/cci.20220430: WARN: Build folder C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\build-release
    ERROR: libsodium/cci.20220430: Error in build() method, line 176
    	self._build_msvc()
    while calling '_build_msvc', line 171
    	msbuild.build(os.path.join(msvc_sln_folder, "libsodium.sln"))
    	ConanException: Error 1 while executing msbuild "C:\J\workspace\prod-v1\bsr\25927\dffce\.conan\data\libsodium\cci.20220430\_\_\build\bbd343199b8aa505edf0d5549c09c9831f835a8d\src\builds\msvc\vs2019\libsodium.sln" /p:Configuration=StaticRelease /p:Platform=x64
    
  • libsodium/1.0.18:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ✔️

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 8 (61db98521bf6e53574e99ea0c4e4b4195f21dcec):

  • libsodium/1.0.19:
    All packages built successfully! (All logs)

  • libsodium/1.0.18:
    All packages built successfully! (All logs)

  • libsodium/cci.20220430:
    All packages built successfully! (All logs)

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

Successfully merging this pull request may close these issues.

4 participants