From: Arjen M. <arj...@wl...> - 2006-09-11 19:58:14
|
Hi all, I have a bunch of problems on Windows with CMake, they occur during the makefile generation: C:\arjen\plplot-5.6.1-cmake\install-windows>c:\arjen\cmake\install\bin\debug\cmake-DBUILD_SHARED_LIBS:BOOL=ON -DDEFAULT_NO_DEVICES:BOOL=OFF -DPLD_wingcc:BOOL=ON -DBUILD_TEST:BOOL=ON -DENABLE_tcl:BOOL=ON -DENABLE_tk:BOOL=OFF -DENABLE_f77:BOOL=OFF -DENABLE_f95:BOOL=OFF -DWITH_CSA:BOOL=ON -G "NMake Makefiles" ..\plplot -- Check for CL compiler version -- Check for CL compiler version - 1200 -- Check if this is a free VC compiler -- Check if this is a free VC compiler - no -- Check CL platform -- Check CL platform - 32 bit -- Check for working C compiler: cl -- Check for working C compiler: cl -- works -- Check size of void* -- Check size of void* - done -- Check for working CXX compiler: cl -- Check for working CXX compiler: cl -- works -- CMAKE_SYSTEM_NAME = Windows -- Checking whether system has ANSI C header files -- Looking for include files StandardHeadersExist -- Looking for include files StandardHeadersExist - found -- Performing Test memchrExists -- Performing Test memchrExists - Success -- Performing Test freeExists -- Performing Test freeExists - Success -- Check for whether ctype.h macros work on characters with the high bit set. -- High-bit characters - work -- ANSI C header files - found -- Looking for include files HAVE_UNISTD_H -- Looking for include files HAVE_UNISTD_H - not found. -- Looking for include files HAVE_TERMIOS_H -- Looking for include files HAVE_TERMIOS_H - not found. -- Performing Test HAVE_SYS_WAIT_H -- Performing Test HAVE_SYS_WAIT_H - Failed -- Looking for DIR in sys/types.h;dirent.h -- Looking for DIR in sys/types.h;dirent.h - not found. -- Looking for DIR in sys/types.h;sys/ndir.h -- Looking for DIR in sys/types.h;sys/ndir.h - not found. -- Looking for DIR in sys/types.h;sys/dir.h -- Looking for DIR in sys/types.h;sys/dir.h - not found. -- Looking for DIR in sys/types.h;ndir.h -- Looking for DIR in sys/types.h;ndir.h - not found. -- Check for signal return type in <signal.h> -- Check for signal handler return type type void - found -- Looking for popen -- Looking for popen - not found -- Looking for usleep -- Looking for usleep - not found -- Looking for isinf -- Looking for isinf - not found -- Looking for finite -- Looking for finite - not found -- Looking for _finite -- Looking for _finite - found -- Looking for isnan -- Looking for isnan - not found -- Looking for _isnan -- Looking for _isnan - found -- Check for using namespace support -- Check for using namespace - found -- Looking for C++ include cmath -- Looking for C++ include cmath - found -- Check for broken isnan support in <cmath> -- Check for isnan in <cmath> - not found -- Check for using stdint.h with CXX compiler -- Check for using stdint.h with CXX compiler - not found -- WARNING: swig not found. Disabling java bindings -- WARNING: swig not found. Disabling python bindings -- Looking for include paths and libraries for Tcl/Tk -- Looking for include paths and libraries for Tcl/Tk - found -- Looking for itcl.h -- Looking for itcl.h - not found -- WARNING: Disabling incr Tcl interface code -- Looking for itk.h -- Looking for itk.h - not found -- WARNING: Disabling incr Tk interface code -- Check for NaN awareness in C compiler -- Check for NaN awareness in C compiler - found -- WARNING: qhull library not found. Setting HAVE_QHULL to OFF. -- Looking for pkg-config -- Looking for pkg-config - not found -- WARNING: Build of examples will not work. -- WARNING: libltdl library not found. Setting ENABLE_DYNDRIVERS OFF. Please install that library and/or set the environment variables CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH appropriately. -- WARNING: cd.h and/or libcd.a not found. Setting PLD_cgm to OFF. -- WARNING: pkg-config not found. Setting PLD_gcw and ENABLE_pygcw to OFF. -- WARNING: ENABLE_tk OFF. Setting PLD_tk, PLD_ntk, and PLD_tkwin OFF. -- WARNING: This device requires ENABLE_DYNDRIVERS ON or ENABLE_MIX_CXX ON. Both are OFF. Setting PLD_psttf to OFF. -- Looking for gdi32 header and library -- FindGDI32: Found gdi32 header file and library -- Looking for gdi32 header and library - found -- WARNING: This device requires ENABLE_DYNDRIVERS ON or ENABLE_MIX_CXX ON. Both are OFF. Setting PLD_wxwidgets to OFF. -- DATA_DIR: C:/Program Files/plplot/share/plplot5.6.1 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x01 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x02 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x03 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x04 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x05 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x06 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x07 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x08 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x09 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x10 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x11 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x12 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x13 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x14 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x15 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x16 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x17 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x18 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x19 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x22 -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/README.tcldemos -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plgrid.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plot.dat -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plot.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/r.dat -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/stats.log -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/tcldemos.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x01.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x02.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x03.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x04.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x05.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x06.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x07.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x08.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x09.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x10.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x11.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x12.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x13.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x14.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x15.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x16.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x17.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x18.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x19.tcl -- C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/x22.tcl Important CMake results: CMAKE_SYSTEM_NAME: Windows UNIX: WIN32: 1 APPLE: MINGW: CYGWIN: BORLAND: SWIG_FOUND: 0 PERL_FOUND: TRUE X11_FOUND: CMAKE_INSTALL_PREFIX: C:/Program Files/plplot CMAKE_BUILD_TYPE: Debug CMAKE_C_COMPILER CMAKE_C_FLAGS: C:/Program Files/Microsoft Visual Studio/VC98/Bin/CL.EXE /DWIN32 /D_WINDOWS /W3 /Zm1000 CMAKE_CXX_COMPILER CMAKE_CXX_FLAGS: C:/Program Files/Microsoft Visual Studio/VC98/Bin/CL.EXE /DWIN32 /D_WINDOWS /W3 /Zm1000 /GX /GR LIB_TAG: d ENABLE_DYNDRIVERS: OFF DEVICES_LIST: hp7470;hp7580;lj_hpgl;mem;null;pbm;plmeta;ps;wingcc;xfig DRIVERS_LIST: hpgl;mem;null;pbm;plmeta;ps;wingcc;xfig Library options: BUILD_SHARED_LIBS: ON PL_DOUBLE: ON Optional libraries: HAVE_QHULL: OFF WITH_CSA: ON HAVE_FREETYPE: HAVE_PTHREAD: Language Bindings: ENABLE_f77: OFF ENABLE_f95: OFF ENABLE_cxx: ON ENABLE_java: OFF ENABLE_python: OFF ENABLE_octave: ENABLE_tcl: ON ENABLE_itcl: OFF ENABLE_tk: OFF ENABLE_itk: OFF ENABLE_pdl: OFF -- Configuring done CMake Error: Cannot open file for write: C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/README.tcldemos.dir/build.make.tmpCMake Error: : System Error: Invalid argument CMake Error: Cannot open file for write: C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plgrid.tcl.dir/build.make.tmpCMake Error: : System Error: Invalid argument CMake Error: Cannot open file for write: C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plot.dat.dir/build.make.tmpCMake Error: : System Error: Invalid argument CMake Error: Cannot open file for write: C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plot.tcl.dir/build.make.tmpCMake Error: : System Error: Invalid argument CMake Error: Cannot open file for write: C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/r.dat.dir/build.make.tmpCMake Error: : System Error: Invalid argument .... this continues for a while ... Any thoughts? (note the extra output in the middle, I used that to see if anything went wrong there). Note the C: in the middle of the file name! (Oh, I had to adjust the code for recognising the proper cat program, because the original did not work, but I can not imagine that is the cause) Regards, Arjen |
From: Alan W. I. <ir...@be...> - 2006-09-11 22:02:48
|
On 2006-09-11 21:57+0200 Arjen Markus wrote: > Hi all, > > I have a bunch of problems on Windows with CMake, they occur during the > makefile generation: > > C:\arjen\plplot-5.6.1-cmake\install-windows>c:\arjen\cmake\install\bin\debug\cmake-DBUILD_SHARED_LIBS:BOOL=ON -DDEFAULT_NO_DEVICES:BOOL=OFF > -DPLD_wingcc:BOOL=ON -DBUILD_TEST:BOOL=ON -DENABLE_tcl:BOOL=ON > -DENABLE_tk:BOOL=OFF -DENABLE_f77:BOOL=OFF -DENABLE_f95:BOOL=OFF > -DWITH_CSA:BOOL=ON -G "NMake Makefiles" ..\plplot > [...] > -- Configuring done > CMake Error: Cannot open file for write: > C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/README.tcldemos.dir/build.make.tmpCMake Error: : System Error: Invalid argument > CMake Error: Cannot open file for write: > C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plgrid.tcl.dir/build.make.tmpCMake Error: : System Error: Invalid argument > CMake Error: Cannot open file for write: > C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plot.dat.dir/build.make.tmpCMake Error: : System Error: Invalid argument > CMake Error: Cannot open file for write: > C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/plot.tcl.dir/build.make.tmpCMake Error: : System Error: Invalid argument > CMake Error: Cannot open file for write: > C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/CMakeFiles/C:/arjen/plplot-5.6.1-cmake/install-windows/examples/tcl/r.dat.dir/build.make.tmpCMake Error: : System Error: Invalid argument > .... this continues for a while ... > > Any thoughts? (note the extra output in the middle, I used that to > see if anything went wrong there). Note the C: in the middle of the file > name! Could it be your command-line invocation? For example, there is no space between cmake and the first option. That lack of a space would not work at all on Unix, and might cause strange things to happen on windows. Whenever I run into cmake troubles, the first test I try is starting with an empty build directory. Have you done that test? Another thing to ask yourself is what has changed since the windows platform was working fine (at least in a limited way) for you before. CVS hasn't changed much since you last reported success so you might want to consult your notes about exactly what you did before when everything worked. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Arjen M. <arj...@wl...> - 2006-09-12 04:34:08
|
> On 2006-09-11 21:57+0200 Arjen Markus wrote: > >> Hi all, >> >> I have a bunch of problems on Windows with CMake, they occur during >> the makefile generation: >> >> Any thoughts? (note the extra output in the middle, I used that to see >> if anything went wrong there). Note the C: in the middle of the file >> name! > > Could it be your command-line invocation? For example, there is no > space between cmake and the first option. That lack of a space would > not work at all on Unix, and might cause strange things to happen on > windows. > > Whenever I run into cmake troubles, the first test I try is starting > with an empty build directory. Have you done that test? > Yes, I specifically used an empty build directory, separate from the sources. In the CMakeLists.txt file for examples/tcl there were some comments to the effect that something different had to be done if the source directory and the build directory are not the same. Which is the case now. > Another thing to ask yourself is what has changed since the windows > platform was working fine (at least in a limited way) for you before. > CVS hasn't changed much since you last reported success so you might > want to consult your notes about exactly what you did before when > everything worked. > The main thing that has changed is my modus operandi: use a separate directory for building. This means a different part of the CMake buidl system is invoked, but I can not see how that causes this strange behaviour. (Before I used the _same_ directory for Windows, and that succeeded) Regards, Arjen |
From: Werner S. <sm...@ia...> - 2006-09-12 07:28:02
|
Hi, are the errors only concerning the bindings/tcl directory (it seems so)? Than I think you somehow corrupted the CMakeFile.txt in this directory somehow. Do the problems also occur after a fresh cvs checkout? Werner Arjen Markus wrote: >> On 2006-09-11 21:57+0200 Arjen Markus wrote: >> >>> Hi all, >>> >>> I have a bunch of problems on Windows with CMake, they occur during >>> the makefile generation: > >>> Any thoughts? (note the extra output in the middle, I used that to see >>> if anything went wrong there). Note the C: in the middle of the file >>> name! >> Could it be your command-line invocation? For example, there is no >> space between cmake and the first option. That lack of a space would >> not work at all on Unix, and might cause strange things to happen on >> windows. >> >> Whenever I run into cmake troubles, the first test I try is starting >> with an empty build directory. Have you done that test? >> > > Yes, I specifically used an empty build directory, separate from > the sources. In the CMakeLists.txt file for examples/tcl there were some > comments to the effect that something different had to be done if > the source directory and the build directory are not the same. > Which is the case now. > >> Another thing to ask yourself is what has changed since the windows >> platform was working fine (at least in a limited way) for you before. >> CVS hasn't changed much since you last reported success so you might >> want to consult your notes about exactly what you did before when >> everything worked. >> > > The main thing that has changed is my modus operandi: use a separate > directory for building. This means a different part of the CMake > buidl system is invoked, but I can not see how that causes this > strange behaviour. > > (Before I used the _same_ directory for Windows, and that succeeded) > > Regards, > > Arjen > > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel -- Dipl. Ing. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office) +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: Arjen M. <arj...@wl...> - 2006-09-12 07:48:05
|
Werner Smekal wrote: >Hi, > >are the errors only concerning the bindings/tcl directory (it seems so)? >Than I think you somehow corrupted the CMakeFile.txt in this directory >somehow. Do the problems also occur after a fresh cvs checkout? > > > I will try that, but I doubt it is the cause. As far as I can tell the problems are with the Tcl examples only. Regards, Arjen |
From: Alan W. I. <ir...@be...> - 2006-09-12 18:56:40
|
On 2006-09-12 06:33+0200 Arjen Markus wrote: > The main thing that has changed is my modus operandi: use a separate > directory for building. This means a different part of the CMake > buidl system is invoked, but I can not see how that causes this > strange behaviour. > > (Before I used the _same_ directory for Windows, and that succeeded) This is the key to the problem. A small amount of extra code is exercised in the separate build tree case for -DBUILD_TEST=ON and -DENABLE_tcl=ON, and the problem occurs just for this code which involves add_custom_target where the target includes an absolute path in the target name. Apparently that style does not work on windows although it does work on Linux. Arjen, I am really glad you exercised this specific (windows + tcl + separate build tree + BUILD_TEST) case. Otherwise, we would never have found the error until much later. Also, thanks, for making a detailed report about this problem on the CMake list. Brad King came up with a possible solution there (a changed style) which I am sure is correct. Aren't those guys great? I just implemented and cvs committed his suggested change in style for examples/tcl/CMakeLists.txt. Does that new style solve your separate build-tree problems (with -DBUILD_TEST=ON and -DENABLE_tcl=ON) on windows? It certainly works for those conditions on Linux. I have now checked all the examples, and only python has a similar old-style add_custom_target with a target that includes the absolute path. I will change that also to the new style in anticipation that you and Werner will soon be testing our python examples on windows. :-) Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Arjen M. <arj...@wl...> - 2006-09-13 06:30:13
|
Alan W. Irwin wrote: > On 2006-09-12 06:33+0200 Arjen Markus wrote: > >> The main thing that has changed is my modus operandi: use a separate >> directory for building. This means a different part of the CMake >> buidl system is invoked, but I can not see how that causes this >> strange behaviour. >> >> (Before I used the _same_ directory for Windows, and that succeeded) > > > This is the key to the problem. A small amount of extra code is > exercised > in the separate build tree case for -DBUILD_TEST=ON and > -DENABLE_tcl=ON, and > the problem occurs just for this code which involves add_custom_target > where > the target includes an absolute path in the target name. Apparently that > style does not work on windows although it does work on Linux. Probably due to the single-tree approach for directories: on Windows the C:\ drive gets in the way. > > Arjen, I am really glad you exercised this specific (windows + tcl + > separate build tree + BUILD_TEST) case. Otherwise, we would never have > found the error until much later. Also, thanks, for making a detailed > report > about this problem on the CMake list. Brad King came up with a possible > solution there (a changed style) which I am sure is correct. Aren't those > guys great? > Yes, they are! By putting our CBS to all these tests I am both learning and appreciating the CMake system. > I just implemented and cvs committed his suggested change in style for > examples/tcl/CMakeLists.txt. Does that new style solve your separate > build-tree problems (with -DBUILD_TEST=ON and -DENABLE_tcl=ON) on > windows? > It certainly works for those conditions on Linux. > > I have now checked all the examples, and only python has a similar > old-style > add_custom_target with a target that includes the absolute path. I will > change that also to the new style in anticipation that you and Werner > will > soon be testing our python examples on windows. :-) Step by step ... but it is rewarding. Regards, Arjen |
From: Alan W. I. <ir...@be...> - 2006-09-12 20:53:43
|
On 2006-09-12 11:55-0700 Alan W. Irwin wrote: > I have now checked all the examples, and only python has a similar old-style > add_custom_target with a target that includes the absolute path. I will > change that also to the new style in anticipation that you and Werner will > soon be testing our python examples on windows. :-) Done (see my latest CVS commit). Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |