When I type
当我类型
$ ./bootstrap
I have some errors:
我有一些错误:
SystemTools.o:SystemTools.cxx:(.text+0xaf2): undefined reference to `cygwin_conv _to_win32_path'
SystemTools.o:SystemTools.cxx:(.text+0xaf2): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `cygwin_conv_to_win32_path'
/usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: SystemTools.o: bad reloc address 0x0 in section `.pdata$_ZStanSt12_Ios_IostateS_'
collect2: error: ld returned 1 exit status
Makefile:2: recipe for target 'cmake' failed
make: *** [cmake] Error 1
---------------------------------------------
Error when bootstrapping CMake:
Problem while running make
---------------------------------------------
Log of errors: /home/cmake-2.8.12/Bootstrap.cmk/cmake_bootstrap.log
2 个解决方案
#1
2
This is a deprecated Cygwin API that was dropped in the x86_64 port. While you could fix this by using the current equivalent, I suggest a more extensive patchset found here.
这是一个废弃的Cygwin API,在x86_64端口中被删除。虽然您可以通过使用当前等效项来解决这个问题,但我建议在这里找到一个更广泛的补丁集。
#2
0
Solved the problem. I think the issue was with some if_else conditions related to some settings for other environments like POSIX, FreeBSD. I am not an expert so by hit and trial, I commented some lines in the file LSDynaFamily.cxx.
解决了这个问题。我认为问题出在一些if_else条件上,这些条件与POSIX、FreeBSD等其他环境的一些设置有关。我不是专家,所以通过hit和trial,我在lsdynafamil .cxx文件中注释了一些行。
Line number 44:
44行号:
//return stat64(fname,&s);
Part of line number 227 onwards was modified as below:
第227号线开始部分修改如下:
//#elif USE_STAT_64
//struct stat64 st;
Part of line number 240:
#if defined (WIN32) && VTK_SIZEOF_ID_TYPE==8
struct __stat64 st;
//#elif USE_STAT_64
//struct stat64 st;
#else
struct stat st;
#endif
while ( tryAdapt >= 0 )
{
tmpFile = vtkLSGetFamilyFileName( this->DatabaseDirectory.c_str(),
this->DatabaseBaseName,
adaptLevel,
filenum );
/* if ( LS_DYNA_STAT( tmpFile.c_str(), st) == 0 )
{
if ( adapted )
{
this->Adaptations.push_back( (int)this->Files.size() );
adapted = false;
}
this->Files.push_back( tmpFile );
this->FileSizes.push_back( st.st_size );
this->FileAdaptLevels.push_back( adaptLevel );
tryAdapt = 1;
++filenum;
}
else
{*/
--tryAdapt;
++adaptLevel;
filenum = 0;
adapted = true;
// }
}
return this->Files.size() == 0;
}
#1
2
This is a deprecated Cygwin API that was dropped in the x86_64 port. While you could fix this by using the current equivalent, I suggest a more extensive patchset found here.
这是一个废弃的Cygwin API,在x86_64端口中被删除。虽然您可以通过使用当前等效项来解决这个问题,但我建议在这里找到一个更广泛的补丁集。
#2
0
Solved the problem. I think the issue was with some if_else conditions related to some settings for other environments like POSIX, FreeBSD. I am not an expert so by hit and trial, I commented some lines in the file LSDynaFamily.cxx.
解决了这个问题。我认为问题出在一些if_else条件上,这些条件与POSIX、FreeBSD等其他环境的一些设置有关。我不是专家,所以通过hit和trial,我在lsdynafamil .cxx文件中注释了一些行。
Line number 44:
44行号:
//return stat64(fname,&s);
Part of line number 227 onwards was modified as below:
第227号线开始部分修改如下:
//#elif USE_STAT_64
//struct stat64 st;
Part of line number 240:
#if defined (WIN32) && VTK_SIZEOF_ID_TYPE==8
struct __stat64 st;
//#elif USE_STAT_64
//struct stat64 st;
#else
struct stat st;
#endif
while ( tryAdapt >= 0 )
{
tmpFile = vtkLSGetFamilyFileName( this->DatabaseDirectory.c_str(),
this->DatabaseBaseName,
adaptLevel,
filenum );
/* if ( LS_DYNA_STAT( tmpFile.c_str(), st) == 0 )
{
if ( adapted )
{
this->Adaptations.push_back( (int)this->Files.size() );
adapted = false;
}
this->Files.push_back( tmpFile );
this->FileSizes.push_back( st.st_size );
this->FileAdaptLevels.push_back( adaptLevel );
tryAdapt = 1;
++filenum;
}
else
{*/
--tryAdapt;
++adaptLevel;
filenum = 0;
adapted = true;
// }
}
return this->Files.size() == 0;
}