Updates from iamsrijon Toggle Comment Threads | Keyboard Shortcuts

  • iamsrijon 2:13 pm on November 15, 2013 Permalink |
    Tags: image processing, multiple core processing, OpenCV, openmp   

    How to compile OpenCV to utilize multiple core processor in Linux 

    Hello there, today I am gonna tell you the story that how I was able to utilize my Core i7 (eight cores) successfully during Haartraining of samples. Usually, OpenCV can utilize only one processor core at a time which cause huge time(3-4 days, even more) to get the training results. The secret is that we are going to use OpenMP(Open Multi-Processing) instead of TBB(Threading Building Blocks) during OpenCV Compilation.

    Prerequisite:

    GCC and build-essentials are required to build the source.

    Steps:

    Step 1: Download OpenCV source from here and extract.
    Step 2: Install CMake & CMake UI
    For ubuntu and mint:

    sudo apt-get install cmake cmake-qt-gui

    For RedHat and Fedora:

    sudo yum install cmake cmake-qt-gui

    Step 3: Open Terminal and change Directory (cd) to OpenCV source path, create a new folder in which you want to save the configured source of OpenCV which we are going to build, for example, we have OpenCV 2.4.6.1 here extracted into ~/opencv-2.4.6.1/ and we are going to create a directory ~/opencv-2.4.6.1/build/ for the configured source

    Step 4: Edit and replace the lines 49 to 58 in file ~/opencv-2.4.6.1/cmake/OpenCVFindLibsPerf.cmake, for other versions of OpenCV, open that file and search for the OpenMP part and replace the part with the following lines.

    # — OpenMP —
    if(NOT HAVE_TBB AND NOT HAVE_CSTRIPES)
    include (FindOpenMP) # — since cmake version 2.6.3
    if (OPENMP_FOUND)
    set (HAVE_OPENMP TRUE)
    set (CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}”)
    set (CMAKE_C_FLAGS “${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}”)
    else()
    set ( HAVE_OPENMP FALSE)
    endif()
    else()
    set(HAVE_OPENMP 0)
    endif()

    Step 5: Run CMake GUI, and Source and Build paths to ~/opencv-2.4.6.1/ and ~/opencv-2.4.6.1/build/ respectively, press Configure and check whether OpenMP is enabled or not. If OpenMP is enabled, press Generate to save the configured source to ~/opencv-2.4.6.1/build/ directory, else recheck which step you have missed.
    OpenCV configuration using CMake GUI
    Step 6: Now, we are going to build the configured source, cd to ~/opencv-2.4.6.1/build/, run make to build and sudo make install to install OpenCV Binaries to the system

    In order to test that you can collect your own negative and positive data set, create samples and follow the tutorial here. For me, it works like wow 🙂

    Utilizing all cores of a Core i7 processor during OpenCV Haar training

    Thanks, bye 🙂

    Advertisements
     
    • vaibhav06 6:34 pm on March 18, 2015 Permalink | Log in to Reply

      Does this work woth openCV-2.4.9 too ?? I have i5(quad core) processor.
      I am facing problem after following the steps mention ed by you. Could you provide a more detailed version on using openMP with version 2.4.9.
      Is TBB (thread building block) better for parallelizing cascade training ?

      • iamsrijon 9:09 am on March 19, 2015 Permalink | Log in to Reply

        Please mention the issue that you jave faced

        • vaibhav06 12:03 pm on March 19, 2015 Permalink

          Does the change of lines in file ‘OpenCVFindLibsPerf.cmake’ apply for opencv-2.4.9 ??

          I followed the steps. I am getting following error:
          Configuring done
          — Generating done
          — Build files have been written to: /home/xyz/opencv-2.4.9/build
          make[2]: *** No rule to make target `../modules/core/src/precomp.hpp’, needed by `modules/core/opencv_core_pch_dephelp.cxx’. Stop.
          make[1]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/all] Error 2
          make: *** [all] Error 2

          Could you help with it ?

    • vaibhav06 12:26 pm on March 19, 2015 Permalink | Log in to Reply

      ~/opencv-2.4.9/build$ make
      [ 0%] Generating opencv_core_pch_dephelp.cxx
      Scanning dependencies of target opencv_core_pch_dephelp
      [ 0%] Building CXX object modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o
      c++: error: “: No such file or directory
      c++: fatal error: no input files
      compilation terminated.
      /bin/sh: 1: -fopenmp”: not found
      make[2]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o] Error 127
      make[1]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/all] Error 2
      make: *** [all] Error 2

    • vaibhav06 2:43 pm on March 19, 2015 Permalink | Log in to Reply

      I figured out the mistake.. Now all my cores are working for training.. Thank you for such a wonderful article. 🙂

    • rhfkvkekr 11:20 am on May 20, 2015 Permalink | Log in to Reply

      I got the same error vaibhav06, how could you solve the problem??

      • razorcodes 8:41 pm on September 18, 2015 Permalink | Log in to Reply

        Hey, were you able to solve the problem? If yes, will you please share?
        thanks

        • oneup105 8:37 pm on March 16, 2017 Permalink

          hey have you solved the problem … i am also having the same error .. please help

    • rhfkvkekr 11:22 am on May 20, 2015 Permalink | Log in to Reply

      I don’t know what should I do this situation

      [ 14%] Building CXX object modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o
      c++: error: “: No such file or directory
      c++: fatal error: no input files
      compilation terminated.
      /bin/sh: 1: -fopenmp”: not found
      modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/build.make:67: recipe for target ‘modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o’ failed
      make[2]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o] Error 127
      CMakeFiles/Makefile2:1027: recipe for target ‘modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/all’ failed
      make[1]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/all] Error 2
      Makefile:146: recipe for target ‘all’ failed
      make: *** [all] Error 2

      plz help…

      • iamsrijon 11:21 am on May 21, 2015 Permalink | Log in to Reply

        Please use the latest GCC, hope this will help

        • razorcodes 8:49 pm on September 18, 2015 Permalink

          I’m getting the following error. I’m clueless about it.

          [ 7%] Built target IlmImf
          [ 7%] Building CXX object modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o
          c++: error: “: No such file or directory
          c++: fatal error: no input files
          compilation terminated.
          /bin/sh: 1: -fopenmp”: not found
          modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/build.make:67: recipe for target ‘modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o’ failed
          make[2]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o] Error 127
          CMakeFiles/Makefile2:877: recipe for target ‘modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/all’ failed
          make[1]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/all] Error 2
          Makefile:136: recipe for target ‘all’ failed
          make: *** [all] Error 2

        • iamsrijon 11:18 am on September 19, 2015 Permalink

          Please check your GCC version, Openmp is probably supported from gcc 4.2 or higher, check here

    • razorcodes 5:20 pm on September 19, 2015 Permalink | Log in to Reply

      how do i check the version of gcc ? I’m working on rasp pi 2 with raspbian os.

    • razorcodes 5:47 pm on September 19, 2015 Permalink | Log in to Reply

      Detected version of GNU GCC: 46 (406)
      checking for module ‘gstreamer-base-1.0’
      package ‘gstreamer-base-1.0’ not found
      checking for module ‘gstreamer-video-1.0’
      package ‘gstreamer-video-1.0’ not found
      checking for module ‘gstreamer-app-1.0’
      package ‘gstreamer-app-1.0’ not found
      checking for module ‘gstreamer-riff-1.0’
      package ‘gstreamer-riff-1.0’ not found
      checking for module ‘gstreamer-pbutils-1.0’
      package ‘gstreamer-pbutils-1.0’ not found
      checking for module ‘gstreamer-base-0.10’
      package ‘gstreamer-base-0.10’ not found
      checking for module ‘gstreamer-video-0.10’
      package ‘gstreamer-video-0.10’ not found
      checking for module ‘gstreamer-app-0.10’
      package ‘gstreamer-app-0.10’ not found
      checking for module ‘gstreamer-riff-0.10’
      package ‘gstreamer-riff-0.10’ not found
      checking for module ‘gstreamer-pbutils-0.10’
      package ‘gstreamer-pbutils-0.10’ not found
      checking for module ‘libdc1394-2’
      package ‘libdc1394-2’ not found
      checking for module ‘libdc1394’
      package ‘libdc1394’ not found
      Looking for linux/videodev.h
      Looking for linux/videodev.h – not found
      Looking for linux/videodev2.h
      Looking for linux/videodev2.h – found
      Looking for sys/videoio.h
      Looking for sys/videoio.h – not found
      Looking for libavformat/avformat.h
      Looking for libavformat/avformat.h – found
      Looking for ffmpeg/avformat.h
      Looking for ffmpeg/avformat.h – not found
      Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
      CMake Warning at cmake/OpenCVDetectOpenCL.cmake:22 (message):
      Can’t use OpenCL
      Call Stack (most recent call first):
      CMakeLists.txt:508 (include)

      General configuration for OpenCV 2.4.10 =====================================
      Version control: unknown

      Platform:
      Host: Linux 3.18.11-v7+ armv7l
      CMake: 2.8.9
      CMake generator: Unix Makefiles
      CMake build tool: /usr/bin/make
      Configuration: RELEASE

      C/C++:
      Built as dynamic libs?: YES
      C++ Compiler: /usr/bin/c++ (ver 4.6.3)
      C++ flags (Release): “ -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fopenmp” -O3 -DNDEBUG -DNDEBUG
      C++ flags (Debug): “ -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fopenmp” -g -O0 -DDEBUG -D_DEBUG
      C Compiler: /usr/bin/gcc
      C flags (Release): “ -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fopenmp” -O3 -DNDEBUG -DNDEBUG
      C flags (Debug): “ -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fopenmp” -g -O0 -DDEBUG -D_DEBUG
      Linker flags (Release):
      Linker flags (Debug):
      Precompiled headers: YES

      OpenCV modules:
      To be built: core flann imgproc highgui features2d calib3d ml video legacy objdetect photo gpu nonfree contrib python stitching superres ts videostab
      Disabled: world
      Disabled by dependency: –
      Unavailable: androidcamera dynamicuda java ocl viz

      GUI:
      QT: NO
      GTK+ 2.x: YES (ver 2.24.10)
      GThread : YES (ver 2.40.0)
      GtkGlExt: NO
      OpenGL support: NO
      VTK support: NO

      Media I/O:
      ZLib: /usr/lib/arm-linux-gnueabihf/libz.so (ver 1.2.7)
      JPEG: /usr/lib/arm-linux-gnueabihf/libjpeg.so (ver 80)
      PNG: /usr/lib/arm-linux-gnueabihf/libpng.so (ver 1.2.49)
      TIFF: /usr/lib/arm-linux-gnueabihf/libtiff.so (ver 42 – 3.9.6)
      JPEG 2000: /usr/lib/arm-linux-gnueabihf/libjasper.so (ver 1.900.1)
      OpenEXR: build (ver 1.7.1)

      Video I/O:
      DC1394 1.x: NO
      DC1394 2.x: NO
      FFMPEG: YES
      codec: YES (ver 54.35.0)
      format: YES (ver 54.20.4)
      util: YES (ver 52.3.0)
      swscale: YES (ver 2.1.1)
      gentoo-style: YES
      GStreamer: NO
      OpenNI: NO
      OpenNI PrimeSensor Modules: NO
      PvAPI: NO
      GigEVisionSDK: NO
      UniCap: NO
      UniCap ucil: NO
      V4L/V4L2: Using libv4l1 (ver 1.0.0) / libv4l2 (ver 1.0.0)
      XIMEA: NO
      Xine: NO

      Other third-party libraries:
      Use IPP: NO
      Use Eigen: NO
      Use TBB: NO
      Use OpenMP: YES
      Use GCD NO
      Use Concurrency NO
      Use C=: NO
      Use Cuda: NO
      Use OpenCL: NO

      Python:
      Interpreter: /home/pi/.virtualenvs/cv/bin/python2 (ver 2.7.3)
      Libraries: /usr/lib/libpython2.7.so (ver 2.7.3)
      numpy: /home/pi/.virtualenvs/cv/local/lib/python2.7/site-packages/numpy/core/include (ver 1.9.2)
      packages path: lib/python2.7/site-packages

      Java:
      ant: NO
      JNI: NO
      Java tests: NO

      Documentation:
      Build Documentation: NO
      Sphinx: NO
      PdfLaTeX compiler: NO

      Tests and samples:
      Tests: YES
      Performance tests: YES
      C/C++ Examples: YES

      Install path: /usr/local

      cvconfig.h is in: /home/pi/opencv-2.4.10/build
      —————————————————————–

      Configuring done

    • felipedalosto 3:09 am on April 21, 2016 Permalink | Log in to Reply

      After almost a week working this error out:

      compilation terminated.
      /bin/sh: 1: -fopenmp”: not found

      It happens because when you copy the lines to replace in your file, at the end there are ” and not ” as the cmake recognizes. Probaly because of the layout of wordpress. Anyway, spent many hours with that and really don’t wanna anyone to pass through this again.

      • iamsrijon 1:09 pm on April 23, 2016 Permalink | Log in to Reply

        Ya, I agree. Maybe wordpress alters the hyphens and quotes, please recheck when you copy and update your cmake file

    • oneup105 8:40 pm on March 16, 2017 Permalink | Log in to Reply

      [ 0%] Generating opencv_core_pch_dephelp.cxx
      Scanning dependencies of target opencv_core_pch_dephelp
      [ 0%] Building CXX object modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o
      gcc-4.8: error: “: No such file or directory
      gcc-4.8: fatal error: no input files
      compilation terminated.
      /bin/sh: 1: -fopenmp”: not found
      make[2]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o] Error 127
      make[1]: *** [modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/all] Error 2
      make: *** [all] Error 2

      This is the error i am getting ..
      Kindly help . i need to complete it by tomorrow

      TIA

  • iamsrijon 10:28 pm on January 21, 2011 Permalink |
    Tags: How to run vlc player as root, How to run vlc player as root without compiling again, run vlc as root, run vlc without compiling, run vlc without recompiling   

    How to run vlc player as root without compiling again 

    Vlc player exits with an error if you try to run it from terminal as root. However, there is a trick to run vlc player as root (without recompiling). The credit of the post goes to Net_Spy (http://www.linuxquestions.org/). The steps are as follows.

    Step-1: Open a hex editor preferably ghex/khex. If u didn’t have one then download ghex editor from here and install (after resolving dependencies).
    Step-2: Now open vlc binary (by default /usr/bin/vlc) into the hex editor, make a backup before that.
    Step-3: Now search for the following string

    geteuid

    Step-4: Edit the string as follows

    getppid

    Step-4: click on Save

    That’s all. Thanks 🙂

     
  • iamsrijon 10:35 am on November 13, 2010 Permalink |
    Tags: cron, crond, crontab, job scheduling, job scheduling in Cent os, job scheduling in fedora, job scheduling in linux, job scheduling in redhat   

    Job Scheduling in LINUX 

    Cron is a time based job scheduler for Unix based OS.  Most of the Linux Distributions have it installed. Job scheduling is much more simple with cron. First of all, make sure that cron is installed.

    rpm -qa crontabs

    If output shows something then cron is installed. Otherwise we can install it.

    yum install crontabs

    Suppose we have to run a copy operation (for backup purpose) everyday at 12:01pm. The scheduling starts with the following command.

    crontab -e

    Generally the command opens a Schedule file in VI Editor. Then write the following script in that file & save that. If you aren’t familar with VI Editor then visit http://www.cs.colostate.edu/helpdocs/vi.html

    SHELL=/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin

    MAILTO=root

    HOME=/

    1. ._____________ minute (0 to 59)
    1. |  .___________ hour (0 to 23)
    1. |  |  ._________ day of month (1 to 31)
    1. |  |  |  ._______ month (1 to 12) OR (jan to dec)
    1. |  |  |  |  ._____ day of week (0 to 6) (Sunday=0 or 7)  OR
    1. |  |  |  |  |      sun,mon,tue,wed,thu,fri,sat
    1. |  |  |  |  |
    1. *  *  *  *  *  command to be executed

    1 12 *  *  *  cp /file1 /file2

    The script is self descriptive as the comments of the script explains the operation. Finally

    service crond restart

    Customize the script to schedule your own tasks. That’s all, Enjoy!!

     
  • iamsrijon 12:12 am on June 9, 2010 Permalink |
    Tags: Activate Windows 7, activation of win 7, activation of windows 7, Chinmoy Barman Spandan, How to Activate Win 7, How to Activate Windows 7, How to Activate Windows 7 Ultimate, win 7 crack, win 7 key, windows 7, windows 7 crack, windows 7 license   

    How to Activate Windows 7 

    Three Easy Steps should be followed to activate Windows 7.

    • Download the crack from here.
    • Open Windows 7 Loader.exe & Click Install button.
    • Restart your windows 7 & Check Status (window+pause/break).

    That’s all. You may checkout “Advanced options”. The Crack works with any versions of Windows 7 (as the developer claimed). , Enjoy!!
    The Credit of the Post goes to Chinmoy Barman Spandan, my lil bro 🙂

     
  • iamsrijon 4:18 pm on March 14, 2010 Permalink |
    Tags: download torrent, download torrent via proxy, How to download Torrent via Proxy, proxy, torrent, torrent via proxy   

    How to download Torrent via Proxy 

    We can download files from torrent via proxy server if proxy server/firewall allows non standard port for TCP communication. The following steps should be followed.

    • Install\Update to latest µTorrent build.
    • Ensure ports are forwarded for bit torrent  (non standard port recommended).
    • Options >> Preferences >> Advanced >> bt.transp_disposition set to 255
    • >> Bit Torrent > Protocol Encryption > Outgoing: Forced >> Check Allow Legacy Connections.
    • >> Connection >> Set µTorrent forwarded port.
    • >> General >> Associate µTorrent associations >> Install IPV6.
    • Click OK.
    • Vista/Windows 7:  Goto Start > Run, write  services.msc & Run.
    • Set IP Helper Service to Automatic and ensure it is started.
    • Restart µtorrent, ensure port is forwarded.

    That’s all, ENJOY!

     
  • iamsrijon 2:18 pm on February 5, 2010 Permalink |
    Tags: google, google pagerank, Google PageRank via PERL, pagerank, PERL   

    Determine Google PageRank via PERL 

    We can determine Google PageRank with a code of 3 lines in PERL. You need to install WWW::Google::PageRank, download from here. The script is as follows

    #!/usr/bin/perl
    use WWW::Google::PageRank;
    my $pr = WWW::Google::PageRank->new(proxy => ‘http://A.B.C.D:Port/’);
    print scalar($pr->get($ARGV[0])), “\n”;

    Usage: perl <script_name> <static_URL>

    If you use no proxy then delete “proxy => ‘http://A.B.C.D:Port/'&#8221; otherwise mention the Proxy IP address & Port. The script returns an integer as PageRank (Higher is better). That’s all, Thanks.

     
  • iamsrijon 3:43 pm on January 25, 2010 Permalink |
    Tags: how to install iis 7, How to Install Internet Information Services (IIS 7) on Windows 7 Ultimate, iis7, iis7 in win 7, iis7 in windows 7, install iis 7, installing iis 7   

    How to Install Internet Information Services (IIS 7) on Windows 7 Ultimate 

    internet-information-services-iis7-manager

    If you want to install Microsoft Internet Information Server (IIS 7) on your new Windows 7 computer first time after working with IIS 6 for long years, I believe you will be surprised with the improvements and changes both in IIS and IIS installation process.

    First of all Microsoft has renamed the IIS as Internet Information Services and is not now using Internet Information Server for IIS.
    In this short guide I will summarize the steps of installing IIS 7 on Windows 7 in the way I had recently on my Windows 7 Ultimate Edition PC. I’m using this pc as a home pc but I work on my web projects at home so I run SQL Server 2008 R2 as well as IIS and host ASP.NET applications.

    So if you want to install Internet Information Services (IIS 7) for a developer computer then you can follow me by reading my notes below.
    I do not know the other editions but Windows 7 Proffessional edition and the Windows 7 Ultimate edition are able to install and run IIS 7.

    IIS Installation

    IIS 7 can be installed and features of IIS 7 can be added or removed by Windows 7 “Control Panel > Programs” management screen. You can add and install Windows 7 components and build in applications using the “Turn Windows features on or off” link.

    iis 7 installation on windows 7

    When the Windows Features screen opens and generates in a short time a list of Windows 7 features installed and configured on the current system and a list of Windows 7 features not installed yet.
    When the list is completed drill down the Internet Information Services node.

    Internet Information Services – IIS 7 World Wide Web Features

    Application Development Features

    I started with the World Wide Web Services and Application Development Features.
    Since I’m an ASP.NET developer and aim to work with ASP.NET on IIS 7, I selected the checkbox next to ASP.NET. When you click on ASP.NET the following features will be automatically selected :

    • .NET Extensibility,
    • ISAPI Extensions and
    • ISAPI Filters.

    iis7-application-development-features

    Security

    Then I opened the Security node and marked Windows Authentication beside Request Filtering.
    I did not choose any other options since I do not think to develop using other authorization and authentication features in a short time.
    So I keep them uninstalled. I can installed these features in future somehow.

    iis-7-security-features-list

    Common HTTP Features

    From the Common HTTP Features, I choosed Static Content in order to serve static web pages in .htm and .html file extensions.
    I did not select Directory Browsing feature to install as you will see, since directory browsing function is one of the basic ones that we remove from each web site on IIS 6 or other IIS versions.
    I do not prefer to work with WebDAV now, so I keep WebDAV Publishing feature unchecked too.

    installing-iis-7-common-http-features

    Health and Diagnostics

    From the Health and Diagnostics tools you will find new logging, monitoring and tracing tools helpful for keeping your web server secure. The Request Monitor and Tracing features will also help you to debug your applications by tracing the web request easily.

    install-iis7-health-and-diagnostic-tools-and-features

    Performance Features

    In the IIS 7 Performance Features section there exists compression functions for static content and dynamic content. You can choose any compression feature.

    installing-iis-7-performance-features

    Internet Information Services – IIS 7 Web Management Tools

    The IIS Management Console is a must if you are working with Internet Information Services. It is a handy web management platform which contains tools and serves methods for you to publish, manage, trace and log your web sites and web applications.

    I checked the IIS Management Scripts and Tools. I believe these tools and scripts will make my life easier while working on IIS 7.

    IIS Management Services is used to perform management of Internet Information Services from remote computers. If you want to perform management of your web server from remote computers, you should mark this option. Especially if you are installing IIS 7 on a web server, probably you will want to remote manage your IIS web server.

    install-iis-7-web-management-tools

    After you select all the necessary components, tools and features required for you click on OK button to start installing IIS 7 on Windows 7.
    You will have wait for a few minutes while Windows 7 is installing IIS 7 and changing IIS 7 features.

    installing-iis7-on-windows7-ultimate

    After the Internet Information Services – IIS 7 installation is completed you can browse to the http://localhost in order to see if your IIS7 is installed and start running on your Windows 7 computer.
    If IIS7 (Internet Information Services) is up and running the following static web page will be displayed on your browser.

    iis-7-welcome-screen

    You can open the Internet Information Services (IIS) Manager console by following the below path.

    iis-7-management-console-path

    Open “Control Panel > System and Security > Administrative Tools” then click on Internet Information Services (IIS 7) Manager icon to open the IIS 7 management console.

    I believe web developers and IIS administrators installed IIS before will not face difficulty installing IIS 7 on Windows 7

     
  • iamsrijon 8:29 pm on December 23, 2009 Permalink |
    Tags: calc, calculator, flex, infix, yacc   

    Infix Calculator in yacc and flex 

    Calc.yacc

    %{
    #include "stdio.h"
    #include "math.h"
    #define YYSTYPE double
    YYSTYPE last_value = 0;
    extern int yylex(void);
    %}
    %token NUMBER
    %token LAST
    %left '+' '-'
    %left '*' '/'
    %left '^'
    %left NEGATIVE
    %left COS EXP SIN SQRT TAN
    %%list:
    | list '\n'
    | list expr '\n' { printf("%.8g\n",last_value=$2);
    }
    ;
    expr: term { $$ = $1; }
    | expr '+' expr { $$ = $1 + $3; }
    | expr '-' expr { $$ = $1 - $3; }
    | expr '*' expr { $$ = $1 * $3; }
    | expr '/' expr { $$ = $1 / $3; }
    | expr '^' expr { $$ = pow($1,$3); }
    | '-' expr %prec NEGATIVE { $$ = - $2; }
    | COS term { $$ = cos($2*3.141592654/180); }
    | SIN term { $$ = sin($2*3.141592654/180); }
    | SQRT term { $$ = sqrt($2); }
    | TAN term { $$ = tan($2*3.141592654/180); }
    ;term: NUMBER { $$ = $1; }
    | LAST { $$ = last_value; }
    | '(' expr ')' { $$ = $2; }

    ;
    %%
    #include "stdlib.h"
    #include "string.h"
    #include "unistd.h"
    int lineno;
    char *fname = "-stdin-";
    int yyerror(const char *s)
    {
    fprintf(stderr,"%s(%d):%s\n",fname,lineno,s);
    return 0;
    }
    main()
    {
    yyparse();
    return 0;
    }

    Calc.flex

    %{
    #include "stdio.h"
    #include "unistd.h"
    #include "stdlib.h"
    #include "math.h"
    #define YYSTYPE double
    #include "y.tab.h"

    extern int lineno; /* current line number */
    extern YYSTYPE yylval; /* value of numeric token */
    %}

    digit [0-9]
    space [ \t]

    %%

    {space} { ; } /* spaces are ignored */
    {digit}+\.?|{digit}*\.{digit}+ {
    yylval = strtod(yytext,0);
    return NUMBER; }
    \*\* { return '^'; }
    last { return LAST; }
    cos { return COS; }
    exp { return EXP; }
    sin { return SIN; }
    sqrt { return SQRT; }
    tan { return TAN; }
    pi { yylval = atan(1.0)*4;
    return NUMBER; }
    e { yylval = exp(1.0);
    return NUMBER; }
    \n { lineno++; return '\n'; }
    . { return yytext[0]; }
    %%

    How to Compile & Run:
    Open Terminal, then

    [root@Srijon Desktop]# yacc -d Calc.yacc
    [root@Srijon Desktop]# flex Calc.flex
    [root@Srijon Desktop]# g++ lex.yy.c y.tab.c -ll
    [root@Srijon Desktop]# ./a.out

    That’s it. ENJOY!!!!!!!!

     
    • refat 9:03 pm on December 23, 2009 Permalink | Log in to Reply

      thanks for this……….
      Kalke bhujaiya dio
      bye.

    • rizel 4:11 am on December 24, 2009 Permalink | Log in to Reply

      joss. partner. go ahead.

      Thanx 4 this contribution of compiler lab…..

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel
%d bloggers like this: