Skip to content

[ode] Fix error C3861#27450

Merged
BillyONeal merged 3 commits intomicrosoft:masterfrom
LilyWangLL:dev/LilyWang/CI_unstable_ode
Oct 26, 2022
Merged

[ode] Fix error C3861#27450
BillyONeal merged 3 commits intomicrosoft:masterfrom
LilyWangLL:dev/LilyWang/CI_unstable_ode

Conversation

@LilyWangLL
Copy link
Contributor

In an internal version of Visual Studio, ode install failed with following error:

C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1433~1.316\bin\Hostx64\x64\cl.exe   /TP -DCCD_IDEDOUBLE -DODE_DLL -DODE_EXPORTS -D_CRT_SECURE_NO_DEPRECATE -D_OU_FEATURE_SET=_OU_FEATURE_SET_ATOMICS -D_OU_NAMESPACE=odeou -D_OU_TARGET_OS=_OU_TARGET_OS_WINDOWS -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DdATOMICS_ENABLED -DdBUILTIN_THREADING_IMPL_ENABLED -DdIDEDOUBLE -DdOU_ENABLED -DdTRIMESH_ENABLED -DdTRIMESH_OPCODE -IF:\Lily\1017\buildtrees\ode\x64-windows-dbg\include -IF:\Lily\1017\buildtrees\ode\x64-windows-dbg\ode\src -IF:\Lily\1017\buildtrees\ode\src\0.16.1-4fa7add51b.clean\include -IF:\Lily\1017\buildtrees\ode\src\0.16.1-4fa7add51b.clean\ode\src -IF:\Lily\1017\buildtrees\ode\src\0.16.1-4fa7add51b.clean\ode\src\joints -IF:\Lily\1017\buildtrees\ode\src\0.16.1-4fa7add51b.clean\ou\include -IF:\Lily\1017\buildtrees\ode\src\0.16.1-4fa7add51b.clean\OPCODE -IF:\Lily\1017\buildtrees\ode\src\0.16.1-4fa7add51b.clean\OPCODE\Ice /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /FoCMakeFiles\ODE.dir\ode\src\fastldltfactor.cpp.obj /FdCMakeFiles\ODE.dir\ /FS -c F:\Lily\1017\buildtrees\ode\src\0.16.1-4fa7add51b.clean\ode\src\fastldltfactor.cpp
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.33.31629\include\__msvc_int128.hpp(115): error C3861: '_addcarry_u64': identifier not found
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.33.31629\include\__msvc_int128.hpp(129): error C3861: '_subborrow_u64': identifier not found
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.33.31629\include\__msvc_int128.hpp(247): error C3861: '_udiv128': identifier not found

This error is caused by atomic.h is including MSVC's <intrin.h> in a namespace. This ends up declaring _addcarry_u64 etc. within namespace odeou, so later when <__msvc_int128.hpp> tries to use those intrinsics, they can't be found (in the global namespace where they should be). This error will be fixed by moving #include <intrin.h> from Line 577 to Line 400 in file [SOURCE_PATH]/ou/include/ou/atomic.h
I have submitted an issue on upstream: https://bitbucket.org/odedevs/ode/issues/78/ode-build-failed-with-error-c3861-in-msvc

@LilyWangLL LilyWangLL added category:port-bug The issue is with a library, which is something the port should already support info:internal labels Oct 25, 2022
github-actions[bot]
github-actions bot previously approved these changes Oct 25, 2022
@LilyWangLL LilyWangLL marked this pull request as ready for review October 25, 2022 06:28
@Cheney-W Cheney-W added the info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. label Oct 25, 2022
@BillyONeal
Copy link
Member

Thanks for beating me to implementing Stephan's fix :)

@BillyONeal
Copy link
Member

I meant "add newlines" rather than "add tests" 🤷 . Not worth restarting for a going-to-be-squashed commit :)

@BillyONeal BillyONeal merged commit 043338a into microsoft:master Oct 26, 2022
BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Nov 1, 2022
…0-17, he started applying use of the "embedded VERSION" feature microsoft/vcpkg-tool#717 to PRs on merge.

@dg0yt points out that this use should be accompanied by a call to vcpkg_minimum_required, in https://github.com/microsoft/vcpkg/pull/27594/files#r1010641672

This is an audit of everything merged in that time and whether it needs to gain that.

