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

Enable compilation of manifpy on Linux and macOS #4

Merged
merged 19 commits into from
Jun 17, 2021

Conversation

traversaro
Copy link
Contributor

@traversaro traversaro commented Jun 15, 2021

Fix #3 .

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@traversaro traversaro mentioned this pull request Jun 15, 2021
@traversaro traversaro closed this Jun 15, 2021
@traversaro traversaro reopened this Jun 15, 2021
@traversaro
Copy link
Contributor Author

For some reason in the regular build downloding gtest internally via CMake works fine:

[ 11%] Creating directories for 'googletest'
[ 22%] Performing download step (git clone) for 'googletest'
Cloning into 'googletest-src'...
Switched to a new branch 'v1.8.x'
Branch 'v1.8.x' set up to track remote branch 'v1.8.x' from 'origin'.
[ 33%] Performing update step for 'googletest'
HEAD is now at dea0216d Merge pull request #2083 from hugolm84/v1.8.x
[ 44%] No patch step for 'googletest'
[ 55%] No configure step for 'googletest'
[ 66%] No build step for 'googletest'
[ 77%] No install step for 'googletest'
[ 88%] No test step for 'googletest'
[100%] Completed 'googletest'
[100%] Built target googletest

While when we move manif to build two outpus (manif and manifpy), the gtest download is failing:

[ 11%] Creating directories for 'googletest'
[ 22%] Performing download step (git clone) for 'googletest'
Cloning into 'googletest-src'...
Switched to a new branch 'v1.8.x'
Branch v1.8.x set up to track remote branch v1.8.x from origin.
bash.exe: warning: could not find /tmp, please create!
[ 33%] Performing update step for 'googletest'
CMake Error at D:/bld/manif_1623773885143/work/build/test/gtest/googletest-prefix/tmp/googletest-gitupdate.cmake:25 (message):
  Failed to get the hash for HEAD:

  fatal: ambiguous argument 'HEAD^commit': unknown revision or path not in
  the working tree.

  Use '--' to separate paths from revisions, like this:

  'git <command> [<revision>...] -- [<file>...]'



NMAKE : fatal error U1077: 'D:\bld\manif_1623773885143\_build_env\Library\bin\cmake.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.

Not a big problem as switching to the conda-provided gtest make more sense, but definitely strange.

@traversaro
Copy link
Contributor Author

GTest linking on Windows fails with error:

2021-06-15T16:51:35.5551222Z [ 52%] Linking CXX executable gtest_rn.exe
2021-06-15T16:51:37.0017632Z LINK: command "C:\PROGRA~2\MICROS~1\2017\ENTERP~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\gtest_rn.dir\objects1.rsp /out:gtest_rn.exe /implib:gtest_rn.lib /pdb:D:\bld\manif_1623775123530\work\build\test\rn\gtest_rn.pdb /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console gtest.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:gtest_rn.exe.manifest" failed (exit code 1169) with the following output:
2021-06-15T16:51:37.0034722Z gtest.lib(gtest-all.cc.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in gtest_rn.cpp.obj
2021-06-15T16:51:37.0043657Z msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: struct _Cvtvec __cdecl std::_Locinfo::_Getcvt(void)const " (?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ) already defined in gtest.lib(gtest-all.cc.obj)
2021-06-15T16:51:37.0045753Z msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ) already defined in gtest.lib(gtest-all.cc.obj)
2021-06-15T16:51:37.0047292Z msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ) already defined in gtest.lib(gtest-all.cc.obj)
2021-06-15T16:51:37.0048692Z msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z) already defined in gtest.lib(gtest-all.cc.obj)
2021-06-15T16:51:37.0050054Z msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z) already defined in gtest.lib(gtest-all.cc.obj)
2021-06-15T16:51:37.0062062Z msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" (?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ) already defined in gtest.lib(gtest-all.cc.obj)

That seems some problem in the gtest feedstock. For now, let's just disable tests on Windows.

@traversaro
Copy link
Contributor Author

@conda-forge-admin, please rerender

@traversaro
Copy link
Contributor Author

Windows build is not working due to some setup.py problem, let's try to merge without python bindings support on Windows and then fix this later: #7 .

@traversaro traversaro changed the title Enable compilation of manifpy Enable compilation of manifpy on Linux and macOS Jun 17, 2021
@traversaro
Copy link
Contributor Author

@conda-forge-admin, please rerender

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

Successfully merging this pull request may close these issues.

Package manifpy
2 participants