HDFS-7774. Unresolved symbols error while compiling HDFS on Windows 7/32 bit. Contributed by Kiran Kumar M R.

(cherry picked from commit c6d5b37a1c)
This commit is contained in:
cnauroth 2015-02-26 13:37:46 -08:00
parent 264c96777e
commit 5dfb793b05
4 changed files with 16 additions and 2 deletions

View File

@ -741,6 +741,9 @@ Release 2.7.0 - UNRELEASED
HDFS-7843. A truncated file is corrupted after rollback from a rolling HDFS-7843. A truncated file is corrupted after rollback from a rolling
upgrade. (szetszwo) upgrade. (szetszwo)
HDFS-7774. Unresolved symbols error while compiling HDFS on Windows 7/32 bit.
(Kiran Kumar M R via cnauroth)
BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
HDFS-7720. Quota by Storage Type API, tools and ClientNameNode HDFS-7720. Quota by Storage Type API, tools and ClientNameNode

View File

@ -438,10 +438,13 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd">
</goals> </goals>
<configuration> <configuration>
<target> <target>
<condition property="generator" value="Visual Studio 10" else="Visual Studio 10 Win64">
<equals arg1="Win32" arg2="${env.PLATFORM}" />
</condition>
<mkdir dir="${project.build.directory}/native"/> <mkdir dir="${project.build.directory}/native"/>
<exec executable="cmake" dir="${project.build.directory}/native" <exec executable="cmake" dir="${project.build.directory}/native"
failonerror="true"> failonerror="true">
<arg line="${basedir}/src/ -DGENERATED_JAVAH=${project.build.directory}/native/javah -DJVM_ARCH_DATA_MODEL=${sun.arch.data.model} -DREQUIRE_LIBWEBHDFS=${require.libwebhdfs} -DREQUIRE_FUSE=${require.fuse} -G 'Visual Studio 10 Win64'"/> <arg line="${basedir}/src/ -DGENERATED_JAVAH=${project.build.directory}/native/javah -DJVM_ARCH_DATA_MODEL=${sun.arch.data.model} -DREQUIRE_LIBWEBHDFS=${require.libwebhdfs} -DREQUIRE_FUSE=${require.fuse} -G '${generator}'"/>
</exec> </exec>
<exec executable="msbuild" dir="${project.build.directory}/native" <exec executable="msbuild" dir="${project.build.directory}/native"
failonerror="true"> failonerror="true">

View File

@ -28,7 +28,7 @@
* @param toRun thread to run * @param toRun thread to run
* @return DWORD result of running thread (always 0) * @return DWORD result of running thread (always 0)
*/ */
static DWORD runThread(LPVOID toRun) { static DWORD WINAPI runThread(LPVOID toRun) {
const thread *t = toRun; const thread *t = toRun;
t->start(t->arg); t->start(t->arg);
return 0; return 0;

View File

@ -96,13 +96,21 @@ static void NTAPI tlsCallback(PVOID h, DWORD reason, PVOID pv)
* reference _tls_used, we guarantee that the binary retains the TLS directory. * reference _tls_used, we guarantee that the binary retains the TLS directory.
* See Microsoft Visual Studio 10.0/VC/crt/src/tlssup.c . * See Microsoft Visual Studio 10.0/VC/crt/src/tlssup.c .
*/ */
#ifdef _WIN64
#pragma comment(linker, "/INCLUDE:_tls_used") #pragma comment(linker, "/INCLUDE:_tls_used")
#else
#pragma comment(linker, "/INCLUDE:__tls_used")
#endif
/* /*
* We must retain a pointer to the callback function. Force the linker to keep * We must retain a pointer to the callback function. Force the linker to keep
* this symbol, even though it appears that nothing in our source code uses it. * this symbol, even though it appears that nothing in our source code uses it.
*/ */
#ifdef _WIN64
#pragma comment(linker, "/INCLUDE:pTlsCallback") #pragma comment(linker, "/INCLUDE:pTlsCallback")
#else
#pragma comment(linker, "/INCLUDE:_pTlsCallback")
#endif
/* /*
* Define constant pointer to our callback, and tell the linker to pin it into * Define constant pointer to our callback, and tell the linker to pin it into