microsoft#27561 No VERSION
microsoft#27525 No VERSION
microsoft#27554 Already has vcpkg_minimum_required
microsoft#27536 No VERSION
microsoft#27562 No VERSION
microsoft#24914 Fixed here
microsoft#27547 No VERSION
microsoft#27502 No VERSION
microsoft#27497 No VERSION
microsoft#27317 No VERSION
microsoft#27288 No VERSION
microsoft#27509 No VERSION
microsoft#27504 No VERSION
microsoft#27514 No VERSION
microsoft#27501 No VERSION
microsoft#27495 No VERSION
microsoft#27488 No VERSION
microsoft#27499 No VERSION
microsoft#27378 No VERSION
microsoft#27376 Fixed here
microsoft#27373 No VERSION
microsoft#27045 No VERSION
microsoft#27521 No VERSION
microsoft#27453 No VERSION
microsoft#27481 No VERSION
microsoft#27511 No VERSION
microsoft#27490 No VERSION
microsoft#27510 No VERSION
microsoft#27496 No VERSION
microsoft#27503 No VERSION
microsoft#27485 No VERSION
microsoft#27484 No VERSION
microsoft#27483 No VERSION
microsoft#27459 No VERSION
microsoft#27369 No VERSION
microsoft#27489 No VERSION
microsoft#26594 No VERSION
microsoft#27465 No VERSION
microsoft#27456 No VERSION
microsoft#27425 No VERSION
microsoft#27464 Fixed here
microsoft#27406 No VERSION
microsoft#27398 No VERSION
microsoft#27240 No VERSION
microsoft#27450 No VERSION
microsoft#27463 No VERSION
microsoft#27462 No VERSION
microsoft#27448 No VERSION
microsoft#27440 No VERSION
microsoft#27435 No VERSION
microsoft#27424 No VERSION
microsoft#27414 No VERSION
microsoft#27412 No VERSION
microsoft#27380 No VERSION
microsoft#27343 No VERSION
microsoft#27342 No VERSION
microsoft#27367 No VERSION
microsoft#27226 No VERSION
microsoft#27320 No VERSION
microsoft#26923 No VERSION
microsoft#27284 No VERSION
microsoft#27433 No VERSION
microsoft#27314 VERSION got *removed*
microsoft#27335 No VERSION
microsoft#27370 No VERSION
microsoft#27324 No VERSION
microsoft#27391 No VERSION
microsoft#27388 No VERSION
microsoft#27396 No VERSION
microsoft#27404 No VERSION
microsoft#27413 No VERSION
microsoft#27417 No VERSION
microsoft#27427 No VERSION
microsoft#27428 No VERSION
microsoft#27368 No VERSION
microsoft#27307 No VERSION
microsoft#27415 Fixed here.
microsoft#27371 Fixed here.
microsoft#27323 No VERSION
microsoft#27352 No VERSION
microsoft#27347 No VERSION
microsoft#27366 No VERSION
microsoft#27361 No VERSION
microsoft#27359 No VERSION
microsoft#27358 No VERSION
microsoft#27355 No VERSION
microsoft#27331 No VERSION
microsoft#24615 No VERSION
microsoft#27325 No VERSION
microsoft#24861 No VERSION
microsoft#27354 No VERSION
microsoft#27346 No VERSION
microsoft#27345 No VERSION
microsoft#27218 No VERSION
microsoft#27329 No VERSION
microsoft#27326 No VERSION
microsoft#27321 No VERSION
microsoft#27312 No VERSION
microsoft#27297 No VERSION
microsoft#27336 No VERSION
microsoft#27225 No VERSION
microsoft#27339 No VERSION
microsoft#27302 No VERSION
microsoft#27295 No VERSION
microsoft#27233 No VERSION
microsoft#27313 No VERSION
microsoft#27237 No VERSION
microsoft#27250 No VERSION
microsoft#27263 No VERSION
microsoft#27266 No VERSION
microsoft#27272 No VERSION
microsoft#27287 No VERSION
microsoft#27282 No VERSION
microsoft#27294 No VERSION
microsoft#27228 No VERSION
microsoft#27163 No VERSION
microsoft#26817 No VERSION
microsoft#27286 No VERSION
microsoft#27274 No VERSION
microsoft#27276 No VERSION
microsoft#27232 No VERSION
microsoft#27221 No VERSION
microsoft#27215 No VERSION
microsoft#27166 No VERSION
microsoft#27239 No VERSION
microsoft#27246 No VERSION
microsoft#27268 No VERSION
microsoft#27259 No VERSION
microsoft#27238 No VERSION
microsoft#27224 No VERSION
microsoft#27203 No VERSION
microsoft#27124 No VERSION
JavierMatosD pushed a commit that referenced this pull request Nov 8, 2022
* When @BillyONeal started being the on-call vcpkg maintainer on 2022-10-17, he started applying use of the "embedded VERSION" feature microsoft/vcpkg-tool#717 to PRs on merge.

@dg0yt points out that this use should be accompanied by a call to vcpkg_minimum_required, in https://github.com/microsoft/vcpkg/pull/27594/files#r1010641672

This is an audit of everything merged in that time and whether it needs to gain that.

#27561 No VERSION
#27525 No VERSION
#27554 Already has vcpkg_minimum_required
#27536 No VERSION
#27562 No VERSION
#24914 Fixed here
#27547 No VERSION
#27502 No VERSION
#27497 No VERSION
#27317 No VERSION
#27288 No VERSION
#27509 No VERSION
#27504 No VERSION
#27514 No VERSION
#27501 No VERSION
#27495 No VERSION
#27488 No VERSION
#27499 No VERSION
#27378 No VERSION
#27376 Fixed here
#27373 No VERSION
#27045 No VERSION
#27521 No VERSION
#27453 No VERSION
#27481 No VERSION
#27511 No VERSION
#27490 No VERSION
#27510 No VERSION
#27496 No VERSION
#27503 No VERSION
#27485 No VERSION
#27484 No VERSION
#27483 No VERSION
#27459 No VERSION
#27369 No VERSION
#27489 No VERSION
#26594 No VERSION
#27465 No VERSION
#27456 No VERSION
#27425 No VERSION
#27464 Fixed here
#27406 No VERSION
#27398 No VERSION
#27240 No VERSION
#27450 No VERSION
#27463 No VERSION
#27462 No VERSION
#27448 No VERSION
#27440 No VERSION
#27435 No VERSION
#27424 No VERSION
#27414 No VERSION
#27412 No VERSION
#27380 No VERSION
#27343 No VERSION
#27342 No VERSION
#27367 No VERSION
#27226 No VERSION
#27320 No VERSION
#26923 No VERSION
#27284 No VERSION
#27433 No VERSION
#27314 VERSION got *removed*
#27335 No VERSION
#27370 No VERSION
#27324 No VERSION
#27391 No VERSION
#27388 No VERSION
#27396 No VERSION
#27404 No VERSION
#27413 No VERSION
#27417 No VERSION
#27427 No VERSION
#27428 No VERSION
#27368 No VERSION
#27307 No VERSION
#27415 Fixed here.
#27371 Fixed here.
#27323 No VERSION
#27352 No VERSION
#27347 No VERSION
#27366 No VERSION
#27361 No VERSION
#27359 No VERSION
#27358 No VERSION
#27355 No VERSION
#27331 No VERSION
#24615 No VERSION
#27325 No VERSION
#24861 No VERSION
#27354 No VERSION
#27346 No VERSION
#27345 No VERSION
#27218 No VERSION
#27329 No VERSION
#27326 No VERSION
#27321 No VERSION
#27312 No VERSION
#27297 No VERSION
#27336 No VERSION
#27225 No VERSION
#27339 No VERSION
#27302 No VERSION
#27295 No VERSION
#27233 No VERSION
#27313 No VERSION
#27237 No VERSION
#27250 No VERSION
#27263 No VERSION
#27266 No VERSION
#27272 No VERSION
#27287 No VERSION
#27282 No VERSION
#27294 No VERSION
#27228 No VERSION
#27163 No VERSION
#26817 No VERSION
#27286 No VERSION
#27274 No VERSION
#27276 No VERSION
#27232 No VERSION
#27221 No VERSION
#27215 No VERSION
#27166 No VERSION
#27239 No VERSION
#27246 No VERSION
#27268 No VERSION
#27259 No VERSION
#27238 No VERSION
#27224 No VERSION
#27203 No VERSION
#27124 No VERSION

* Also add libcanberra
@LilyWangLL LilyWangLL deleted the dev/LilyWang/CI_unstable_ode branch December 19, 2022 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:port-bug The issue is with a library, which is something the port should already support info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants