[vtkusers] Problem Compiling VTK-4.4 With Cmake-Borland

Andrea Gavana andrea.gavana at polymtl.ca
Fri Jul 16 11:35:47 EDT 2004


Hello NG,

      thanks William for your kind help... I've done exactly as you said, and
this is what I found from vtkWrpaPython.obj:

<snip>
/* C:\Python23\include\stdio.h 189: */
/* C:\Python23\include\stdio.h 190: */
/* C:\Python23\include\stdio.h 191: */ extern FILE _iob[];
/* C:\Python23\include\stdio.h 192: */
/* C:\Python23\include\stdio.h 193: */
<snip>

I've looked at stdio.h in the Python include, and this are the interesting
lines:

<snip>
/* Declare _iob[] array */

#ifndef _STDIO_DEFINED
_CRTIMP extern FILE _iob[];
#endif  /* _STDIO_DEFINED */

<snip>


I am not exactly a guru in C/C++ (I almost don't know anything), so I really
can't imagine what is wrong... I've looked at other stdio.h files on my hard
drive (from Borland, MingW, MS), and they are quite different...

The same problem appears in VtkParse.tab.obj, as I can see:

/* C:\Python23\include\stdio.h 190: */
/* C:\Python23\include\stdio.h 191: */ extern FILE _iob[];
/* C:\Python23\include\stdio.h 192: */


... does anyone have an explanation? Are the Python files in the include
directory not correct? Or it is simply my fault (or the fault of my ignorance
in C/C++)?

Thanks really a lot for your support.

Andrea.

Selon "William A. Hoffman" <billlist at nycap.rr.com>:

> OK, I am not sure what is wrong.
> My guess now is that you have a file in your python include, or some
> other include path that is picking up another compilers io library somehow.
> I do not have iob being referenced in my bcc install.
>
> You could try this:
>
> edit the Makefile in Wrapping/Makefile
> Change the targets for vtkWrapPython.obj and vtkParse.tab.obj to use
> cpp32 and not bcc32.  Then remove the .obj files and run make in that
> directory.   That will fail, but the resulting .obj files will be the
> output of the preprocessor.  You can then look at those files and try and
> figure out where the reference to iob is coming from.
>
> -Bill
>
>
> At 09:56 AM 7/16/2004, Andrea Gavana wrote:
> >Hello William,
> >
> >      thanks for the answer. Unfortunately, I don't think that the Borland
> >compiler installation is the problem. I have just uninstalled it, went back
> to:
> >
> >http://www.borland.com/products/downloads/download_cbuilder.html
> >
> >And I downloaded the free command line tool from there. I re-installed the
> >compiler. I've read the readme.txt from borland directory, I created the 2
> >files that are as follows:
> >
> >1) bcc32.cfg:
> >
> >-I"c:\Borland\Bcc55\include"
> >-L"c:\Borland\Bcc55\lib"
> >
> >2) iling32.cfg:
> >
> >-L"c:\Borland\Bcc55\lib"
> >
> >This is what the readme.txt says about the 2 files.
> >Concerning VTK, I have downloaded the source from:
> >
> >http://www.vtk.org/files/release/4.4/VTK-4.4-LatestRelease.zip
> >
> >I unzipped them to C:\VTK, and I have created the directory C:\vtkbin for
> CMake
> >(CMake version 2.0, on C:\Programmi\Cmake20). I can "easily" (!) make CMake
> >working, and it creates the Makefile (strangely, CMake can not find the
> python
> >exe, dll and include, even if I put them on the standard installation path
> >C:\python23. Another doubt I have, is regardin the variable
> >PYTHON_DEBUG_LIBRARY, I have set it as python23.dll, but I am not sure).
> >When I run "make" from the dos command prompt, the errors I get are:
> >
> >Determining if the include file unistd.h exists failed with the following
> >output:
> >
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >Building dependencies. cmake.depends...
> >-- Compiling VTK CMake commands
> >-- Compiling VTK CMake commands - done
> >-- Loading VTK CMake commands
> >-- Loading VTK CMake commands - done
> >-- Using Buildname: Windows-bcc32
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >cmake.depends is up-to-date
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >C:/vtkbin/Wrapping: building default_target
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >Building dependencies. cmake.depends...
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >Building object file vtkWrapPython.obj...
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >C:\VTK\Wrapping\vtkWrapPython.c:
> >Warning W8004 C:\VTK\Wrapping\vtkWrapPython.c 862: 'fp' is assigned a value
> that
> > is never used in function outputFunction
> >Building object file vtkParse.tab.obj...
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >C:\VTK\Wrapping\vtkParse.tab.c:
> >Warning W8004 lex.yy.c 1764: 'yy_current_state' is assigned a value that is
> neve
> >r used in function yylex
> >Warning W8004 lex.yy.c 1089: 'yy_bp' is assigned a value that is never used
> in f
> >unction yylex
> >Warning W8004 lex.yy.c 1089: 'yy_cp' is assigned a value that is never used
> in f
> >unction yylex
> >Warning W8004 vtkParse.y 1063: 'str' is assigned a value that is never used
> in f
> >unction main
> >Building executable C:\vtkbin\bin\vtkWrapPython.exe...
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
> >Error: Unresolved external '__iob' referenced from
> C:\VTKBIN\WRAPPING\VTKPARSE.T
> >AB.OBJ
> >
> >** error 1 ** deleting C:\vtkbin\bin\vtkWrapPython.exe
> >
> >** error 1 ** deleting default_target
> >
> >** error 1 ** deleting default_target_Wrapping
> >
> >** error 1 ** deleting default_target
> >
> >
> >And from CMakeError.log:
> >
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >
> >Building object file CheckIncludeFile.obj...
> >
> >        bcc32 @MAKE0001.@@@
> >
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >
> >C:\vtkbin\CMakeTmp\CheckIncludeFile.c:
> >
> >Error E2209 C:\vtkbin\CMakeTmp\CheckIncludeFile.c 1: Unable to open include
> file
> >'unistd.h'
> >
> >*** 1 errors in Compile ***
> >
> >
> >
> >** error 1 ** deleting CheckIncludeFile.obj
> >
> >
> >
> >Determining if the include file sys/prctl.h exists failed with the following
> >output:
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >
> >Building object file CheckIncludeFile.obj...
> >
> >        bcc32 @MAKE0001.@@@
> >
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >
> >C:\vtkbin\CMakeTmp\CheckIncludeFile.c:
> >
> >Error E2209 C:\vtkbin\CMakeTmp\CheckIncludeFile.c 1: Unable to open include
> file
> >'sys/prctl.h'
> >
> >*** 1 errors in Compile ***
> >
> >
> >
> >** error 1 ** deleting CheckIncludeFile.obj
> >
> >
> >
> >Determining if the include file pthread.h exists failed with the following
> >output:
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >
> >Building object file CheckIncludeFile.obj...
> >
> >        bcc32 @MAKE0001.@@@
> >
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >
> >C:\vtkbin\CMakeTmp\CheckIncludeFile.c:
> >
> >Error E2209 C:\vtkbin\CMakeTmp\CheckIncludeFile.c 1: Unable to open include
> file
> >'pthread.h'
> >
> >*** 1 errors in Compile ***
> >
> >
> >
> >** error 1 ** deleting CheckIncludeFile.obj
> >
> >
> >
> >Determining the endianes of the system passed. The system is little
> endianTest
> >produced following output:
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >
> >Building object file TestBigEndian.obj...
> >
> >        bcc32 @MAKE0001.@@@
> >
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >
> >c:\programmi\cmake20\Modules\TestBigEndian.c:
> >
> >Building executable C:\vtkbin\CMakeTmp\cmTryCompileExec.exe...
> >
> >        bcc32 @MAKE0000.@@@
> >
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >
> >Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
> >
> >
> >
> >Determining size of long long failed with the following output:
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >
> >Building object file CheckTypeSize.obj...
> >
> >        bcc32 @MAKE0001.@@@
> >
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >
> >c:\programmi\cmake20\Modules\CheckTypeSize.c:
> >
> >Error E2176 c:\programmi\cmake20\Modules\CheckTypeSize.c 23: Too many types
> in
> >declaration in function main
> >
> >*** 1 errors in Compile ***
> >
> >
> >
> >** error 1 ** deleting CheckTypeSize.obj
> >
> >
> >
> >Determining if the compiler is MSVC 6 failed with the following output:
> >MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >
> >Building object file vtkTestCompilerIsVC6.obj...
> >
> >        bcc32 @MAKE0001.@@@
> >
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >
> >C:\VTK\CMake\vtkTestCompilerIsVC6.cxx:
> >
> >Building executable C:\vtkbin\CMakeTmp\CMakeTmp\cmTryCompileExec.exe...
> >
> >        bcc32 @MAKE0000.@@@
> >
> >Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >
> >Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
> >
> >Error: Unresolved external '_main' referenced from
> >C:\BORLAND\BCC55\LIB\C0X32.OBJ
> >
> >
> >
> >** error 1 ** deleting C:\vtkbin\CMakeTmp\CMakeTmp\cmTryCompileExec.exe
> >
> >
> >I don't know what to do...
> >
> >Thanks for every suggestion.
> >
> >Andrea.
> >
> >Selon "William A. Hoffman" <billlist at nycap.rr.com>:
> >
> >> There is something wrong with your borland compiler installation.
> >> If you see the nightly dashboard, there are several builds of
> >> VTK that are tested with the borland compiler each night:
> >>
> >> http://www.vtk.org/Testing/Dashboard/20040716-0300-Nightly/Dashboard.html
> >>
> >> Win32-bcc
> >> Win32-bcc5.5
> >>
> >> None of those are doing python wrapping, but I just gave it a try on
> >> my machine, and it goes right past the vtkWrapPython.exe compile:
> >>
> >>
> >> MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >> Building object file vtkWrapPython.obj...
> >> Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >> c:\hoffman\BuildNoSpace\ParaView\VTK\Wrapping\vtkWrapPython.c:
> >> Building object file vtkParse.tab.obj...
> >> Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >> c:\hoffman\BuildNoSpace\ParaView\VTK\Wrapping\vtkParse.tab.c:
> >> Building executable
> >> c:\hoffman\BuildNoSpace\VTKBorland\bin\vtkWrapPython.exe...
> >> Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
> >> Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
> >> c:/hoffman/BuildNoSpace/VTKBorland/Utilities: building default_target
> >> MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >> MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >> Building dependencies. cmake.depends...
> >> MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >> MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
> >> cmake.depends is up-to-date
> >>
> >> Please read the readme.txt that comes with borland 5.5 ,
> >> make sure you create these files:
> >> bin/bcc32.cfg  bin/ilink32.cfg
> >>
> >>
> >
> >_______________________________________________
> >This is the private VTK discussion list.
> >Please keep messages on-topic. Check the FAQ at:
> <http://public.kitware.com/cgi-bin/vtkfaq>
> >Follow this link to subscribe/unsubscribe:
> >http://www.vtk.org/mailman/listinfo/vtkusers
>
>






More information about the vtkusers mailing list