From: Wheeler, F. W \(Research\) <wh...@cr...> - 2005-10-21 13:09:41
|
I am able to configure and build vxl using MinGW from cygwin using these = exact commands ... mkdir -p $TOP/vxl_bld_min rm -f $TOP/vxl_bld_min/CMakeCache.txt cd $TOP/vxl_bld_min # use the windows version of cmake, but make Unix Makefiles "/cygdrive/c/Program Files/CMake20/bin/cmake" \ -G"Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX:PATH=3D"`cygpath -m $TOP/vxl_usr_min`" \ -DCMAKE_C_COMPILER:FILEPATH=3D"`cygpath -m /usr/bin/gcc`" \ -DCMAKE_CXX_COMPILER:FILEPATH=3D"`cygpath -m /usr/bin/g++`" \ -DCMAKE_C_LINK_SHARED:FILEPATH=3D"`cygpath -m /usr/bin/gcc`" \ -DCMAKE_CXX_LINK_SHARED:FILEPATH=3D"`cygpath -m /usr/bin/g++`" \ -DCMAKE_C_FLAGS:STRING=3D"-Wall -g -O0 -mno-cygwin" \ -DCMAKE_CXX_FLAGS:STRING=3D"-Wall -g -O0 -mno-cygwin" \ -DX11_X11_INCLUDE_PATH:PATH=3DIGNORE \ -DVXL_FORCE_V3P_ZLIB:BOOL=3DYES \ -DVXL_FORCE_V3P_PNG:BOOL=3DYES \ -DVXL_FORCE_V3P_JPEG:BOOL=3DYES \ -DVXL_FORCE_V3P_MPEG2:BOOL=3DYES \ -DVXL_FORCE_V3P_TIFF:BOOL=3DYES \ -DVXL_FORCE_V3P_DCMTK:BOOL=3DYES \ -DVXL_BUILD_DCMTK:BOOL=3DYES \ -DBUILD_VGUI:BOOL=3DYES \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=3DOFF \ "`cygpath -m $TOP/vxl_src`" cd $TOP/vxl_bld_min make This is a complete new build from scratch. TOP is an envronment = varaiable that holds a directory name. I just started this build. It is up to vgui with no problems. Where in = the build process do you have a problem? If the above does not work I suggest examining 'printenv' carefully. =20 What follows may be irrelevant. I noticed the following in my dashboard build setup script. This is in = a section for a cmake dashboard build using mingw that is no longer = used. # need to set CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS in environment # so gcc with -mno-cygwin gets used for the cmake tests ENVIRON_BEFORE=3D"\ CC=3D'`cygpath -m /usr/bin/gcc`'; CXX=3D'`cygpath -m /usr/bin/g++`'; CFLAGS=3D'-mno-cygwin'; CXXFLAGS=3D'-mno-cygwin'; LDFLAGS=3D'-mno-cygwin';" ENVIRON_BEFORE gets evaled later in the script, before cmake is run. = Since these are set, but not exported this would have no effect. Hmmm. = Plus, this portion of the script is no longer used. So, I'm not sure = why it is there, but I want to mention it since it is a clue that at = some point I thought these variables needed to be set like this. When I did the config/build shown above, none of the env vars were set. = (Make sure they are unset, not set to ''.) Fred > -----Original Message----- > From: vxl...@li... > [mailto:vxl...@li...]On Behalf Of Stefan v. > Wachter > Sent: Friday, October 21, 2005 2:30 AM > To: vxl...@li... > Subject: Re2: [Vxl-users] Cygwin / mingw build problems >=20 >=20 > Thanks for your answer! It turned out that my problems are cmake=20 > related: Yesterday I used the cmake.exe from cygwin. This version=20 > assumes that an X11 environment exists. Today I switched to=20 > cmakeSetup.exe from the cmake Windows binary distribution.=20 > This is a lot=20 > better, but still problems exist: Checking for the existance=20 > of include=20 > files is done with this command: > Building object file CheckIncludeFile.o... > c++.exe -o CheckIncludeFile.o -c=20 > G:/src/vxl/bin_cygwin_neu/CMakeTmp/CheckIncludeFile.cxx > >> but it should be: >=20 > c++.exe -mno-cygwin -o CheckIncludeFile.o -c=20 > G:/src/vxl/bin_cygwin_neu/CMakeTmp/CheckIncludeFile.cxx > Otherwise the include dir /usr/include and not=20 > /usr/include/mingw will=20 > be used. > To avoid this problem cmake should use the CXX compiler command with=20 > CXX_FLAGS appended. >=20 > I had to manually edit the CMakeCache.txt: > VXL_HAS_PTHREAD_H:INTERNAL=3D1 changed to = VXL_HAS_PTHREAD_H:INTERNAL=3D > The same with srand48 and drand48 >=20 > After these manual modifications it compiled and linked! > Did someone perform the same modifications on your dashboard? >=20 > Stefan >=20 > Wheeler, Frederick W (Research) schrieb: >=20 > >Stefan, > > > >I have a Cygwin/MinGW build on the VXL dashboard. It has=20 > been working for a couple of years, through several cygwin=20 > tool upgrades. Take a look at the build notes (the icon next=20 > to the Build Name on the dashboard) to see the CMakeCache=20 > settings I used and the various tool versions. It's=20 > basically an up-to-date Cygwin installation. You wrote=20 > "CXX_FLAGS and CC_FLAGS". Do you mean "CXX_FLAGS and=20 > C_FLAGS" -- with "C" instead of "CC"? Maybe your config got=20 > messed up because .c files were not compiled with=20 > -mno-cygwin? For CMake I set > > > >CMAKE_C_FLAGS:STRING=3D-mno-cygwin -Wall -O2 -g > >CMAKE_CXX_FLAGS:STRING=3D-mno-cygwin -Wall -O2 -g > > > >I have not compiled VXL in the MinGW environment, just in=20 > Cygwin with -mno-cygwin. > > > >Fred > > > >The build notes ... > > > >http://www.cs.rpi.edu/research/groups/vxl/Testing/Sites/crd.g > e.com/MinGW-3.8_gcc-3.4.4_-Wall_-O2_static/20051019-0300-Night > ly/Notes.html > > > > =20 > > > >>-----Original Message----- > >>From: vxl...@li... > >>[mailto:vxl...@li...]On Behalf Of Stefan v. > >>Wachter > >>Sent: Wednesday, October 19, 2005 2:25 PM > >>To: vxl...@li... > >>Cc: Stefan v. Wachter > >>Subject: [Vxl-users] Cygwin / mingw build problems > >> > >> > >>What is the recommended procedure to compile vxl (1.3.0) on Windows=20 > >>using the cygwin (without need for the cygwin1.dll) or mingw tools? > >>I started with cygwin and the -mno-cygwin flag in CXX_FLAGS and=20 > >>CC_FLAGS. This brought me to some errors e.g.: > >>/cygdrive/g/src/vxl/vxl-1.3.0/core/vnl/vnl_sample.cxx: In=20 > >>function `void=20 > >>vnl_sample_reseed()': > >>/cygdrive/g/src/vxl/vxl-1.3.0/core/vnl/vnl_sample.cxx:28: error:=20 > >>`srand48' undeclared (first use this function) > >> > >>I think this is because there are different stdlib.h files in=20 > >>/usr/include and /usr/include/mingw . It looks like cmake=20 > doesn't use=20 > >>the /usr/include/mingw/stdlib.h > >>The were other problems with pthread.h not found. > >> > >>Then I switched to a pure mingw environment. But there I=20 > >>couldn't build=20 > >>cmake. Using the cygwin ccmake brought an error with=20 > >>strstream.h not found. > >> > >>Please tell me what configurations are working for you. > >> > >>Thanks a lot, > >>Stefan v. Wachter > >>ALPHA-OMEGA digital GmbH > >>Munich > >> > >> > >>------------------------------------------------------- > >>This SF.Net email is sponsored by: > >>Power Architecture Resource Center: Free content, downloads,=20 > >>discussions, > >>and more. http://solutions.newsforge.com/ibmarch.tmpl > >>_______________________________________________ > >>Vxl-users mailing list > >>Vxl...@li... > >>https://lists.sourceforge.net/lists/listinfo/vxl-users > >> > >> =20 > >> > > > > > > =20 > > >=20 >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by: > Power Architecture Resource Center: Free content, downloads,=20 > discussions, > and more. http://solutions.newsforge.com/ibmarch.tmpl > _______________________________________________ > Vxl-users mailing list > Vxl...@li... > https://lists.sourceforge.net/lists/listinfo/vxl-users >=20 |
From: Stefan v. W. <svw...@mn...> - 2005-10-21 14:20:29
|
I confirm that your build command with cmake (command line tool) works in my environment perfectly. Seems like the CMakeSetup.exe (the version with GUI) 2.0 Patch 6 (Patch 5 has the same behaviour) makes the problems. After configuring with this tool and the same config values as above I have in CMakeCache.txt these lines, which are wrong: VXL_HAS_PTHREAD_H:INTERNAL=1 VXL_STDLIB_HAS_SRAND48:INTERNAL=1 VXL_STDLIB_HAS_DRAND48:INTERNAL=1 It is strange that in the build directory of the good build (with cmake.exe not CMakeSetup.exe) the file CMakeOutput.log has: " Determining if the include file pthread.h exists passed with the following output: Building object file CheckIncludeFile.o... c++.exe -o CheckIncludeFile.o -c G:/src/vxl/bin_cygwin_test/CMakeTmp/CheckIncludeFile.cxx Building executable G:/src/vxl/bin_cygwin_test/CMakeTmp/cmTryCompileExec.exe... c++.exe CheckIncludeFile.o -o G:/src/vxl/bin_cygwin_test/CMakeTmp/cmTryCompileExec.exe " This means it found a pthread.h file! Could you please test how CMakeSetup.exe works in your environment? Stefan |
From: Amitha P. <pe...@cs...> - 2005-10-21 18:46:44
|
I think this is not as easy with CMakeSetup. My guess: the problem is that when CMakeSetup runs, it runs configuration checks with the "current" compiler. As you start, it won't have the "-mno-cygwin" flag. By the time you get to enter it into the flags, the configuration part is already over, and the system has figured out what the Cygwin g++ has, and not what the MingW g++ has. When you run cmake directly, the compiler flags are already set by the time the configuration checks run, and all is well. Perhaps you should add a feature request to CMake to allow the compiler to be changed before the project's configuration checks are run. (Passing "-mno-cygwin" is effectively changing the compiler.) Amitha. |
From: William A. H. <bil...@ny...> - 2005-10-25 19:37:47
|
If you set CXXFLAGS and CFLAGS environment variables prior to running cmake or CMakeSetup, then you can get flags into the compiler that will be used for trycompiles. -Bill At 02:46 PM 10/21/2005, Amitha Perera wrote: >I think this is not as easy with CMakeSetup. My guess: the problem is >that when CMakeSetup runs, it runs configuration checks with the >"current" compiler. As you start, it won't have the "-mno-cygwin" >flag. By the time you get to enter it into the flags, the >configuration part is already over, and the system has figured out >what the Cygwin g++ has, and not what the MingW g++ has. > >When you run cmake directly, the compiler flags are already set by >the time the configuration checks run, and all is well. > >Perhaps you should add a feature request to CMake to allow the >compiler to be changed before the project's configuration checks are >run. (Passing "-mno-cygwin" is effectively changing the compiler.) > >Amitha. > > >------------------------------------------------------- >This SF.Net email is sponsored by: >Power Architecture Resource Center: Free content, downloads, discussions, >and more. http://solutions.newsforge.com/ibmarch.tmpl >_______________________________________________ >Vxl-users mailing list >Vxl...@li... >https://lists.sourceforge.net/lists/listinfo/vxl-users |