[ 
https://issues.apache.org/jira/browse/MESOS-10204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17250077#comment-17250077
 ] 

clancyhuang commented on MESOS-10204:
-------------------------------------

About os::execvp and os::execvpe,I commented out the corresponding function in 
stout\os\exec.hpp.
The problem under csi I think is not added when compiling,In 
mesos\src\CmakeList.txt I put ${CSI_SRC} into MESOS_SRC

{code}
set(MESOS_SRC
  ${AGENT_SRC}
  ${AUTHENTICATION_SRC}
  ${AUTHORIZER_SRC}
  ${COMMON_SRC}
  ${DOCKER_SRC}
  ${EXECUTOR_SRC}
  ${FILES_SRC}
  ${HDFS_SRC}
  ${HEALTH_CHECK_SRC}
  ${INTERNAL_SRC}
  ${LOCAL_SRC}
  ${LOGGING_SRC}
  ${MASTER_SRC}
  ${MESSAGES_SRC}
  ${MODULE_SRC}
  ${RESOURCE_PROVIDER_SRC}
  ${SCHEDULER_SRC}
  ${SECRET_SRC}
  ${STATE_SRC}
  ${STATUS_UPDATE_MANAGER_SRC}
  ${URI_SRC}
  ${USAGE_SRC}
  ${V1_SRC}
  ${VERSION_SRC}
  ${WATCHER_SRC}
  ${ZOOKEEPER_SRC}
  ${CSI_SRC}
  )
{code}
Then it reports that there are missing files under csi\v1 and csi\v0,I add 
these two lines of code in CmakeList

{code:java}
PROTOC_GENERATE(GRPC LIB csi_v0 TARGET csi/v0/csi)
PROTOC_GENERATE(GRPC LIB csi_v1 TARGET csi/v1/csi)
{code}
Currently, I can start mesos.agent.exe and it can connect to the master



> Mesos failed to build due to error LNK2019 on Windows using MSVC
> ----------------------------------------------------------------
>
>                 Key: MESOS-10204
>                 URL: https://issues.apache.org/jira/browse/MESOS-10204
>             Project: Mesos
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 1.11.0
>         Environment: VS 2017 + Windows  10.0.19041
>            Reporter: clancyhuang
>            Priority: Major
>
> Mesos failed to build due to error.
> Error Message:
> {code}
> mesos.lib(launch.obj) : error LNK2019: Unresolved external symbol "int 
> __cdecl os::execvp(char const *,char * const * const)" 
> (?execvp@os@@YAHPEBDQEBQEAD@Z),the symbol Referenced in the function 
> "protected: virtual int __cdecl 
> mesos::internal::slave::MesosContainerizerLaunch::execute(void)" 
> (?execute@MesosContainerizerLaunch@slave@internal@mesos@@MEAAHXZ)  
> [D:\workspace\mesos\mesos\build\src\slave\containerizer\mesos\mesos-containerizer.vcxproj]
> mesos.lib(launch.obj) : error LNK2019: Unresolved external symbol "int 
> __cdecl os::execvpe(char const *,char * *,char * *)" 
> (?execvpe@os@@YAHPEBDPEAPEAD1@Z),the symbol Referenced in the function 
> "protected: virtual int __cdecl 
> mesos::internal::slave::MesosContainerizerLaunch::execute(void)" 
> (?execute@MesosContainerizerLaunch@slave@internal@mesos@@MEAAHXZ)  
> [D:\workspace\mesos\mesos\build\src\slave\containerizer\mesos\mesos-containerizer.vcxproj]
> D:\workspace\mesos\mesos\build\src\mesos-containerizer.exe : fatal error 
> LNK1120: 2 unresolved external commands 
> [D:\workspace\mesos\mesos\build\src\slave\containerizer\mesos\mesos-containerizer.vcxproj]
>   mesos-default-executor.vcxproj -> 
> D:\workspace\mesos\mesos\build\src\mesos-default-executor.exe
>   mesos-docker-executor.vcxproj -> 
> D:\workspace\mesos\mesos\build\src\mesos-docker-executor.exe
> mesos.lib(launch.obj) : error LNK2019: Unresolved external symbol "int 
> __cdecl os::execvp(char const *,char * const * const)" 
> (?execvp@os@@YAHPEBDQEBQEAD@Z),the symbol Referenced in the function 
> "protected: virtual int __cdecl 
> mesos::internal::slave::MesosContainerizerLaunch::execute(void)" 
> (?execute@MesosContainerizerLaunch@slave@internal@mesos@@MEAAHXZ)  
> [D:\workspace\mesos\mesos\build\src\launcher\mesos-executor.vcxproj]
> mesos.lib(launch.obj) : error LNK2019: Unresolved external symbol "int 
> __cdecl os::execvpe(char const *,char * *,char * *)" 
> (?execvpe@os@@YAHPEBDPEAPEAD1@Z),the symbol Referenced in the function 
> "protected: virtual int __cdecl 
> mesos::internal::slave::MesosContainerizerLaunch::execute(void)" 
> (?execute@MesosContainerizerLaunch@slave@internal@mesos@@MEAAHXZ)  
> [D:\workspace\mesos\mesos\build\src\launcher\mesos-executor.vcxproj]
> D:\workspace\mesos\mesos\build\src\mesos-executor.exe : fatal error LNK1120: 
> 2 unresolved external commands 
> [D:\workspace\mesos\mesos\build\src\launcher\mesos-executor.vcxproj]
>   mesos-fetcher.vcxproj -> 
> D:\workspace\mesos\mesos\build\src\mesos-fetcher.exe
>   mesos-tcp-connect.vcxproj -> 
> D:\workspace\mesos\mesos\build\src\mesos-tcp-connect.exe
>   mesos-usage.vcxproj -> D:\workspace\mesos\mesos\build\src\mesos-usage.exe  
>  Creating library 
> D:/workspace/mesos/mesos/build/src/cli/Debug/mesos-execute.lib and object 
> D:/workspace/mesos/mesos/build/src/cli/Debug/mesos-execute.exp
> 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),the
>  symbol Referenced in the 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)
>   [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(csi_server.obj) : error LNK2019: Unresolved external symbol 
> "public: __cdecl mesos::csi::Metrics::~Metrics(void)" 
> (??1Metrics@csi@mesos@@QEAA@XZ),the symbol Referenced in the 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)
>   [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(csi_server.obj) : error LNK2019: Unresolved external symbol 
> "public: __cdecl mesos::csi::ServiceManager::ServiceManager(class 
> mesos::SlaveID const &,struct process::http::URL const &,class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > const &,class mesos::CSIPluginInfo const &,class 
> hashset<enum mesos::CSIPluginContainerInfo_Service,struct 
> EnumClassHash,struct std::equal_to<enum 
> mesos::CSIPluginContainerInfo_Service> > const &,class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > const &,class Option<class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > > const &,class process::grpc::client::Runtime const 
> &,struct mesos::csi::Metrics *)" 
> (??0ServiceManager@csi@mesos@@QEAA@AEBVSlaveID@2@AEBUURL@http@process@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBVCSIPluginInfo@2@AEBV?$hashset@W4CSIPluginContainerInfo_Service@mesos@@UEnumClassHash@@U?$equal_to@W4CSIPluginContainerInfo_Service@mesos@@@std@@@@2AEBV?$Option@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@AEBVRuntime@client@grpc@6@PEAUMetrics@12@@Z),the
>  symbol Referenced in the function "private: class Try<struct Nothing,class 
> Error> __cdecl 
> mesos::internal::slave::CSIServerProcess::initializePlugin(class Option<class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > > const &)" 
> (?initializePlugin@CSIServerProcess@slave@internal@mesos@@AEAA?AV?$Try@UNothing@@VError@@@@AEBV?$Option@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@Z)
>   [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(csi_server.obj) : error LNK2019: Unresolved external symbol 
> "public: __cdecl mesos::csi::ServiceManager::ServiceManager(class 
> mesos::CSIPluginInfo const &,class hashset<enum 
> mesos::CSIPluginContainerInfo_Service,struct EnumClassHash,struct 
> std::equal_to<enum mesos::CSIPluginContainerInfo_Service> > const &,class 
> process::grpc::client::Runtime const &,struct mesos::csi::Metrics *)" 
> (??0ServiceManager@csi@mesos@@QEAA@AEBVCSIPluginInfo@2@AEBV?$hashset@W4CSIPluginContainerInfo_Service@mesos@@UEnumClassHash@@U?$equal_to@W4CSIPluginContainerInfo_Service@mesos@@@std@@@@AEBVRuntime@client@grpc@process@@PEAUMetrics@12@@Z),the
>  symbol Referenced in the function "private: class Try<struct Nothing,class 
> Error> __cdecl 
> mesos::internal::slave::CSIServerProcess::initializePlugin(class Option<class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > > const &)" 
> (?initializePlugin@CSIServerProcess@slave@internal@mesos@@AEAA?AV?$Try@UNothing@@VError@@@@AEBV?$Option@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@Z)
>   [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(csi_server.obj) : error LNK2019: Unresolved external symbol 
> "public: __cdecl mesos::csi::ServiceManager::~ServiceManager(void)" 
> (??1ServiceManager@csi@mesos@@QEAA@XZ),the symbol Referenced in the function 
> "public: void * __cdecl mesos::csi::ServiceManager::`scalar deleting 
> destructor'(unsigned int)" (??_GServiceManager@csi@mesos@@QEAAPEAXI@Z)  
> [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(csi_server.obj) : error LNK2019: Unresolved external symbol 
> "public: class process::Future<struct Nothing> __cdecl 
> mesos::csi::ServiceManager::recover(void)" 
> (?recover@ServiceManager@csi@mesos@@QEAA?AV?$Future@UNothing@@@process@@XZ),the
>  symbol Referenced in the function "private: class Try<struct Nothing,class 
> Error> __cdecl 
> mesos::internal::slave::CSIServerProcess::initializePlugin(class Option<class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > > const &)" 
> (?initializePlugin@CSIServerProcess@slave@internal@mesos@@AEAA?AV?$Try@UNothing@@VError@@@@AEBV?$Option@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@Z)
>   [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(csi_server.obj) : error LNK2019: Unresolved external symbol 
> "public: class process::Future<class std::basic_string<char,struct 
> std::char_traits<char>,class std::allocator<char> > > __cdecl 
> mesos::csi::ServiceManager::getApiVersion(void)" 
> (?getApiVersion@ServiceManager@csi@mesos@@QEAA?AV?$Future@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@process@@XZ),the
>  symbol Referenced in the function "public: class process::Future<class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > > __cdecl 
> <lambda_8e6c3f535a499ad9badb2c90c6a3459a>::operator()(void)const " 
> (??R<lambda_8e6c3f535a499ad9badb2c90c6a3459a>@@QEBA?AV?$Future@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@process@@XZ)
>   [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(csi_server.obj) : error LNK2019: Unresolved external symbol 
> "public: static class Try<class process::Owned<class 
> mesos::csi::VolumeManager>,class Error> __cdecl 
> mesos::csi::VolumeManager::create(class std::basic_string<char,struct 
> std::char_traits<char>,class std::allocator<char> > const &,class 
> mesos::CSIPluginInfo const &,class hashset<enum 
> mesos::CSIPluginContainerInfo_Service,struct EnumClassHash,struct 
> std::equal_to<enum mesos::CSIPluginContainerInfo_Service> > const &,class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > const &,class process::grpc::client::Runtime const 
> &,class mesos::csi::ServiceManager *,struct mesos::csi::Metrics *,class 
> mesos::SecretResolver *)" 
> (?create@VolumeManager@csi@mesos@@SA?AV?$Try@V?$Owned@VVolumeManager@csi@mesos@@@process@@VError@@@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBVCSIPluginInfo@3@AEBV?$hashset@W4CSIPluginContainerInfo_Service@mesos@@UEnumClassHash@@U?$equal_to@W4CSIPluginContainerInfo_Service@mesos@@@std@@@@0AEBVRuntime@client@grpc@process@@PEAVServiceManager@23@PEAUMetrics@23@PEAVSecretResolver@3@@Z),the
>  symbol Referenced in the function "public: class process::Future<struct 
> Nothing> __cdecl <lambda_3b308426cecfec315a0a75834893f12e>::operator()(class 
> std::basic_string<char,struct std::char_traits<char>,class 
> std::allocator<char> > const &)const " 
> (??R<lambda_3b308426cecfec315a0a75834893f12e>@@QEBA?AV?$Future@UNothing@@@process@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
>   [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(launch.obj) : error LNK2019: Unresolved external symbol "int 
> __cdecl os::execvp(char const *,char * const * const)" 
> (?execvp@os@@YAHPEBDQEBQEAD@Z),the symbol Referenced in the function 
> "protected: virtual int __cdecl 
> mesos::internal::slave::MesosContainerizerLaunch::execute(void)" 
> (?execute@MesosContainerizerLaunch@slave@internal@mesos@@MEAAHXZ)  
> [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> mesos.lib(launch.obj) : error LNK2019: Unresolved external symbol "int 
> __cdecl os::execvpe(char const *,char * *,char * *)" 
> (?execvpe@os@@YAHPEBDPEAPEAD1@Z),the symbol Referenced in the function 
> "protected: virtual int __cdecl 
> mesos::internal::slave::MesosContainerizerLaunch::execute(void)" 
> (?execute@MesosContainerizerLaunch@slave@internal@mesos@@MEAAHXZ)  
> [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> D:\workspace\mesos\mesos\build\src\mesos-execute.exe : fatal error LNK1120: 
> 10 unresolved external commands 
> [D:\workspace\mesos\mesos\build\src\cli\mesos-execute.vcxproj]
> {code}
> Reproduce steps:
> git clone https://gitbox.apache.org/repos/asf/mesos.git
> cd mesos
> mkdir build
> cd build
> cmake .. -G "Visual Studio 15 2017 Win64" -T "host=x64"
> cmake --build .



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

Reply via email to