QuellaZhang created MESOS-10206:
-----------------------------------

             Summary: Mesos failed to build due to error LNK2019: unresolved 
external symbol "int __cdecl os::execvp(char const *,char * const * const)" on 
windows with MSVC
                 Key: MESOS-10206
                 URL: https://issues.apache.org/jira/browse/MESOS-10206
             Project: Mesos
          Issue Type: Bug
          Components: build
    Affects Versions: master
         Environment: VS 2019 + Windows Server 2016
            Reporter: QuellaZhang
         Attachments: mesos_build.log, mesos_c1083.patch, 
mesos_c2664_bug837166.patch, mesos_c2668.patch, 
mesos_disable_w4601_libarchive.patch

Hi All,

We tried to build Mesos on Windows with VS2019. It failed to build due to error 
LNK2019: unresolved external symbol "int __cdecl os::execvp(char const *,char * 
const * const)" on Windows using MSVC. It can be reproduced on latest reversion 
0a6cf76 on master branch. Could you please take a look at this isssue? Thanks a 
lot!

 

*Reproduce steps:*

1. git clone https://github.com/apache/mesos.git F:\apache\mesos

2. Apply the following four patches(patches in attachment)

 

   mesos_c2664_bug837166.patch

   mesos_disable_w4601_libarchive.patch

   mesos_c2668.patch (fix 
F:\apache\mesos\src\slave\containerizer\mesos\launch.cpp(524,34): error C2668: 
'os::spawn': ambiguous call to
 overloaded function)

   mesos_c1083.patch (fix error C1083: Cannot open include file: 
'csi/state.pb.h' and Cannot open include file: "re2/re2.h".  Reference to  
https://issues.apache.org/jira/browse/MESOS-10182)

3. Open a VS 2019 x64 command prompt as admin and browse to F:\apache\mesos

4. mkdir build_amd64 && pushd build_amd64

5. cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_SYSTEM_VERSION=10.0.18362.0 
-DENABLE_LIBEVENT=1 -DHAS_AUTHENTICATION=0 
-DPATCHEXE_PATH="F:\tools\gnuwin32\bin" -T host=x64 ..

6. set CL=/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING

7. msbuild /maxcpucount:4 /p:Platform=x64 /p:Configuration=Debug Mesos.sln 
/t:Rebuild

 

*Note:* mesos_build.log in attachment.

 

*ErrorMessage:*

104>mesos.lib(launch.obj) : error LNK2019: unresolved external symbol "int 
__cdecl os::execvp(char const *,char * const * const)" 
(?execvp@os@@YAHPEBDQEBQEAD@Z) referenced in function "protected: virtual int 
__cdecl mesos::internal::slave::MesosContainerizerLaunch::execute(void)" 
(?execute@MesosContainerizerLaunch@slave@internal@mesos@@MEAAHXZ) 
[F:\apache\mesos\build_amd64\src\launcher\mesos-executor.vcxproj]

104>mesos.lib(launch.obj) : error LNK2019: unresolved external symbol "int 
__cdecl os::execvpe(char const *,char * *,char * *)" 
(?execvpe@os@@YAHPEBDPEAPEAD1@Z) referenced in function "protected: virtual int 
__cdecl mesos::internal::slave::MesosContainerizerLaunch::execute(void)" 
(?execute@MesosContainerizerLaunch@slave@internal@mesos@@MEAAHXZ) 
[F:\apache\mesos\build_amd64\src\launcher\mesos-executor.vcxproj]

104>F:\apache\mesos\build_amd64\src\mesos-executor.exe : fatal error LNK1120: 2 
unresolved externals 
[F:\apache\mesos\build_amd64\src\launcher\mesos-executor.vcxproj]

103>mesos.lib(csi_server.obj) : error LNK2019: unresolved external symbol 
"public: __cdecl mesos::csi::Metrics::Metrics(class 
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> 
> const &)" 
(??0Metrics@csi@mesos@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
 referenced in function "public: __cdecl 
mesos::internal::slave::CSIServerProcess::CSIPlugin::CSIPlugin(class 
mesos::CSIPluginInfo const &,class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)" 
(??0CSIPlugin@CSIServerProcess@slave@internal@mesos@@QEAA@AEBVCSIPluginInfo@4@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
 [F:\apache\mesos\build_amd64\src\cli\mesos-execute.vcxproj]

103>mesos.lib(csi_server.obj) : error LNK2019: unresolved external symbol 
"public: __cdecl mesos::csi::Metrics::~Metrics(void)" 
(??1Metrics@csi@mesos@@QEAA@XZ) referenced in function "int `public: __cdecl 
mesos::internal::slave::CSIServerProcess::CSIPlugin::CSIPlugin(class 
internal::CSIPluginInfo const &,class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)'::`1'::dtor$4" 
(?dtor$4@?0???0CSIPlugin@CSIServerProcess@slave@internal@mesos@@QEAA@AEBVCSIPluginInfo@4@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z@4HA)
 [F:\apache\mesos\build_amd64\src\cli\mesos-execute.vcxproj]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to