Undeclared identifier 'DEFAULT_THREAD_POOL_HANDLE'.

LabWindows/CVI 8.5
Trying to teach myself some "thread stuff"
When I compile I get the error:    Undeclared identifier 'DEFAULT_THREAD_POOL_HANDLE'.
I figure there's a library I need to include, but I don't see it in the docs.  Help, plz?
Here is the whole program:
#include <cvirte.h>        
#include <userint.h>
#include <windows.h>
#include "thread.h"
#include "globals.h"
static int panelHandle;
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       LPSTR lpszCmdLine, int nCmdShow)
    if (InitCVIRTE (hInstance, 0, 0) == 0)
        return -1;    /* out of memory */
    if ((panelHandle = LoadPanel (0, "thread.uir", PANEL)) < 0)
        return -1;
    DisplayPanel (panelHandle);
    RunUserInterface ();
    DiscardPanel (panelHandle);
    CmtWaitForThreadPoolFunctionCompletion (DEFAULT_THREAD_POOL_HANDLE, functionID, THREAD_PRIORITY_NORMAL);
    return 0;
int CVICALLBACK Run (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2)
    static int    Thread_ID = 0;
    switch (event)
        case EVENT_COMMIT:
            GetCtrlVal( PANEL, PANEL_BINARYSWITCH, &running );
            if( Thread_ID == 0 )
                CmtScheduleThreadPoolFunction (DEFAULT_THREAD_POOL_HANDLE, DataAcqThreadFunction, NULL, &functionID);
            break;
    return 0;
int CVICALLBACK Quit (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2)
    switch (event)
        case EVENT_COMMIT:
            QuitUserInterface (0);
            break;
    return 0;
int CVICALLBACK DataAcqThreadFunction (void *functionData)
    int clock_div = 0;
    int count = 0;
    while (!running)
            for( clock_div=0 ; clock_div<10000000 ; clock_div++){}
            count++;
            if (count > 10000)
                count = 0;
            functiondata = count;
    return 0;
int CVICALLBACK UpdateGauge (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2)
    switch (event)
        case EVENT_COMMIT:
            SetCtrlVal( PANEL, PANEL_NUMERICGAUGE, functiondata );
            break;
    return 0;
Solved!
Go to Solution.

Never mind, all.  Did a global search on the CVI directories.
it's in "util.h"

Similar Messages

  • Undeclared Identifier Error for some 'PDFEdit_Layer' Methods

    Hi,
    I am getting the errors for the some Methods in PDFEdit_Layer ,
    1. Code -> PDEText pdeText = PDETextCreate();
    Error 3 error C2065: 'PDETextCreateSELPROTO' : undeclared identifier
    2. Code -> sysFont = PDFindSysFont(&pdeFontAttrs,sizeof(PDEFontAttrs), 0);
    Error 5 error C2065: 'PDFindSysFontSELPROTO' : undeclared identifier
    3. Code -> pdeFont = PDEFontCreateFromSysFont(sysFont, kPDEFontDoNotEmbed);
    Error 9 error C2065: 'PDEFontCreateFromSysFontSELPROTO' : undeclared identifier
    4. Code -> pdeColorSpace = PDEColorSpaceCreateFromName(ASAtomFromString("DeviceGray"));
    Error 11 error C2065: 'PDEColorSpaceCreateFromNameSELPROTO' : undeclared identifier
    5. Code -> PDETextAdd (pdeText, kPDETextRun, 0,(ASUns8 *)Title, strlen(Title), pdeFont, &gState,sizeof(gState), NULL, 0, &textMatrix, NULL);
    Error 15 error C2065: 'PDETextAddSELPROTO' : undeclared identifier
    Irrespective of including below header files i am the above Errors.
    #include "CoreExpT.h"
    #include "PDSExpT.h"
    #include "PEExpT.h"
    #include "PERProcs.h"
    #include "CorCalls.h"
    #include "PDCalls.h"
    #include "PERCalls.h"
    #include "PEWCalls.h"
    #include "PDSExpT.h"
    #include "PSFCalls.h"
    #include "PDSysFontExpT.h"
    I tried including the above headers then also i am getting the errors as shown above. Please let me know why is this happening, am i missing something ??
    Please someone help me, Thanks in advance.
    Regards,
    Chetan.

    This is for Plugin in Acrobat, not for Reader.
    Yes, i have set all proper defines for the project.
    #pragma 
    region [ Headers ]
    #include 
    <string>
    // Acrobat Headers.
    #ifndef 
    MAC_PLATFORM
    #include 
    "PIHeaders.h"
    #endif
    #pragma 
    endregion
    "PIHeaders.h" is having all the required header files for the Methods which i have specified.
    Yes.All this method i find under Samples\SnippetRunner project, i am able to build this project successfully.
    Please let me know what needs to be done for successfull building the solution.Thanks in advance.
    Regards,
    Chetan.

  • Error messgae "VI_EVENT_PXI_INTR" undeclared identifier

    I am writing my code for the PCI-DIO24 in C. I am trying to enable interrupt. When I configure my function as "viEnableEvent (panelHandle, VI_EVENT_PXI_INTR, VI_QUEUE,VI_NULL)"; I get an error saying "VI_EVENT_PXI_INTR": undeclared identifier. I use the visa 3.01 with new patch file.

    Samy,
    You may want to consider posting your question to the Driver Development Kit (DDK) Discussion Forum. Since you are using register-level programming, that forum will probably be of more use to you.
    Good luck with your application.
    Spencer S.

  • Undeclared identifier 'IVI_ATTR_IO_RESOURCE_DESCRIPTOR'

    More or less one year ago I wrote a CVI 6.0 program to control an Agilent 33120A Waveform Generatore, and it has been working OK since now.
    Today I opened the same source code, and if I try to re-compile them I found the error
     Undeclared identifier 'IVI_ATTR_IO_RESOURCE_DESCRIPTOR'
    Probably one of the NI components I updated during this year is giving this problem
    I read this thread, so I checked, and I have the ICP 3.0 installed.
    How can I solve this problem?
    Tks
    Vix
    In claris non fit interpretatio
    Using LV 2013 SP1 on Win 7 64bit
    Using LV 8.2.1 on WinXP SP3
    Using CVI 2012 SP1 on Win 7 64bit, WinXP and WinXP Embedded
    Using CVI 6.0 on Win2k, WinXP and WinXP Embedded

    Hi Vix,
    could you please provide more details on what has changed in the last year? What have you installed/uninstalled and, if you can remember, in which order?
    Have you also checked if ICP support for CVI was added (as explained in the forum you linked)?
    Are you at leat able to run an example?
    A precisation: with CVI 6.0, also ICP 3.1 can be used. You have to follow the indications in this KB.
    Regard.
    Licia

  • ORA-19228: XPST0008 -- undeclared identifier when using more then one var.

    HI Gentlemen,
    Given an XMLTYPE table with only one row. Under the root element there is a <header> and a <body> where the stuff inside the body has a different namespace. When I try to drill down with the statement in p.sql below, I always get
    SQL> @c:\xsl\p
    FROM z
    FEHLER in Zeile 10:
    ORA-19228: XPST0008 - nicht deklarierter Identifier: Präfix 'j' lokaler Name '' (undeclared identifier)
    I also tried to insert a WHERE clause, it always complains with $j. When I am using only one variable, $i, it is OK. XML DB Developer's Guide has examples that are very close to this--they execute A1. CAn you help me where am I wrong?
    Thank you very much, kind regards
    Miklos HERBOLY
    SELECT
       XMLQuery('xquery version "1.0"; (: :)
       declare namespace n1="urn:ehd/001"; (: :)
       declare namespace n2="urn:ehd/go/001"; (: :)
       for $i in /n1:ehd/n1:header
    let $j := /n1:ehd/n1:body/n2:gnr_liste/n2:gnr
       return $i,$j'
       PASSING xml_document
       RETURNING CONTENT) as ziffer
      FROM z
    /

    Hi Miklos,
    You'll need parentheses to indicate that you're returning the sequence of $i and $j :
    xquery version "1.0"; (: :)
    declare namespace n1="urn:ehd/001"; (: :)
    declare namespace n2="urn:ehd/go/001"; (: :)
    for $i in /n1:ehd/n1:header
    let $j := /n1:ehd/n1:body/n2:gnr_liste/n2:gnr
    return ($i, $j)or shorter version (if there's only one header per document) :
    xquery version "1.0"; (: :)
    declare namespace n1="urn:ehd/001"; (: :)
    declare namespace n2="urn:ehd/go/001"; (: :)
      /n1:ehd/n1:header
    , /n1:ehd/n1:body/n2:gnr_liste/n2:gnr
    )

  • Undeclared identifier active x WMP

    Hello,
    I am using Windows Media Player active x in my program, i recently upgrade from CVI 2012 to CVI 2013, when i try to compile the files, i get errors like
    "error: use of undeclared identifier "WMPLibObj_IWMPControls" "
    and
    "error: implicit declaration of function "WMPLib_IWMPControlsplay" is invalid in C99. Make sure that you include the function prototype."
    a popup box with the following message appear
    "The following include statements are needed in "IHM_panel_video.c",
    #include "wmp.h"
    Do you want to add them after the include statement for wmp.h?"
    the fact is the include of wmp.h is already done in "IHM_panel_video.c". if i click yes, it just repeat the include statement and the errors are still there.
    I also try to rebuild the activex with the same issue.

    Hello ThomasCauchy,
    Would you be able to post your application or the part of your application which makes use of the Windows Media Player ActiveX server here so we can try to reproduce it? This issue sounds very similar to the one described in KB 6HOA7ECN: Why Does LabWindows™/CVI™ 2013 Warn Me to Include nivision.h When It Is Already Include.... 
    Thanks,
    Daniel
    Daniel D.
    National Instruments
    Automated Test Software R&D

  • Error: 'nNIRLP_lock' undeclared, when install nirlpk.ko

    Hello,
      I try to install nirlpk.ko, and encount some errors when I run make
     error: ‘nNIRLP_lock’ undeclared
     error: unknown field ‘nopage’ specified in initializer
      I have removed "enable_wake", "VM_SHM",and changed "#include linux/config.h" to "#include linux/autoconf.h"
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:92: warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:92: warning: parameter names (without types) in function declaration
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c: In function ‘nNIRLP_pciProbe’:
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:128: error: ‘nNIRLP_lock’ undeclared (first use in this function)
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:128: error: (Each undeclared identifier is reported only once
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:128: error: for each function it appears in.)
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c: In function ‘nNIRLP_pciRemove’:
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:143: error: ‘nNIRLP_lock’ undeclared (first use in this function)
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c: At top level:
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:325: error: unknown field ‘nopage’ specified in initializer
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:326: warning: initialization from incompatible pointer type
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c: In function ‘nNIRLP_getDeviceNumber’:
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:584: error: ‘nNIRLP_lock’ undeclared (first use in this function)
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c: In function ‘nNIRLP_procRead’:
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:919: error: ‘nNIRLP_lock’ undeclared (first use in this function)
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c: In function ‘nNIRLP_procLsdaq’:
    /home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.c:961: error: ‘nNIRLP_lock’ undeclared (first use in this function)
    make[2]: *** [/home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects/nirlpk.o] Error 1
    make[1]: *** [_module_/home/hanl/NI-DAQ/nimhddk_linux26/Linux26/nirlpk/objects] Error 2
    make[1]: Leaving directory `/home/hanl/Downloads/linux-2.6.31.12'
    make: *** [objects/nirlpk.ko] Error 2
     Please help me!
     Thank you!

    Hello hanl,
    I believe that you are using a version of the Linux kernel that was not tested with the current Linux 2.6 osinterface.  The osinterface that will ship with the X Series DDK does have these errors addressed. 
    See this thread for information about when the X Series DDK should release.
    http://forums.ni.com/t5/Driver-Development-Kit-DDK/X-Series-support-update/td-p/1145701/page/2
    The problem is that DECLARE_MUTEX has changed to DEFINE_SEMIPHORE (its a pretty trivial change).  Also the vma_operations_struct member, .nopage, has been changed to .fault.  The changes to get the .fault member to work correctly is not trivial and required a little work.  I would recommend waiting for the new DDK to get the fixes.
    I hope this helps!
    Steven T.

  • [SOLVED] linux-grsec Error, grsec_proc_gid undeclared

    Hello, I've been trying to build linux-grsec from the AUR, and keep getting this error.
    Kernel: 3.5.5
    Patch: grsecurity-2.9.1-3.5.5-201210061727.patch
    CC [M] drivers/hid/hid-microsoft.o
    fs/proc/proc_net.c: In function ‘get_proc_task_net’:
    fs/proc/proc_net.c:116:33: error: ‘grsec_proc_gid’ undeclared (first use in this function)
    fs/proc/proc_net.c:116:33: note: each undeclared identifier is reported only once for each function it appears in
    make[2]: *** [fs/proc/proc_net.o] Error 1
    make[1]: *** [fs/proc] Error 2
    make[1]: *** Waiting for unfinished jobs....
    LD drivers/hsi/clients/built-in.o
    I don't know how to code in C.... I am assuming an undeclared error is super simple to fix. How might I go about declaring ‘grsec_proc_gid’ in  fs/proc/proc_net.c ?
    Last edited by hunterthomson (2012-10-09 05:07:05)

    Fixed in 3.5.6

  • Dwm 5.9 Compilation issues

    Ok guys, I really need your help.
    I am currently with dwm 5.8.2 (everything's fine) and I downloaded 5.9 via ABS.
    I launched a makepkg under ~/dwm. And next, I tried to apply this patch called pertag2. diff: https://github.com/simongmzlj/dwmhacks/ … rtag2.diff
    It succeeded. Used:
    patch -p1 < pertag2.diff
    And I modified my config.h as jokerboy suggested me here: https://bbs.archlinux.org/viewtopic.php … 45#p960545
    I haven't others patches.
    But when I try to compile it, I got many errors messages.
    dwm build options:
    CFLAGS = -std=c99 -pedantic -Wall -Os -I. -I/usr/include -I/usr/include/X11 -DVERSION="5.9" -DXINERAMA
    LDFLAGS = -s -L/usr/lib -lc -L/usr/lib/X11 -lX11 -L/usr/lib/X11 -lXinerama
    CC = cc
    CC dwm.c
    In file included from dwm.c:293:0:
    config.h:31:16: erreur: ‘tile’ undeclared here (not in a function)
    dwm.c: In function ‘buttonpress’:
    dwm.c:450:9: erreur: request for member ‘name’ in something not a structure or union
    dwm.c:450:9: erreur: request for member ‘name’ in something not a structure or union
    dwm.c:450:4: attention : passing argument 1 of ‘strlen’ from incompatible pointer type [enabled by default]
    /usr/include/string.h:399:15: note: expected ‘const char *’ but argument is of type ‘const struct Layout *’
    dwm.c:450:4: attention : passing argument 1 of ‘textnw’ from incompatible pointer type [enabled by default]
    dwm.c:236:12: note: expected ‘const char *’ but argument is of type ‘const struct Layout *’
    dwm.c: In function ‘createmon’:
    dwm.c:686:29: erreur: request for member ‘mfact’ in something not a structure or union
    dwm.c:686:36: attention : comparaison ordonnée de pointeur avec le zéro entier [-pedantic]
    dwm.c:686:61: erreur: request for member ‘mfact’ in something not a structure or union
    dwm.c:686:48: erreur: non concordance de type dans une expression conditionnelle
    dwm.c:686:16: erreur: incompatible types when assigning to type ‘double’ from type ‘const struct Layout *’
    dwm.c:686:3: attention : statement with no effect [-Wunused-value]
    dwm.c:687:31: erreur: request for member ‘nmaster’ in something not a structure or union
    dwm.c:687:40: attention : comparaison ordonnée de pointeur avec le zéro entier [-pedantic]
    dwm.c:687:46: erreur: ‘nmaster’ undeclared (first use in this function)
    dwm.c:687:46: note: each undeclared identifier is reported only once for each function it appears in
    dwm.c:687:67: erreur: request for member ‘nmaster’ in something not a structure or union
    dwm.c:687:18: attention : assignment makes integer from pointer without a cast [enabled by default]
    dwm.c:688:26: erreur: request for member ‘layout’ in something not a structure or union
    dwm.c: In function ‘drawbar’:
    dwm.c:767:10: erreur: request for member ‘name’ in something not a structure or union
    dwm.c:767:10: erreur: request for member ‘name’ in something not a structure or union
    dwm.c:767:3: attention : passing argument 1 of ‘strlen’ from incompatible pointer type [enabled by default]
    /usr/include/string.h:399:15: note: expected ‘const char *’ but argument is of type ‘const struct Layout *’
    dwm.c:767:3: attention : passing argument 1 of ‘textnw’ from incompatible pointer type [enabled by default]
    dwm.c:236:12: note: expected ‘const char *’ but argument is of type ‘const struct Layout *’
    dwm.c:769:19: erreur: request for member ‘name’ in something not a structure or union
    dwm.c:769:3: attention : passing argument 1 of ‘drawtext’ from incompatible pointer type [enabled by default]
    dwm.c:190:13: note: expected ‘const char *’ but argument is of type ‘const struct Layout *’
    dwm.c: Hors de toute fonction :
    dwm.c:1550:1: attention : ‘setnmaster’ defined but not used [-Wunused-function]
    dwm.c:1539:1: attention : ‘incnmaster’ defined but not used [-Wunused-function]
    dwm.c:1691:1: attention : ‘ntile’ defined but not used [-Wunused-function]
    make: *** [dwm.o] Erreur 1
    Here my config.h:
    /* See LICENSE file for copyright and license details. */
    /* appearance */
    static const char font[] = "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-*";
    static const char normbordercolor[] = "#cccccc";
    static const char normbgcolor[] = "#cccccc";
    static const char normfgcolor[] = "#000000";
    static const char selbordercolor[] = "#0066ff";
    static const char selbgcolor[] = "#0066ff";
    static const char selfgcolor[] = "#ffffff";
    static const unsigned int borderpx = 1; /* border pixel of windows */
    static const unsigned int snap = 32; /* snap pixel */
    static const Bool showbar = True; /* False means no bar */
    static const Bool topbar = True; /* False means bottom bar */
    static const Rule rules[] = {
    /* class instance title tags mask isfloating monitor */
    { "Gimp", NULL, NULL, 0, True, -1 },
    { "Firefox", NULL, NULL, 1 << 8, False, -1 },
    /* layout(s) */
    static const int nmaster = 1; /* clients in the master area */
    static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
    static const Bool resizehints = True; /* True means respect size hints in tiled resizals */
    static const Layout layouts[] = {
    /* symbol arrange function */
    { "[]=", tile }, /* first entry is default */
    { "><>", NULL }, /* no layout function means floating behavior */
    { "[M]", monocle },
    { "[N]", ntile },
    /* tagging */
    static const Tag tags[] = {
    /* name layout mfact nmaster */
    { "1", &layouts[0], -1, -1 },
    { "2", &layouts[1], -1, -1 },
    { "3", &layouts[2], -1, -1 },
    { "4", &layouts[3], 0.40, -1 },
    { "5", &layouts[0], -1, -1 },
    { "6", &layouts[0], -1, -1 },
    { "7", &layouts[0], -1, -1 },
    { "8", &layouts[0], -1, -1 },
    { "9", &layouts[0], -1, -1 },
    /* key definitions */
    #define MODKEY Mod1Mask
    #define TAGKEYS(KEY,TAG) \
    { MODKEY, KEY, view, {.ui = 1 << TAG} }, \
    { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
    { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
    { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
    /* helper for spawning shell commands in the pre dwm-5.0 fashion */
    #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
    /* commands */
    static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
    static const char *termcmd[] = { "uxterm", NULL };
    static Key keys[] = {
    /* modifier key function argument */
    { MODKEY, XK_p, spawn, {.v = dmenucmd } },
    { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
    { MODKEY, XK_b, togglebar, {0} },
    { MODKEY, XK_j, focusstack, {.i = +1 } },
    { MODKEY, XK_k, focusstack, {.i = -1 } },
    { MODKEY, XK_a, incnmaster, {.i = +1 } },
    { MODKEY, XK_z, incnmaster, {.i = -1 } },
    { MODKEY, XK_h, setmfact, {.f = -0.05} },
    { MODKEY, XK_l, setmfact, {.f = +0.05} },
    { MODKEY, XK_Return, zoom, {0} },
    { MODKEY, XK_Tab, view, {0} },
    { MODKEY|ShiftMask, XK_c, killclient, {0} },
    { MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
    { MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
    { MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
    { MODKEY, XK_n, setlayout, {.v = &layouts[3]} },
    { MODKEY, XK_space, setlayout, {0} },
    { MODKEY|ShiftMask, XK_space, togglefloating, {0} },
    { MODKEY, XK_0, view, {.ui = ~0 } },
    { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
    { MODKEY, XK_comma, focusmon, {.i = -1 } },
    { MODKEY, XK_period, focusmon, {.i = +1 } },
    { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
    { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
    TAGKEYS( XK_1, 0)
    TAGKEYS( XK_2, 1)
    TAGKEYS( XK_3, 2)
    TAGKEYS( XK_4, 3)
    TAGKEYS( XK_5, 4)
    TAGKEYS( XK_6, 5)
    TAGKEYS( XK_7, 6)
    TAGKEYS( XK_8, 7)
    TAGKEYS( XK_9, 8)
    { MODKEY|ShiftMask, XK_q, quit, {0} },
    /* button definitions */
    /* click can be ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
    static Button buttons[] = {
    /* click event mask button function argument */
    { ClkLtSymbol, 0, Button1, setlayout, {0} },
    { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
    { ClkWinTitle, 0, Button2, zoom, {0} },
    { ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
    { ClkClientWin, MODKEY, Button1, movemouse, {0} },
    { ClkClientWin, MODKEY, Button2, togglefloating, {0} },
    { ClkClientWin, MODKEY, Button3, resizemouse, {0} },
    { ClkTagBar, 0, Button1, view, {0} },
    { ClkTagBar, 0, Button3, toggleview, {0} },
    { ClkTagBar, MODKEY, Button1, tag, {0} },
    { ClkTagBar, MODKEY, Button3, toggletag, {0} },
    dwm.c
    /* See LICENSE file for copyright and license details.
    * dynamic window manager is designed like any other X client as well. It is
    * driven through handling X events. In contrast to other X clients, a window
    * manager selects for SubstructureRedirectMask on the root window, to receive
    * events about window (dis-)appearance. Only one X connection at a time is
    * allowed to select for this event mask.
    * The event handlers of dwm are organized in an array which is accessed
    * whenever a new event has been fetched. This allows event dispatching
    * in O(1) time.
    * Each child of the root window is called a client, except windows which have
    * set the override_redirect flag. Clients are organized in a linked client
    * list on each monitor, the focus history is remembered through a stack list
    * on each monitor. Each client contains a bit array to indicate the tags of a
    * client.
    * Keys and tagging rules are organized as arrays and defined in config.h.
    * To understand everything else, start reading main().
    #include <errno.h>
    #include <locale.h>
    #include <stdarg.h>
    #include <signal.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/wait.h>
    #include <X11/cursorfont.h>
    #include <X11/keysym.h>
    #include <X11/Xatom.h>
    #include <X11/Xlib.h>
    #include <X11/Xproto.h>
    #include <X11/Xutil.h>
    #ifdef XINERAMA
    #include <X11/extensions/Xinerama.h>
    #endif /* XINERAMA */
    /* macros */
    #define BUTTONMASK (ButtonPressMask|ButtonReleaseMask)
    #define CLEANMASK(mask) (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask))
    #define INRECT(X,Y,RX,RY,RW,RH) ((X) >= (RX) && (X) < (RX) + (RW) && (Y) >= (RY) && (Y) < (RY) + (RH))
    #define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags]))
    #define LENGTH(X) (sizeof X / sizeof X[0])
    #define MAX(A, B) ((A) > (B) ? (A) : (B))
    #define MIN(A, B) ((A) < (B) ? (A) : (B))
    #define MOUSEMASK (BUTTONMASK|PointerMotionMask)
    #define WIDTH(X) ((X)->w + 2 * (X)->bw)
    #define HEIGHT(X) ((X)->h + 2 * (X)->bw)
    #define TAGMASK ((1 << LENGTH(tags)) - 1)
    #define TEXTW(X) (textnw(X, strlen(X)) + dc.font.height)
    /* enums */
    enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
    enum { ColBorder, ColFG, ColBG, ColLast }; /* color */
    enum { NetSupported, NetWMName, NetWMState,
    NetWMFullscreen, NetActiveWindow, NetLast }; /* EWMH atoms */
    enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */
    enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
    ClkClientWin, ClkRootWin, ClkLast }; /* clicks */
    typedef union {
    int i;
    unsigned int ui;
    float f;
    const void *v;
    } Arg;
    typedef struct {
    unsigned int click;
    unsigned int mask;
    unsigned int button;
    void (*func)(const Arg *arg);
    const Arg arg;
    } Button;
    typedef struct Monitor Monitor;
    typedef struct Client Client;
    struct Client {
    char name[256];
    float mina, maxa;
    int x, y, w, h;
    int oldx, oldy, oldw, oldh;
    int basew, baseh, incw, inch, maxw, maxh, minw, minh;
    int bw, oldbw;
    unsigned int tags;
    Bool isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
    Client *next;
    Client *snext;
    Monitor *mon;
    Window win;
    typedef struct {
    int x, y, w, h;
    unsigned long norm[ColLast];
    unsigned long sel[ColLast];
    Drawable drawable;
    GC gc;
    struct {
    int ascent;
    int descent;
    int height;
    XFontSet set;
    XFontStruct *xfont;
    } font;
    } DC; /* draw context */
    typedef struct {
    unsigned int mod;
    KeySym keysym;
    void (*func)(const Arg *);
    const Arg arg;
    } Key;
    typedef struct {
    const char *symbol;
    void (*arrange)(Monitor *);
    } Layout;
    struct Monitor {
    char ltsymbol[16];
    int num;
    int by; /* bar geometry */
    int mx, my, mw, mh; /* screen size */
    int wx, wy, ww, wh; /* window area */
    unsigned int seltags;
    unsigned int sellt;
    unsigned int tagset[2];
    Bool showbar;
    Bool topbar;
    Client *clients;
    Client *sel;
    Client *stack;
    Monitor *next;
    Window barwin;
    const Layout *lt[2];
    int curtag;
    int prevtag;
    const Layout **lts;
    double *mfacts;
    int *nmasters;
    typedef struct {
    const char *name;
    const Layout *layout;
    float mfact;
    int nmaster;
    } Tag;
    typedef struct {
    const char *class;
    const char *instance;
    const char *title;
    unsigned int tags;
    Bool isfloating;
    int monitor;
    } Rule;
    /* function declarations */
    static void applyrules(Client *c);
    static Bool applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact);
    static void arrange(Monitor *m);
    static void arrangemon(Monitor *m);
    static void attach(Client *c);
    static void attachstack(Client *c);
    static void buttonpress(XEvent *e);
    static void checkotherwm(void);
    static void cleanup(void);
    static void cleanupmon(Monitor *mon);
    static void clearurgent(Client *c);
    static void clientmessage(XEvent *e);
    static void configure(Client *c);
    static void configurenotify(XEvent *e);
    static void configurerequest(XEvent *e);
    static Monitor *createmon(void);
    static void destroynotify(XEvent *e);
    static void detach(Client *c);
    static void detachstack(Client *c);
    static void die(const char *errstr, ...);
    static Monitor *dirtomon(int dir);
    static void drawbar(Monitor *m);
    static void drawbars(void);
    static void drawsquare(Bool filled, Bool empty, Bool invert, unsigned long col[ColLast]);
    static void drawtext(const char *text, unsigned long col[ColLast], Bool invert);
    static void enternotify(XEvent *e);
    static void expose(XEvent *e);
    static void focus(Client *c);
    static void focusin(XEvent *e);
    static void focusmon(const Arg *arg);
    static void focusstack(const Arg *arg);
    static unsigned long getcolor(const char *colstr);
    static Bool getrootptr(int *x, int *y);
    static long getstate(Window w);
    static Bool gettextprop(Window w, Atom atom, char *text, unsigned int size);
    static void grabbuttons(Client *c, Bool focused);
    static void grabkeys(void);
    static void initfont(const char *fontstr);
    static void keypress(XEvent *e);
    static void killclient(const Arg *arg);
    static void manage(Window w, XWindowAttributes *wa);
    static void mappingnotify(XEvent *e);
    static void maprequest(XEvent *e);
    static void monocle(Monitor *m);
    static void movemouse(const Arg *arg);
    static Client *nexttiled(Client *c);
    static void pop(Client *);
    static void propertynotify(XEvent *e);
    static Monitor *ptrtomon(int x, int y);
    static void quit(const Arg *arg);
    static void resize(Client *c, int x, int y, int w, int h, Bool interact);
    static void resizeclient(Client *c, int x, int y, int w, int h);
    static void resizemouse(const Arg *arg);
    static void restack(Monitor *m);
    static void run(void);
    static void scan(void);
    static Bool sendevent(Client *c, Atom proto);
    static void sendmon(Client *c, Monitor *m);
    static void setclientstate(Client *c, long state);
    static void setfocus(Client *c);
    static void setlayout(const Arg *arg);
    static void setmfact(const Arg *arg);
    static void setnmaster(const Arg *arg);
    static void incnmaster(const Arg *arg);
    static void setup(void);
    static void showhide(Client *c);
    static void sigchld(int unused);
    static void spawn(const Arg *arg);
    static void tag(const Arg *arg);
    static void tagmon(const Arg *arg);
    static int textnw(const char *text, unsigned int len);
    static void ntile(Monitor *);
    static void togglebar(const Arg *arg);
    static void togglefloating(const Arg *arg);
    static void toggletag(const Arg *arg);
    static void toggleview(const Arg *arg);
    static void unfocus(Client *c, Bool setfocus);
    static void unmanage(Client *c, Bool destroyed);
    static void unmapnotify(XEvent *e);
    static Bool updategeom(void);
    static void updatebarpos(Monitor *m);
    static void updatebars(void);
    static void updatenumlockmask(void);
    static void updatesizehints(Client *c);
    static void updatestatus(void);
    static void updatetitle(Client *c);
    static void updatewmhints(Client *c);
    static void view(const Arg *arg);
    static Client *wintoclient(Window w);
    static Monitor *wintomon(Window w);
    static int xerror(Display *dpy, XErrorEvent *ee);
    static int xerrordummy(Display *dpy, XErrorEvent *ee);
    static int xerrorstart(Display *dpy, XErrorEvent *ee);
    static void zoom(const Arg *arg);
    /* variables */
    static const char broken[] = "broken";
    static char stext[256];
    static int screen;
    static int sw, sh; /* X display screen geometry width, height */
    static int bh, blw = 0; /* bar geometry */
    static int (*xerrorxlib)(Display *, XErrorEvent *);
    static unsigned int numlockmask = 0;
    static void (*handler[LASTEvent]) (XEvent *) = {
    [ButtonPress] = buttonpress,
    [ClientMessage] = clientmessage,
    [ConfigureRequest] = configurerequest,
    [ConfigureNotify] = configurenotify,
    [DestroyNotify] = destroynotify,
    [EnterNotify] = enternotify,
    [Expose] = expose,
    [FocusIn] = focusin,
    [KeyPress] = keypress,
    [MappingNotify] = mappingnotify,
    [MapRequest] = maprequest,
    [PropertyNotify] = propertynotify,
    [UnmapNotify] = unmapnotify
    static Atom wmatom[WMLast], netatom[NetLast];
    static Bool running = True;
    static Cursor cursor[CurLast];
    static Display *dpy;
    static DC dc;
    static Monitor *mons = NULL, *selmon = NULL;
    static Window root;
    /* configuration, allows nested code to access above variables */
    #include "config.h"
    /* compile-time check if all tags fit into an unsigned int bit array. */
    struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; };
    /* function implementations */
    void
    applyrules(Client *c) {
    const char *class, *instance;
    unsigned int i;
    const Rule *r;
    Monitor *m;
    XClassHint ch = { 0 };
    /* rule matching */
    c->isfloating = c->tags = 0;
    if(XGetClassHint(dpy, c->win, &ch)) {
    class = ch.res_class ? ch.res_class : broken;
    instance = ch.res_name ? ch.res_name : broken;
    for(i = 0; i < LENGTH(rules); i++) {
    r = &rules[i];
    if((!r->title || strstr(c->name, r->title))
    && (!r->class || strstr(class, r->class))
    && (!r->instance || strstr(instance, r->instance)))
    c->isfloating = r->isfloating;
    c->tags |= r->tags;
    for(m = mons; m && m->num != r->monitor; m = m->next);
    if(m)
    c->mon = m;
    if(ch.res_class)
    XFree(ch.res_class);
    if(ch.res_name)
    XFree(ch.res_name);
    c->tags = c->tags & TAGMASK ? c->tags & TAGMASK : c->mon->tagset[c->mon->seltags];
    Bool
    applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact) {
    Bool baseismin;
    Monitor *m = c->mon;
    /* set minimum possible */
    *w = MAX(1, *w);
    *h = MAX(1, *h);
    if(interact) {
    if(*x > sw)
    *x = sw - WIDTH(c);
    if(*y > sh)
    *y = sh - HEIGHT(c);
    if(*x + *w + 2 * c->bw < 0)
    *x = 0;
    if(*y + *h + 2 * c->bw < 0)
    *y = 0;
    else {
    if(*x > m->mx + m->mw)
    *x = m->mx + m->mw - WIDTH(c);
    if(*y > m->my + m->mh)
    *y = m->my + m->mh - HEIGHT(c);
    if(*x + *w + 2 * c->bw < m->mx)
    *x = m->mx;
    if(*y + *h + 2 * c->bw < m->my)
    *y = m->my;
    if(*h < bh)
    *h = bh;
    if(*w < bh)
    *w = bh;
    if(resizehints || c->isfloating) {
    /* see last two sentences in ICCCM 4.1.2.3 */
    baseismin = c->basew == c->minw && c->baseh == c->minh;
    if(!baseismin) { /* temporarily remove base dimensions */
    *w -= c->basew;
    *h -= c->baseh;
    /* adjust for aspect limits */
    if(c->mina > 0 && c->maxa > 0) {
    if(c->maxa < (float)*w / *h)
    *w = *h * c->maxa + 0.5;
    else if(c->mina < (float)*h / *w)
    *h = *w * c->mina + 0.5;
    if(baseismin) { /* increment calculation requires this */
    *w -= c->basew;
    *h -= c->baseh;
    /* adjust for increment value */
    if(c->incw)
    *w -= *w % c->incw;
    if(c->inch)
    *h -= *h % c->inch;
    /* restore base dimensions */
    *w = MAX(*w + c->basew, c->minw);
    *h = MAX(*h + c->baseh, c->minh);
    if(c->maxw)
    *w = MIN(*w, c->maxw);
    if(c->maxh)
    *h = MIN(*h, c->maxh);
    return *x != c->x || *y != c->y || *w != c->w || *h != c->h;
    void
    arrange(Monitor *m) {
    if(m)
    showhide(m->stack);
    else for(m = mons; m; m = m->next)
    showhide(m->stack);
    focus(NULL);
    if(m)
    arrangemon(m);
    else for(m = mons; m; m = m->next)
    arrangemon(m);
    void
    arrangemon(Monitor *m) {
    strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
    if(m->lt[m->sellt]->arrange)
    m->lt[m->sellt]->arrange(m);
    restack(m);
    void
    attach(Client *c) {
    c->next = c->mon->clients;
    c->mon->clients = c;
    void
    attachstack(Client *c) {
    c->snext = c->mon->stack;
    c->mon->stack = c;
    void
    buttonpress(XEvent *e) {
    unsigned int i, x, click;
    Arg arg = {0};
    Client *c;
    Monitor *m;
    XButtonPressedEvent *ev = &e->xbutton;
    click = ClkRootWin;
    /* focus monitor if necessary */
    if((m = wintomon(ev->window)) && m != selmon) {
    unfocus(selmon->sel, True);
    selmon = m;
    focus(NULL);
    if(ev->window == selmon->barwin) {
    i = x = 0;
    do {
    x += TEXTW(tags[i].name);
    } while(ev->x >= x && ++i < LENGTH(tags));
    if(i < LENGTH(tags)) {
    click = ClkTagBar;
    arg.ui = 1 << i;
    else if(ev->x < x + blw)
    click = ClkLtSymbol;
    else if(ev->x > selmon->ww - TEXTW(stext))
    click = ClkStatusText;
    else
    click = ClkWinTitle;
    else if((c = wintoclient(ev->window))) {
    focus(c);
    click = ClkClientWin;
    for(i = 0; i < LENGTH(buttons); i++)
    if(click == buttons[i].click && buttons[i].func && buttons[i].button == ev->button
    && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state))
    buttons[i].func(click == ClkTagBar && buttons[i].arg.i == 0 ? &arg : &buttons[i].arg);
    void
    checkotherwm(void) {
    xerrorxlib = XSetErrorHandler(xerrorstart);
    /* this causes an error if some other window manager is running */
    XSelectInput(dpy, DefaultRootWindow(dpy), SubstructureRedirectMask);
    XSync(dpy, False);
    XSetErrorHandler(xerror);
    XSync(dpy, False);
    void
    cleanup(void) {
    Arg a = {.ui = ~0};
    Layout foo = { "", NULL };
    Monitor *m;
    view(&a);
    selmon->lt[selmon->sellt] = &foo;
    for(m = mons; m; m = m->next)
    while(m->stack)
    unmanage(m->stack, False);
    if(dc.font.set)
    XFreeFontSet(dpy, dc.font.set);
    else
    XFreeFont(dpy, dc.font.xfont);
    XUngrabKey(dpy, AnyKey, AnyModifier, root);
    XFreePixmap(dpy, dc.drawable);
    XFreeGC(dpy, dc.gc);
    XFreeCursor(dpy, cursor[CurNormal]);
    XFreeCursor(dpy, cursor[CurResize]);
    XFreeCursor(dpy, cursor[CurMove]);
    while(mons)
    cleanupmon(mons);
    XSync(dpy, False);
    XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
    void
    cleanupmon(Monitor *mon) {
    Monitor *m;
    if(mon == mons)
    mons = mons->next;
    else {
    for(m = mons; m && m->next != mon; m = m->next);
    m->next = mon->next;
    XUnmapWindow(dpy, mon->barwin);
    XDestroyWindow(dpy, mon->barwin);
    free(mon->mfacts);
    free(mon->nmasters);
    free(mon->lts);
    free(mon);
    void
    clearurgent(Client *c) {
    XWMHints *wmh;
    c->isurgent = False;
    if(!(wmh = XGetWMHints(dpy, c->win)))
    return;
    wmh->flags &= ~XUrgencyHint;
    XSetWMHints(dpy, c->win, wmh);
    XFree(wmh);
    void
    clientmessage(XEvent *e) {
    XClientMessageEvent *cme = &e->xclient;
    Client *c = wintoclient(cme->window);
    if(!c)
    return;
    if(cme->message_type == netatom[NetWMState] && cme->data.l[1] == netatom[NetWMFullscreen]) {
    if(cme->data.l[0] && !c->isfullscreen) {
    XChangeProperty(dpy, cme->window, netatom[NetWMState], XA_ATOM, 32,
    PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1);
    c->isfullscreen = True;
    c->oldstate = c->isfloating;
    c->oldbw = c->bw;
    c->bw = 0;
    c->isfloating = True;
    resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
    XRaiseWindow(dpy, c->win);
    else {
    XChangeProperty(dpy, cme->window, netatom[NetWMState], XA_ATOM, 32,
    PropModeReplace, (unsigned char*)0, 0);
    c->isfullscreen = False;
    c->isfloating = c->oldstate;
    c->bw = c->oldbw;
    c->x = c->oldx;
    c->y = c->oldy;
    c->w = c->oldw;
    c->h = c->oldh;
    resizeclient(c, c->x, c->y, c->w, c->h);
    arrange(c->mon);
    else if(cme->message_type == netatom[NetActiveWindow]) {
    if(!ISVISIBLE(c)) {
    c->mon->seltags ^= 1;
    c->mon->tagset[c->mon->seltags] = c->tags;
    pop(c);
    void
    configure(Client *c) {
    XConfigureEvent ce;
    ce.type = ConfigureNotify;
    ce.display = dpy;
    ce.event = c->win;
    ce.window = c->win;
    ce.x = c->x;
    ce.y = c->y;
    ce.width = c->w;
    ce.height = c->h;
    ce.border_width = c->bw;
    ce.above = None;
    ce.override_redirect = False;
    XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&ce);
    void
    configurenotify(XEvent *e) {
    Monitor *m;
    XConfigureEvent *ev = &e->xconfigure;
    Bool dirty;
    if(ev->window == root) {
    dirty = (sw != ev->width);
    sw = ev->width;
    sh = ev->height;
    if(updategeom() || dirty) {
    if(dc.drawable != 0)
    XFreePixmap(dpy, dc.drawable);
    dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
    updatebars();
    for(m = mons; m; m = m->next)
    XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh);
    arrange(NULL);
    void
    configurerequest(XEvent *e) {
    Client *c;
    Monitor *m;
    XConfigureRequestEvent *ev = &e->xconfigurerequest;
    XWindowChanges wc;
    if((c = wintoclient(ev->window))) {
    if(ev->value_mask & CWBorderWidth)
    c->bw = ev->border_width;
    else if(c->isfloating || !selmon->lt[selmon->sellt]->arrange) {
    m = c->mon;
    if(ev->value_mask & CWX)
    c->x = m->mx + ev->x;
    if(ev->value_mask & CWY)
    c->y = m->my + ev->y;
    if(ev->value_mask & CWWidth)
    c->w = ev->width;
    if(ev->value_mask & CWHeight)
    c->h = ev->height;
    if((c->x + c->w) > m->mx + m->mw && c->isfloating)
    c->x = m->mx + (m->mw / 2 - c->w / 2); /* center in x direction */
    if((c->y + c->h) > m->my + m->mh && c->isfloating)
    c->y = m->my + (m->mh / 2 - c->h / 2); /* center in y direction */
    if((ev->value_mask & (CWX|CWY)) && !(ev->value_mask & (CWWidth|CWHeight)))
    configure(c);
    if(ISVISIBLE(c))
    XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
    else
    configure(c);
    else {
    wc.x = ev->x;
    wc.y = ev->y;
    wc.width = ev->width;
    wc.height = ev->height;
    wc.border_width = ev->border_width;
    wc.sibling = ev->above;
    wc.stack_mode = ev->detail;
    XConfigureWindow(dpy, ev->window, ev->value_mask, &wc);
    XSync(dpy, False);
    /* TODO Check how many times createmon is called */
    Monitor *
    createmon(void) {
    Monitor *m;
    int i, numtags = LENGTH(tags) + 1;
    if(!(m = (Monitor *)calloc(1, sizeof(Monitor))))
    die("fatal: could not malloc() %u bytes\n", sizeof(Monitor));
    if(!(m->mfacts = calloc(sizeof(double), numtags)))
    die("fatal: could not malloc() %u bytes\n", sizeof(double) * numtags);
    if(!(m->nmasters = calloc(sizeof(int), numtags)))
    die("fatal: could not malloc() %u bytes\n", sizeof(int) * numtags);
    if(!(m->lts = calloc(sizeof(Layout *), numtags)))
    die("fatal: could not malloc() %u bytes\n", sizeof(Layout *) * numtags);
    m->tagset[0] = m->tagset[1] = 1;
    m->showbar = showbar;
    m->topbar = topbar;
    m->curtag = m->prevtag = 1;
    for(i = 1; i < numtags; i++) {
    m->mfacts[i] = tags[i - 1].mfact < 0 ? mfact : tags[i - 1].mfact;
    m->nmasters[i] = tags[i - 1].nmaster < 0 ? nmaster : tags[i - 1].nmaster;
    m->lts[i] = tags[i - 1].layout;
    m->lt[0] = m->lts[m->curtag];
    m->lt[1] = &layouts[1 % LENGTH(layouts)];
    strncpy(m->ltsymbol, m->lt[0]->symbol, sizeof m->ltsymbol);
    return m;
    void
    destroynotify(XEvent *e) {
    Client *c;
    XDestroyWindowEvent *ev = &e->xdestroywindow;
    if((c = wintoclient(ev->window)))
    unmanage(c, True);
    void
    detach(Client *c) {
    Client **tc;
    for(tc = &c->mon->clients; *tc && *tc != c; tc = &(*tc)->next);
    *tc = c->next;
    void
    detachstack(Client *c) {
    Client **tc, *t;
    for(tc = &c->mon->stack; *tc && *tc != c; tc = &(*tc)->snext);
    *tc = c->snext;
    if(c == c->mon->sel) {
    for(t = c->mon->stack; t && !ISVISIBLE(t); t = t->snext);
    c->mon->sel = t;
    void
    die(const char *errstr, ...) {
    va_list ap;
    va_start(ap, errstr);
    vfprintf(stderr, errstr, ap);
    va_end(ap);
    exit(EXIT_FAILURE);
    Monitor *
    dirtomon(int dir) {
    Monitor *m = NULL;
    if(dir > 0) {
    if(!(m = selmon->next))
    m = mons;
    else {
    if(selmon == mons)
    for(m = mons; m->next; m = m->next);
    else
    for(m = mons; m->next != selmon; m = m->next);
    return m;
    void
    drawbar(Monitor *m) {
    int x;
    unsigned int i, occ = 0, urg = 0;
    unsigned long *col;
    Client *c;
    for(c = m->clients; c; c = c->next) {
    occ |= c->tags;
    if(c->isurgent)
    urg |= c->tags;
    dc.x = 0;
    for(i = 0; i < LENGTH(tags); i++) {
    dc.w = TEXTW(tags[i].name);
    col = m->tagset[m->seltags] & 1 << i ? dc.sel : dc.norm;
    drawtext(tags[i].name, col, urg & 1 << i);
    drawsquare(m == selmon && selmon->sel && selmon->sel->tags & 1 << i,
    occ & 1 << i, urg & 1 << i, col);
    dc.x += dc.w;
    dc.w = blw = TEXTW(m->ltsymbol);
    drawtext(m->ltsymbol, dc.norm, False);
    dc.x += dc.w;
    x = dc.x;
    if(m == selmon) { /* status is only drawn on selected monitor */
    dc.w = TEXTW(stext);
    dc.x = m->ww - dc.w;
    if(dc.x < x) {
    dc.x = x;
    dc.w = m->ww - x;
    drawtext(stext, dc.norm, False);
    else
    dc.x = m->ww;
    if((dc.w = dc.x - x) > bh) {
    dc.x = x;
    if(m->sel) {
    col = m == selmon ? dc.sel : dc.norm;
    drawtext(m->sel->name, col, False);
    drawsquare(m->sel->isfixed, m->sel->isfloating, False, col);
    else
    drawtext(NULL, dc.norm, False);
    XCopyArea(dpy, dc.drawable, m->barwin, dc.gc, 0, 0, m->ww, bh, 0, 0);
    XSync(dpy, False);
    void
    drawbars(void) {
    Monitor *m;
    for(m = mons; m; m = m->next)
    drawbar(m);
    void
    drawsquare(Bool filled, Bool empty, Bool invert, unsigned long col[ColLast]) {
    int x;
    XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
    x = (dc.font.ascent + dc.font.descent + 2) / 4;
    if(filled)
    XFillRectangle(dpy, dc.drawable, dc.gc, dc.x+1, dc.y+1, x+1, x+1);
    else if(empty)
    XDrawRectangle(dpy, dc.drawable, dc.gc, dc.x+1, dc.y+1, x, x);
    void
    drawtext(const char *text, unsigned long col[ColLast], Bool invert) {
    char buf[256];
    int i, x, y, h, len, olen;
    XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]);
    XFillRectangle(dpy, dc.drawable, dc.gc, dc.x, dc.y, dc.w, dc.h);
    if(!text)
    return;
    olen = strlen(text);
    h = dc.font.ascent + dc.font.descent;
    y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent;
    x = dc.x + (h / 2);
    /* shorten text if necessary */
    for(len = MIN(olen, sizeof buf); len && textnw(text, len) > dc.w - h; len--);
    if(!len)
    return;
    memcpy(buf, text, len);
    if(len < olen)
    for(i = len; i && i > len - 3; buf[--i] = '.');
    XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
    if(dc.font.set)
    XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len);
    else
    XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
    void
    enternotify(XEvent *e) {
    Client *c;
    Monitor *m;
    XCrossingEvent *ev = &e->xcrossing;
    if((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->window != root)
    return;
    c = wintoclient(ev->window);
    m = c ? c->mon : wintomon(ev->window);
    if(m != selmon) {
    unfocus(selmon->sel, True);
    selmon = m;
    else if(!c || c == selmon->sel)
    return;
    focus(c);
    void
    expose(XEvent *e) {
    Monitor *m;
    XExposeEvent *ev = &e->xexpose;
    if(ev->count == 0 && (m = wintomon(ev->window)))
    drawbar(m);
    void
    focus(Client *c) {
    if(!c || !ISVISIBLE(c))
    for(c = selmon->stack; c && !ISVISIBLE(c); c = c->snext);
    /* was if(selmon->sel) */
    if(selmon->sel && selmon->sel != c)
    unfocus(selmon->sel, False);
    if(c) {
    if(c->mon != selmon)
    selmon = c->mon;
    if(c->isurgent)
    clearurgent(c);
    detachstack(c);
    attachstack(c);
    grabbuttons(c, True);
    XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]);
    setfocus(c);
    else
    XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
    selmon->sel = c;
    drawbars();
    void
    focusin(XEvent *e) { /* there are some broken focus acquiring clients */
    XFocusChangeEvent *ev = &e->xfocus;
    if(selmon->sel && ev->window != selmon->sel->win)
    setfocus(selmon->sel);
    void
    focusmon(const Arg *arg) {
    Monitor *m;
    if(!mons->next)
    return;
    if((m = dirtomon(arg->i)) == selmon)
    return;
    unfocus(selmon->sel, True);
    selmon = m;
    focus(NULL);
    void
    focusstack(const Arg *arg) {
    Client *c = NULL, *i;
    if(!selmon->sel)
    return;
    if(arg->i > 0) {
    for(c = selmon->sel->next; c && !ISVISIBLE(c); c = c->next);
    if(!c)
    for(c = selmon->clients; c && !ISVISIBLE(c); c = c->next);
    else {
    for(i = selmon->clients; i != selmon->sel; i = i->next)
    if(ISVISIBLE(i))
    c = i;
    if(!c)
    for(; i; i = i->next)
    if(ISVISIBLE(i))
    c = i;
    if(c) {
    focus(c);
    restack(selmon);
    unsigned long
    getcolor(const char *colstr) {
    Colormap cmap = DefaultColormap(dpy, screen);
    XColor color;
    if(!XAllocNamedColor(dpy, cmap, colstr, &color, &color))
    die("error, cannot allocate color '%s'\n", colstr);
    return color.pixel;
    Bool
    getrootptr(int *x, int *y) {
    int di;
    unsigned int dui;
    Window dummy;
    return XQueryPointer(dpy, root, &dummy, &dummy, x, y, &di, &di, &dui);
    long
    getstate(Window w) {
    int format;
    long result = -1;
    unsigned char *p = NULL;
    unsigned long n, extra;
    Atom real;
    if(XGetWindowProperty(dpy, w, wmatom[WMState], 0L, 2L, False, wmatom[WMState],
    &real, &format, &n, &extra, (unsigned char **)&p) != Success)
    return -1;
    if(n != 0)
    result = *p;
    XFree(p);
    return result;
    Bool
    gettextprop(Window w, Atom atom, char *text, unsigned int size) {
    char **list = NULL;
    int n;
    XTextProperty name;
    if(!text || size == 0)
    return False;
    text[0] = '\0';
    XGetTextProperty(dpy, w, &name, atom);
    if(!name.nitems)
    return False;
    if(name.encoding == XA_STRING)
    strncpy(text, (char *)name.value, size - 1);
    else {
    if(XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success && n > 0 && *list) {
    strncpy(text, *list, size - 1);
    XFreeStringList(list);
    text[size - 1] = '\0';
    XFree(name.value);
    return True;
    void
    grabbuttons(Client *c, Bool focused) {
    updatenumlockmask();
    unsigned int i, j;
    unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
    XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
    if(focused) {
    for(i = 0; i < LENGTH(buttons); i++)
    if(buttons[i].click == ClkClientWin)
    for(j = 0; j < LENGTH(modifiers); j++)
    XGrabButton(dpy, buttons[i].button,
    buttons[i].mask | modifiers[j],
    c->win, False, BUTTONMASK,
    GrabModeAsync, GrabModeSync, None, None);
    else
    XGrabButton(dpy, AnyButton, AnyModifier, c->win, False,
    BUTTONMASK, GrabModeAsync, GrabModeSync, None, None);
    void
    grabkeys(void) {
    updatenumlockmask();
    unsigned int i, j;
    unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
    KeyCode code;
    XUngrabKey(dpy, AnyKey, AnyModifier, root);
    for(i = 0; i < LENGTH(keys); i++) {
    if((code = XKeysymToKeycode(dpy, keys[i].keysym)))
    for(j = 0; j < LENGTH(modifiers); j++)
    XGrabKey(dpy, code, keys[i].mod | modifiers[j], root,
    True, GrabModeAsync, GrabModeAsync);
    void
    initfont(const char *fontstr) {
    char *def, **missing;
    int n;
    missing = NULL;
    dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def);
    if(missing) {
    while(n--)
    fprintf(stderr, "dwm: missing fontset: %s\n", missing[n]);
    XFreeStringList(missing);
    if(dc.font.set) {
    XFontStruct **xfonts;
    char **font_names;
    dc.font.ascent = dc.font.descent = 0;
    XExtentsOfFontSet(dc.font.set);
    n = XFontsOfFontSet(dc.font.set, &xfonts, &font_names);
    while(n--) {
    dc.font.ascent = MAX(dc.font.ascent, (*xfonts)->ascent);
    dc.font.descent = MAX(dc.font.descent,(*xfonts)->descent);
    xfonts++;
    else {
    if(!(dc.font.xfont = XLoadQueryFont(dpy, fontstr))
    && !(dc.font.xfont = XLoadQueryFont(dpy, "fixed")))
    die("error, cannot load font: '%s'\n", fontstr);
    dc.font.ascent = dc.font.xfont->ascent;
    dc.font.descent = dc.font.xfont->descent;
    dc.font.height = dc.font.ascent + dc.font.descent;
    #ifdef XINERAMA
    static Bool
    isuniquegeom(XineramaScreenInfo *unique, size_t n, XineramaScreenInfo *info) {
    while(n--)
    if(unique[n].x_org == info->x_org && unique[n].y_org == info->y_org
    && unique[n].width == info->width && unique[n].height == info->height)
    return False;
    return True;
    #endif /* XINERAMA */
    void
    keypress(XEvent *e) {
    unsigned int i;
    KeySym keysym;
    XKeyEvent *ev;
    ev = &e->xkey;
    keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
    for(i = 0; i < LENGTH(keys); i++)
    if(keysym == keys[i].keysym
    && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
    && keys[i].func)
    keys[i].func(&(keys[i].arg));
    void
    killclient(const Arg *arg) {
    if(!selmon->sel)
    return;
    if(!sendevent(selmon->sel, wmatom[WMDelete])) {
    XGrabServer(dpy);
    XSetErrorHandler(xerrordummy);
    XSetCloseDownMode(dpy, DestroyAll);
    XKillClient(dpy, selmon->sel->win);
    XSync(dpy, False);
    XSetErrorHandler(xerror);
    XUngrabServer(dpy);
    void
    manage(Window w, XWindowAttributes *wa) {
    Client *c, *t = NULL;
    Window trans = None;
    XWindowChanges wc;
    if(!(c = calloc(1, sizeof(Client))))
    die("fatal: could not malloc() %u bytes\n", sizeof(Client));
    c->win = w;
    updatetitle(c);
    if(XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) {
    c->mon = t->mon;
    c->tags = t->tags;
    else {
    c->mon = selmon;
    applyrules(c);
    /* geometry */
    c->x = c->oldx = wa->x;
    c->y = c->oldy = wa->y;
    c->w = c->oldw = wa->width;
    c->h = c->oldh = wa->height;
    c->oldbw = wa->border_width;
    if(c->w == c->mon->mw && c->h == c->mon->mh) {
    c->isfloating = True;
    c->x = c->mon->mx;
    c->y = c->mon->my;
    c->bw = 0;
    else {
    if(c->x + WIDTH(c) > c->mon->mx + c->mon->mw)
    c->x = c->mon->mx + c->mon->mw - WIDTH(c);
    if(c->y + HEIGHT(c) > c->mon->my + c->mon->mh)
    c->y = c->mon->my + c->mon->mh - HEIGHT(c);
    c->x = MAX(c->x, c->mon->mx);
    /* only fix client y-offset, if the client center might cover the bar */
    c->y = MAX(c->y, ((c->mon->by == 0) && (c->x + (c->w / 2) >= c->mon->wx)
    && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my);
    c->bw = borderpx;
    wc.border_width = c->bw;
    XConfigureWindow(dpy, w, CWBorderWidth, &wc);
    XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
    configure(c); /* propagates border_width, if size doesn't change */
    updatesizehints(c);
    updatewmhints(c);
    XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
    grabbuttons(c, False);
    if(!c->isfloating)
    c->isfloating = c->oldstate = trans != None || c->isfixed;
    if(c->isfloating)
    XRaiseWindow(dpy, c->win);
    attach(c);
    attachstack(c);
    XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */
    XMapWindow(dpy, c->win);
    setclientstate(c, NormalState);
    arrange(c->mon);
    void
    mappingnotify(XEvent *e) {
    XMappingEvent *ev = &e->xmapping;
    XRefreshKeyboardMapping(ev);
    if(ev->request == MappingKeyboard)
    grabkeys();
    void
    maprequest(XEvent *e) {
    static XWindowAttributes wa;
    XMapRequestEvent *ev = &e->xmaprequest;
    if(!XGetWindowAttributes(dpy, ev->window, &wa))
    return;
    if(wa.override_redirect)
    return;
    if(!wintoclient(ev->window))
    manage(ev->window, &wa);
    void
    monocle(Monitor *m) {
    unsigned int n = 0;
    Client *c;
    for(c = m->clients; c; c = c->next)
    if(ISVISIBLE(c))
    n++;
    if(n > 0) /* override layout symbol */
    snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n);
    for(c = nexttiled(m->clients); c; c = nexttiled(c->next))
    resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, False);
    void
    movemouse(const Arg *arg) {
    int x, y, ocx, ocy, nx, ny;
    Client *c;
    Monitor *m;
    XEvent ev;
    if(!(c = selmon->sel))
    return;
    restack(selmon);
    ocx = c->x;
    ocy = c->y;
    if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync,
    None, cursor[CurMove], CurrentTime) != GrabSuccess)
    return;
    if(!getrootptr(&x, &y))
    return;
    do {
    XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev);
    switch(ev.type) {
    case ConfigureRequest:
    case Expose:
    case MapRequest:
    handler[ev.type](&ev);
    break;
    case MotionNotify:
    nx = ocx + (ev.xmotion.x - x);
    ny = ocy + (ev.xmotion.y - y);
    if(nx >= selmon->wx && nx <= selmon->wx + selmon->ww
    && ny >= selmon->wy && ny <= selmon->wy + selmon->wh) {
    if(abs(selmon->wx - nx) < snap)
    nx = selmon->wx;
    else if(abs((selmon->wx + selmon->ww) - (nx + WIDTH(c))) < snap)
    nx = selmon->wx + selmon->ww - WIDTH(c);
    if(abs(selmon->wy - ny) < snap)
    ny = selmon->wy;
    else if(abs((selmon->wy + selmon->wh) - (ny + HEIGHT(c))) < snap)
    ny = selmon->wy + selmon->wh - HEIGHT(c);
    if(!c->isfloating && selmon->lt[selmon->sellt]->arrange
    && (abs(nx - c->x) > snap || abs(ny - c->y) > snap))
    togglefloating(NULL);
    if(!selmon->lt[selmon->sellt]->arrange || c->isfloating)
    resize(c, nx, ny, c->w, c->h, True);
    break;
    } while(ev.type != ButtonRelease);
    XUngrabPointer(dpy, CurrentTime);
    if((m = ptrtomon(c->x + c->w / 2, c->y + c->h / 2)) != selmon) {
    sendmon(c, m);
    selmon = m;
    focus(NULL);
    Client *
    nexttiled(Client *c) {
    for(; c && (c->isfloating || !ISVISIBLE(c)); c = c->next);
    return c;
    void
    pop(Client *c) {
    detach(c);
    attach(c);
    focus(c);
    arrange(c->mon);
    void
    propertynotify(XEvent *e) {
    Client *c;
    Window trans;
    XPropertyEvent *ev = &e->xproperty;
    if((ev->window == root) && (ev->atom == XA_WM_NAME))
    updatestatus();
    else if(ev->state == PropertyDelete)
    return; /* ignore */
    else if((c = wintoclient(ev->window))) {
    switch(ev->atom) {
    default: break;
    case XA_WM_TRANSIENT_FOR:
    if(!c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) &&
    (c->isfloating = (wintoclient(trans)) != NULL))
    arrange(c->mon);
    break;
    case XA_WM_NORMAL_HINTS:
    updatesizehints(c);
    break;
    case XA_WM_HINTS:
    updatewmhints(c);
    drawbars();
    break;
    if(ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) {
    updatetitle(c);
    if(c == c->mon->sel)
    drawbar(c->mon);
    Monitor *
    ptrtomon(int x, int y) {
    Monitor *m;
    for(m = mons; m; m = m->next)
    if(INRECT(x, y, m->wx, m->wy, m->ww, m->wh))
    return m;
    return selmon;
    void
    quit(const Arg *arg) {
    running = False;
    void
    resize(Client *c, int x, int y, int w, int h, Bool interact) {
    if(applysizehints(c, &x, &y, &w, &h, interact))
    resizeclient(c, x, y, w, h);
    void
    resizeclient(Client *c, int x, int y, int w, int h) {
    XWindowChanges wc;
    c->oldx = c->x; c->x = wc.x = x;
    c->oldy = c->y; c->y = wc.y = y;
    c->oldw = c->w; c->w = wc.width = w;
    c->oldh = c->h; c->h = wc.height = h;
    wc.border_width = c->bw;
    XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
    configure(c);
    XSync(dpy, False);
    void
    resizemouse(const Arg *arg) {
    int ocx, ocy;
    int nw, nh;
    Client *c;
    Monitor *m;
    XEvent ev;
    if(!(c = selmon->sel))
    return;
    restack(selmon);
    ocx = c->x;
    ocy = c->y;
    if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync,
    None, cursor[CurResize], CurrentTime) != GrabSuccess)
    return;
    XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
    do {
    XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev);
    switch(ev.type) {
    case ConfigureRequest:
    case Expose:
    case MapRequest:
    handler[ev.type](&ev);
    break;
    case MotionNotify:
    nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1);
    nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1);
    if(c->mon->wx + nw >= selmon->wx && c->mon->wx + nw <= selmon->wx + selmon->ww
    && c->mon->wy + nh >= selmon->wy && c->mon->wy + nh <= selmon->wy + selmon->wh)
    if(!c->isfloating && selmon->lt[selmon->sellt]->arrange
    && (abs(nw - c->w) > snap || abs(nh - c->h) > snap))
    togglefloating(NULL);
    if(!selmon->lt[selmon->sellt]->arrange || c->isfloating)
    resize(c, c->x, c->y, nw, nh, True);
    break;
    } while(ev.type != ButtonRelease);
    XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
    XUngrabPointer(dpy, CurrentTime);
    while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
    if((m = ptrtomon(c->x + c->w / 2, c->y + c->h / 2)) != selmon) {
    sendmon(c, m);
    selmon = m;
    focus(NULL);
    void
    restack(Monitor *m) {
    Client *c;
    XEvent ev;
    XWindowChanges wc;
    drawbar(m);
    if(!m->sel)
    return;
    if(m->sel->isfloating || !m->lt[m->sellt]->arrange)
    XRaiseWindow(dpy, m->sel->win);
    if(m->lt[m->sellt]->arrange) {
    wc.stack_mode = Below;
    wc.sibling = m->barwin;
    for(c = m->stack; c; c = c->snext)
    if(!c->isfloating && ISVISIBLE(c)) {
    XConfigureWindow(dpy, c->win, CWSibling|CWStackMode, &wc);
    wc.sibling = c->win;
    XSync(dpy, False);
    while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
    void
    run(void) {
    XEvent ev;
    /* main event loop */
    XSync(dpy, False);
    while(running && !XNextEvent(dpy, &ev)) {
    if(handler[ev.type])
    handler[ev.type](&ev); /* call handler */
    void
    scan(void) {
    unsigned int i, num;
    Window d1, d2, *wins = NULL;
    XWindowAttributes wa;
    if(XQueryTree(dpy, root, &d1, &d2, &wins, &num)) {
    for(i = 0; i < num; i++) {
    if(!XGetWindowAttributes(dpy, wins[i], &wa)
    || wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1))
    continue;
    if(wa.map_state == IsViewable || getstate(wins[i]) == IconicState)
    manage(wins[i], &wa);
    for(i = 0; i < num; i++) { /* now the transients */
    if(!XGetWindowAttributes(dpy, wins[i], &wa))
    continue;
    if(XGetTransientForHint(dpy, wins[i], &d1)
    && (wa.map_state == IsViewable || getstate(wins[i]) == IconicState))
    manage(wins[i], &wa);
    if(wins)
    XFree(wins);
    void
    sendmon(Client *c, Monitor *m) {
    if(c->mon == m)
    return;
    unfocus(c, True);
    detach(c);
    detachstack(c);
    c->mon = m;
    c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */
    attach(c);
    attachstack(c);
    focus(NULL);
    arrange(NULL);
    void
    setclientstate(Client *c, long state) {
    long data[] = { state, None };
    XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32,
    PropModeReplace, (unsigned char *)data, 2);
    Bool
    sendevent(Client *c, Atom proto) {
    int n;
    Atom *protocols;
    Bool exists = False;
    XEvent ev;
    if(XGetWMProtocols(dpy, c->win, &protocols, &n)) {
    while(!exists && n--)
    exists = protocols[n] == proto;
    XFree(protocols);
    if(exists) {
    ev.type = ClientMessage;
    ev.xclient.window = c->win;
    ev.xclient.message_type = wmatom[WMProtocols];
    ev.xclient.format = 32;
    ev.xclient.data.l[0] = proto;
    ev.xclient.data.l[1] = CurrentTime;
    XSendEvent(dpy, c->win, False, NoEventMask, &ev);
    return exists;
    void
    setfocus(Client *c) {
    if(!c->neverfocus)
    XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
    sendevent(c, wmatom[WMTakeFocus]);
    void
    setlayout(const Arg *arg) {
    if(!arg || !arg->v || arg->v != selmon->lt[selmon->sellt])
    selmon->sellt ^= 1;
    if(arg && arg->v)
    selmon->lt[selmon->sellt] = selmon->lts[selmon->curtag] = (Layout *)arg->v;
    strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol);
    if(selmon->sel)
    arrange(selmon);
    else
    drawbar(selmon);
    static void
    incnmaster(const Arg *arg) {
    int i;
    if(!arg || !selmon->lt[selmon->sellt]->arrange)
    return;
    i = selmon->nmasters[selmon->curtag] + arg->i;
    selmon->nmasters[selmon->curtag] = i < 0 ? 0 : i;
    arrange(selmon);
    static void
    setnmaster(const Arg *arg) {
    if(!arg || !selmon->lt[selmon->sellt]->arrange)
    return;
    selmon->nmasters[selmon->curtag] = arg->i > 0 ? arg->i : 0;
    arrange(selmon);
    /* arg > 1.0 will set mfact absolutly */
    void
    setmfact(const Arg *arg) {
    float f;
    if(!arg || !selmon->lt[selmon->sellt]->arrange)
    return;
    f = arg->f < 1.0 ? arg->f + selmon->mfacts[selmon->curtag] : arg->f - 1.0;
    if(f < 0.1 || f > 0.9)
    return;
    selmon->mfacts[selmon->curtag] = f;
    arrange(selmon);
    void
    setup(void) {
    XSetWindowAttributes wa;
    /* clean up any zombies immediately */
    sigchld(0);
    /* init screen */
    screen = DefaultScreen(dpy);
    root = RootWindow(dpy, screen);
    initfont(font);
    sw = DisplayWidth(dpy, screen);
    sh = DisplayHeight(dpy, screen);
    bh = dc.h = dc.font.height + 2;
    updategeom();
    /* init atoms */
    wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
    wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
    wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False);
    wmatom[WMTakeFocus] = XInternAtom(dpy, "WM_TAKE_FOCUS", False);
    netatom[NetActiveWindow] = XInternAtom(dpy, "_NET_ACTIVE_WINDOW", False);
    netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False);
    netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
    netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False);
    netatom[NetWMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False);
    /* init cursors */
    cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
    cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
    cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
    /* init appearance */
    dc.norm[ColBorder] = getcolor(normbordercolor);
    dc.norm[ColBG] = getcolor(normbgcolor);
    dc.norm[ColFG] = getcolor(normfgcolor);
    dc.sel[ColBorder] = getcolor(selbordercolor);
    dc.sel[ColBG] = getcolor(selbgcolor);
    dc.sel[ColFG] = getcolor(selfgcolor);
    dc.drawable = XCreatePixmap(dpy, root, DisplayWidth(dpy, screen), bh, DefaultDepth(dpy, screen));
    dc.gc = XCreateGC(dpy, root, 0, NULL);
    XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
    if(!dc.font.set)
    XSetFont(dpy, dc.gc, dc.font.xfont->fid);
    /* init bars */
    updatebars();
    updatestatus();
    /* EWMH support per view */
    XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32,
    PropModeReplace, (unsigned char *) netatom, NetLast);
    /* select for events */
    wa.cursor = cursor[CurNormal];
    wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask|ButtonPressMask
    |EnterWindowMask|LeaveWindowMask|StructureNotifyMask
    |PropertyChangeMask;
    XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa);
    XSelectInput(dpy, root, wa.event_mask);
    grabkeys();
    void
    showhide(Client *c) {
    if(!c)
    return;
    if(ISVISIBLE(c)) { /* show clients top down */
    XMoveWindow(dpy, c->win, c->x, c->y);
    if((!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) && !c->isfullscreen)
    resize(c, c->x, c->y, c->w, c->h, False);
    showhide(c->snext);
    else { /* hide clients bottom up */
    showhide(c->snext);
    XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
    void
    sigchld(int unused) {
    if(signal(SIGCHLD, sigchld) == SIG_ERR)
    die("Can't install SIGCHLD handler");
    while(0 < waitpid(-1, NULL, WNOHANG));
    void
    spawn(const Arg *arg) {
    if(fork() == 0) {
    if(dpy)
    close(ConnectionNumber(dpy));
    setsid();
    execvp(((char **)arg->v)[0], (char **)arg->v);
    fprintf(stderr, "dwm: execvp %s", ((char **)arg->v)[0]);
    perror(" failed");
    exit(EXIT_SUCCESS);
    void
    tag(const Arg *arg) {
    if(selmon->sel && arg->ui & TAGMASK) {
    selmon->sel->tags = arg->ui & TAGMASK;
    arrange(selmon);
    void
    tagmon(const Arg *arg) {
    if(!selmon->sel || !mons->next)
    return;
    sendmon(selmon->sel, dirtomon(arg->i));
    int
    textnw(const char *text, unsigned int len) {
    XRectangle r;
    if(dc.font.set) {
    XmbTextExtents(dc.font.set, text, len, NULL, &r);
    return r.width;
    return XTextWidth(dc.font.xfont, text, len);
    void
    ntile(Monitor *m) {
    int x, y, h, w, mw, nmax, nm;
    unsigned int i, n;
    Client *c;
    snprintf(m->ltsymbol, sizeof m->ltsymbol, "=%d]", m->nmasters[m->curtag]);
    for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
    c = nexttiled(m->clients);
    nmax = m->nmasters[m->curtag];
    nm = nmax == 1 ? 1 : MIN(n / 2, nmax);
    if(nm > n)
    nm = n;
    /* master */
    if(nm > 0) {
    mw = selmon->mfacts[selmon->curtag] * m->ww;
    h = m->wh / nm;
    if(h < bh)
    h = m->wh;
    y = m->wy;
    for(i = 0; i < nm; i++, c = nexttiled(c->next)) {
    resize(c, m->wx, y, (n == nm ? m->ww : mw) - 2 * c->bw,
    ((i + 1 == nm) ? m->wy + m->wh - y : h) - 2 * c->bw, False);
    if(h != m->wh)
    y = c->y + HEIGHT(c);
    n -= nm;
    } else
    mw = 0;
    if(n == 0)
    return;
    /* tile stack */
    x = m->wx + mw;
    y = m->wy;
    w = m->ww - mw;
    h = m->wh / n;
    if(h < bh)
    h = m->wh;
    for(i = 0; c; c = nexttiled(c->next), i++) {
    resize(c, x, y, w - 2 * c->bw,
    ((i + 1 == n) ? m->wy + m->wh - y : h) - 2 * c->bw, False);
    if(h != m->wh)
    y = c->y + HEIGHT(c);
    void
    togglebar(const Arg *arg) {
    selmon->showbar = !selmon->showbar;
    updatebarpos(selmon);
    XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh);
    arrange(selmon);
    void
    togglefloating(const Arg *arg) {
    if(!selmon->sel)
    return;
    selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
    if(selmon->sel->isfloating)
    resize(selmon->sel, selmon->sel->x, selmon->sel->y,
    selmon->sel->w, selmon->sel->h, False);
    arrange(selmon);
    void
    toggletag(const Arg *arg) {
    unsigned int newtags;
    unsigned int i;
    if(!selmon->sel)
    return;
    newtags = selmon->sel->tags ^ (arg->ui & TAGMASK);
    if(newtags) {
    selmon->sel->tags = newtags;
    if(newtags == ~0) {
    selmon->prevtag = selmon->curtag;
    selmon->curtag = 0;
    if(!(newtags & 1 << (selmon->curtag - 1))) {
    selmon->prevtag = selmon->curtag;
    for (i=0; !(newtags & 1 << i); i++);
    selmon->curtag = i + 1;
    selmon->sel->tags = newtags;
    selmon->lt[selmon->sellt] = selmon->lts[selmon->curtag];
    arrange(selmon);
    void
    toggleview(const Arg *arg) {
    unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK);
    if(newtagset) {
    selmon->tagset[selmon->seltags] = newtagset;
    arrange(selmon);
    void
    unfocus(Client *c, Bool setfocus) {
    if(!c)
    return;
    grabbuttons(c, False);
    XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]);
    if(setfocus)
    XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
    void
    unmanage(Client *c, Bool destroyed) {
    Monitor *m = c->mon;
    XWindowChanges wc;
    /* The server grab construct avoids race conditions. */
    detach(c);
    detachstack(c);
    if(!destroyed) {
    wc.border_width = c->oldbw;
    XGrabServer(dpy);
    XSetErrorHandler(xerrordummy);
    XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); /* restore border */
    XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
    setclientstate(c, WithdrawnState);
    XSync(dpy, False);
    XSetErrorHandler(xerror);
    XUngrabServer(dpy);
    free(c);
    focus(NULL);
    arrange(m);
    void
    unmapnotify(XEvent *e) {
    Client *c;
    XUnmapEvent *ev = &e->xunmap;
    if((c = wintoclient(ev->window)))
    unmanage(c, False);
    void
    updatebars(void) {
    Monitor *m;
    XSetWindowAttributes wa = {
    .override_redirect = True,
    .background_pixmap = ParentRelative,
    .event_mask = ButtonPressMask|ExposureMask
    for(m = mons; m; m = m->next) {
    m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen),
    CopyFromParent, DefaultVisual(dpy, screen),
    CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa);
    XDefineCursor(dpy, m->barwin, cursor[CurNormal]);
    XMapRaised(dpy, m->barwin);
    void
    updatebarpos(Monitor *m) {
    m->wy = m->my;
    m->wh = m->mh;
    if(m->showbar) {
    m->wh -= bh;
    m->by = m->topbar ? m->wy : m->wy + m->wh;
    m->wy = m->topbar ? m->wy + bh : m->wy;
    else
    m->by = -bh;
    Bool
    updategeom(void) {
    Bool dirty = False;
    #ifdef XINERAMA
    if(XineramaIsActive(dpy)) {
    int i, j, n, nn;
    Client *c;
    Monitor *m;
    XineramaScreenInfo *info = XineramaQueryScreens(dpy, &nn);
    XineramaScreenInfo *unique = NULL;
    for(n = 0, m = mons; m; m = m->next, n++);
    /* only consider unique geometries as separate screens */
    if(!(unique = (XineramaScreenInfo *)malloc(sizeof(XineramaScreenInfo) * nn)))
    die("fatal: could not malloc() %u bytes\n", sizeof(XineramaScreenInfo) * nn);
    for(i = 0, j = 0; i < nn; i++)
    if(isuniquegeom(unique, j, &info[i]))
    memcpy(&unique[j++], &info[i], sizeof(XineramaScreenInfo));
    XFree(info);
    nn = j;
    if(n <= nn) {
    for(i = 0; i < (nn - n); i++) { /* new monitors available */
    for(m = mons; m && m->next; m = m->next);
    if(m)
    m->next = createmon();
    else
    mons = createmon();
    for(i = 0, m = mons; i < nn && m; m = m->next, i++)
    if(i >= n
    || (unique[i].x_org != m->mx || unique[i].y_org != m->my
    || unique[i].width != m->mw || unique[i].height != m->mh))
    dirty = True;
    m->num = i;
    m->mx = m->wx = unique[i].x_org;
    m->my = m->wy = unique[i].y_org;
    m->mw = m->ww = unique[i].width;
    m->mh = m->wh = unique[i].height;
    updatebarpos(m);
    else { /* less monitors available nn < n */
    for(i = nn; i < n; i++) {
    for(m = mons; m && m->next; m = m->next);
    while(m->clients) {
    dirty = True;
    c = m->clients;
    m->clients = c->next;
    detachstack(c);
    c->mon = mons;
    attach(c);
    attachstack(c);
    if(m == selmon)
    selmon = mons;
    cleanupmon(m);
    free(unique);
    else
    #endif /* XINERAMA */
    /* default monitor setup */
    if(!mons)
    mons = createmon();
    if(mons->mw != sw || mons->mh != sh) {
    dirty = True;
    mons->mw = mons->ww = sw;
    mons->mh = mons->wh = sh;
    updatebarpos(mons);
    if(dirty) {
    selmon = mons;
    selmon = wintomon(root);
    return dirty;
    void
    updatenumlockmask(void) {
    unsigned int i, j;
    XModifierKeymap *modmap;
    numlockmask = 0;
    modmap = XGetModifierMapping(dpy);
    for(i = 0; i < 8; i++)
    for(j = 0; j < modmap->max_keypermod; j++)
    if(modmap->modifiermap[i * modmap->max_keypermod + j]
    == XKeysymToKeycode(dpy, XK_Num_Lock))
    numlockmask = (1 << i);
    XFreeModifiermap(modmap);
    void
    updatesizehints(Client *c) {
    long msize;
    XSizeHints size;
    if(!XGetWMNormalHints(dpy, c->win, &size, &msize))
    /* size is uninitialized, ensure that size.flags aren't used */
    size.flags = PSize;
    if(size.flags & PBaseSize) {
    c->basew = size.base_width;
    c->baseh = size.base_height;
    else if(size.flags & PMinSize) {
    c->basew = size.min_width;
    c->baseh = size.min_height;
    else
    c->basew = c->baseh = 0;
    if(size.flags & PResizeInc) {
    c->incw = size.width_inc;
    c->inch = size.height_inc;
    else
    c->incw = c->inch = 0;
    if(size.flags & PMaxSize) {
    c->maxw = size

    The diff you use rename tile() to ntile(), you should not have tile in your config.h. The rest of errors probably relate to what the diff has nerfed, or should be gone once you fix that tile.
    I think you should stay on 5.8.2 until all the patches have support for 5.9 if you can't patch on patch on your own.
    (edit) that github repo has issues, it might be good idea to create issue if that patch really have compatible issue with 5.9. That would benefit all other patch users.
    Last edited by livibetter (2011-09-12 14:55:00)

  • Running object track code on visual c++ with open CV

    Dear all,
    I am newbie to config the open CV in visual c++.
    i have visual studio 2013 desktop version & open CV beta v3.0; I have config the data as per link shared 
    Config opencv I have downloaded the example code from youtube ; link for the code as followyoutube
    link
    visual c++ code
    #include <sstream>
    #include <string>
    #include <iostream>
    #include <opencv\highgui.h>
    #include <opencv\cv.h>
    using namespace cv;
    //initial min and max HSV filter values.
    //these will be changed using trackbars
    int H_MIN = 0;
    int H_MAX = 256;
    int S_MIN = 0;
    int S_MAX = 256;
    int V_MIN = 0;
    int V_MAX = 256;
    //default capture width and height
    const int FRAME_WIDTH = 640;
    const int FRAME_HEIGHT = 480;
    //max number of objects to be detected in frame
    const int MAX_NUM_OBJECTS=50;
    //minimum and maximum object area
    const int MIN_OBJECT_AREA = 20*20;
    const int MAX_OBJECT_AREA = FRAME_HEIGHT*FRAME_WIDTH/1.5;
    //names that will appear at the top of each window
    const string windowName = "Original Image";
    const string windowName1 = "HSV Image";
    const string windowName2 = "Thresholded Image";
    const string windowName3 = "After Morphological Operations";
    const string trackbarWindowName = "Trackbars";
    void on_trackbar( int, void* )
    {//This function gets called whenever a
    // trackbar position is changed
    string intToString(int number){
    std::stringstream ss;
    ss << number;
    return ss.str();
    void createTrackbars(){
    //create window for trackbars
    namedWindow(trackbarWindowName,0);
    //create memory to store trackbar name on window
    char TrackbarName[50];
    sprintf( TrackbarName, "H_MIN", H_MIN);
    sprintf( TrackbarName, "H_MAX", H_MAX);
    sprintf( TrackbarName, "S_MIN", S_MIN);
    sprintf( TrackbarName, "S_MAX", S_MAX);
    sprintf( TrackbarName, "V_MIN", V_MIN);
    sprintf( TrackbarName, "V_MAX", V_MAX);
    //create trackbars and insert them into window
    //3 parameters are: the address of the variable that is changing when the trackbar is moved(eg.H_LOW),
    //the max value the trackbar can move (eg. H_HIGH),
    //and the function that is called whenever the trackbar is moved(eg. on_trackbar)
    // ----> ----> ---->
    createTrackbar( "H_MIN", trackbarWindowName, &H_MIN, H_MAX, on_trackbar );
    createTrackbar( "H_MAX", trackbarWindowName, &H_MAX, H_MAX, on_trackbar );
    createTrackbar( "S_MIN", trackbarWindowName, &S_MIN, S_MAX, on_trackbar );
    createTrackbar( "S_MAX", trackbarWindowName, &S_MAX, S_MAX, on_trackbar );
    createTrackbar( "V_MIN", trackbarWindowName, &V_MIN, V_MAX, on_trackbar );
    createTrackbar( "V_MAX", trackbarWindowName, &V_MAX, V_MAX, on_trackbar );
    void drawObject(int x, int y,Mat &frame){
    //use some of the openCV drawing functions to draw crosshairs
    //on your tracked image!
    //UPDATE:JUNE 18TH, 2013
    //added 'if' and 'else' statements to prevent
    //memory errors from writing off the screen (ie. (-25,-25) is not within the window!)
    circle(frame,Point(x,y),20,Scalar(0,255,0),2);
    if(y-25>0)
    line(frame,Point(x,y),Point(x,y-25),Scalar(0,255,0),2);
    else line(frame,Point(x,y),Point(x,0),Scalar(0,255,0),2);
    if(y+25<FRAME_HEIGHT)
    line(frame,Point(x,y),Point(x,y+25),Scalar(0,255,0),2);
    else line(frame,Point(x,y),Point(x,FRAME_HEIGHT),Scalar(0,255,0),2);
    if(x-25>0)
    line(frame,Point(x,y),Point(x-25,y),Scalar(0,255,0),2);
    else line(frame,Point(x,y),Point(0,y),Scalar(0,255,0),2);
    if(x+25<FRAME_WIDTH)
    line(frame,Point(x,y),Point(x+25,y),Scalar(0,255,0),2);
    else line(frame,Point(x,y),Point(FRAME_WIDTH,y),Scalar(0,255,0),2);
    putText(frame,intToString(x)+","+intToString(y),Point(x,y+30),1,1,Scalar(0,255,0),2);
    void morphOps(Mat &thresh){
    //create structuring element that will be used to "dilate" and "erode" image.
    //the element chosen here is a 3px by 3px rectangle
    Mat erodeElement = getStructuringElement( MORPH_RECT,Size(3,3));
    //dilate with larger element so make sure object is nicely visible
    Mat dilateElement = getStructuringElement( MORPH_RECT,Size(8,8));
    erode(thresh,thresh,erodeElement);
    erode(thresh,thresh,erodeElement);
    dilate(thresh,thresh,dilateElement);
    dilate(thresh,thresh,dilateElement);
    void trackFilteredObject(int &x, int &y, Mat threshold, Mat &cameraFeed){
    Mat temp;
    threshold.copyTo(temp);
    //these two vectors needed for output of findContours
    vector< vector<Point> > contours;
    vector<Vec4i> hierarchy;
    //find contours of filtered image using openCV findContours function
    findContours(temp,contours,hierarchy,CV_RETR_CCOMP,CV_CHAIN_APPROX_SIMPLE );
    //use moments method to find our filtered object
    double refArea = 0;
    bool objectFound = false;
    if (hierarchy.size() > 0) {
    int numObjects = hierarchy.size();
    //if number of objects greater than MAX_NUM_OBJECTS we have a noisy filter
    if(numObjects<MAX_NUM_OBJECTS){
    for (int index = 0; index >= 0; index = hierarchy[index][0]) {
    Moments moment = moments((cv::Mat)contours[index]);
    double area = moment.m00;
    //if the area is less than 20 px by 20px then it is probably just noise
    //if the area is the same as the 3/2 of the image size, probably just a bad filter
    //we only want the object with the largest area so we safe a reference area each
    //iteration and compare it to the area in the next iteration.
    if(area>MIN_OBJECT_AREA && area<MAX_OBJECT_AREA && area>refArea){
    x = moment.m10/area;
    y = moment.m01/area;
    objectFound = true;
    refArea = area;
    }else objectFound = false;
    //let user know you found an object
    if(objectFound ==true){
    putText(cameraFeed,"Tracking Object",Point(0,50),2,1,Scalar(0,255,0),2);
    //draw object location on screen
    drawObject(x,y,cameraFeed);}
    }else putText(cameraFeed,"TOO MUCH NOISE! ADJUST FILTER",Point(0,50),1,2,Scalar(0,0,255),2);
    int main(int argc, char* argv[])
    //some boolean variables for different functionality within this
    //program
    bool trackObjects = false;
    bool useMorphOps = false;
    //Matrix to store each frame of the webcam feed
    Mat cameraFeed;
    //matrix storage for HSV image
    Mat HSV;
    //matrix storage for binary threshold image
    Mat threshold;
    //x and y values for the location of the object
    int x=0, y=0;
    //create slider bars for HSV filtering
    createTrackbars();
    //video capture object to acquire webcam feed
    VideoCapture capture;
    //open capture object at location zero (default location for webcam)
    capture.open(0);
    //set height and width of capture frame
    capture.set(CV_CAP_PROP_FRAME_WIDTH,FRAME_WIDTH);
    capture.set(CV_CAP_PROP_FRAME_HEIGHT,FRAME_HEIGHT);
    //start an infinite loop where webcam feed is copied to cameraFeed matrix
    //all of our operations will be performed within this loop
    while(1){
    //store image to matrix
    capture.read(cameraFeed);
    //convert frame from BGR to HSV colorspace
    cvtColor(cameraFeed,HSV,COLOR_BGR2HSV);
    //filter HSV image between values and store filtered image to
    //threshold matrix
    inRange(HSV,Scalar(H_MIN,S_MIN,V_MIN),Scalar(H_MAX,S_MAX,V_MAX),threshold);
    //perform morphological operations on thresholded image to eliminate noise
    //and emphasize the filtered object(s)
    if(useMorphOps)
    morphOps(threshold);
    //pass in thresholded frame to our object tracking function
    //this function will return the x and y coordinates of the
    //filtered object
    if(trackObjects)
    trackFilteredObject(x,y,threshold,cameraFeed);
    //show frames
    imshow(windowName2,threshold);
    imshow(windowName,cameraFeed);
    imshow(windowName1,HSV);
    //delay 30ms so that screen can refresh.
    //image will not appear without this waitKey() command
    waitKey(30);
    return 0;
    For above code i config as per in video. But didnt get OPENCV_DEBUG243 file.
    error i am getting as below. Let me know how can solve the issue. What are additional info i need to include here.
    1>------ Build started: Project: ObjectTrackingTest, Configuration: Debug Win32 ------
    1> ObjectTrackingTest.cpp
    1>c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar(29): error C2039: 'swprintf' : is not a member of '`global namespace''
    1>c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar(29): error C2873: 'swprintf' : symbol cannot be used in a using-declaration
    1>c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar(30): error C2039: 'vswprintf' : is not a member of '`global namespace''
    1>c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar(30): error C2873: 'vswprintf' : symbol cannot be used in a using-declaration
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(38): warning C4244: 'initializing' : conversion from 'double' to 'const int', possible loss of data
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40): error C2146: syntax error : missing ';' before identifier 'windowName'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40): error C2440: 'initializing' : cannot convert from 'const char [15]' to 'int'
    1> There is no context in which this conversion is possible
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(41): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(41): error C2146: syntax error : missing ';' before identifier 'windowName1'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(41): error C2086: 'const int string' : redefinition
    1> c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(41): error C2440: 'initializing' : cannot convert from 'const char [10]' to 'int'
    1> There is no context in which this conversion is possible
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(42): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(42): error C2146: syntax error : missing ';' before identifier 'windowName2'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(42): error C2086: 'const int string' : redefinition
    1> c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(42): error C2440: 'initializing' : cannot convert from 'const char [18]' to 'int'
    1> There is no context in which this conversion is possible
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(43): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(43): error C2146: syntax error : missing ';' before identifier 'windowName3'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(43): error C2086: 'const int string' : redefinition
    1> c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(43): error C2440: 'initializing' : cannot convert from 'const char [31]' to 'int'
    1> There is no context in which this conversion is possible
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(44): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(44): error C2146: syntax error : missing ';' before identifier 'trackbarWindowName'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(44): error C2086: 'const int string' : redefinition
    1> c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(44): error C2440: 'initializing' : cannot convert from 'const char [10]' to 'int'
    1> There is no context in which this conversion is possible
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(54): error C2146: syntax error : missing ';' before identifier 'intToString'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(54): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(54): error C2373: 'string' : redefinition; different type modifiers
    1> c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(59): error C2440: 'return' : cannot convert from 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' to 'int'
    1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(60): error C2617: 'intToString' : inconsistent return statement
    1> c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(54) : see declaration of 'intToString'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(65): error C3861: 'namedWindow': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(79): error C3861: 'createTrackbar': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(80): error C3861: 'createTrackbar': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(81): error C3861: 'createTrackbar': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(82): error C3861: 'createTrackbar': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(83): error C3861: 'createTrackbar': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(84): error C3861: 'createTrackbar': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(97): error C3861: 'circle': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(99): error C3861: 'line': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(100): error C3861: 'line': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(102): error C3861: 'line': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(103): error C3861: 'line': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(105): error C3861: 'line': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(106): error C3861: 'line': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(108): error C3861: 'line': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(109): error C3861: 'line': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(111): error C3861: 'putText': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(119): error C2065: 'MORPH_RECT' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(119): error C3861: 'getStructuringElement': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(121): error C2065: 'MORPH_RECT' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(121): error C3861: 'getStructuringElement': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(123): error C3861: 'erode': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(124): error C3861: 'erode': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(127): error C3861: 'dilate': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(128): error C3861: 'dilate': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(138): error C2065: 'vector' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(138): error C2059: syntax error : '>'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(139): error C2065: 'vector' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(139): error C2275: 'cv::Vec4i' : illegal use of this type as an expression
    1> h:\softwares\opencv\build\include\opencv2\core\matx.hpp(357) : see declaration of 'cv::Vec4i'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(139): error C2065: 'hierarchy' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(141): error C2065: 'contours' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(141): error C2065: 'hierarchy' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(141): error C3861: 'findContours': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(145): error C2065: 'hierarchy' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(145): error C2228: left of '.size' must have class/struct/union
    1> type is 'unknown-type'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(146): error C2065: 'hierarchy' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(146): error C2228: left of '.size' must have class/struct/union
    1> type is 'unknown-type'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(149): error C2065: 'hierarchy' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(151): error C2065: 'contours' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(151): error C3861: 'moments': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(159): warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(160): warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(170): error C3861: 'putText': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(176): error C3861: 'putText': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(196): error C2065: 'VideoCapture' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(196): error C2146: syntax error : missing ';' before identifier 'capture'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(196): error C2065: 'capture' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(198): error C2065: 'capture' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(198): error C2228: left of '.open' must have class/struct/union
    1> type is 'unknown-type'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(200): error C2065: 'capture' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(200): error C2228: left of '.set' must have class/struct/union
    1> type is 'unknown-type'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(201): error C2065: 'capture' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(201): error C2228: left of '.set' must have class/struct/union
    1> type is 'unknown-type'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(206): error C2065: 'capture' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(206): error C2228: left of '.read' must have class/struct/union
    1> type is 'unknown-type'
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(208): error C2065: 'COLOR_BGR2HSV' : undeclared identifier
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(208): error C3861: 'cvtColor': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(223): error C3861: 'imshow': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(224): error C3861: 'imshow': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(225): error C3861: 'imshow': identifier not found
    1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(230): error C3861: 'waitKey': identifier not found
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    AMPS12

    // cwchar standard header
    #pragma once
    #ifndef _CWCHAR_
    #define _CWCHAR_
    #include <yvals.h>
    #ifdef _STD_USING
    #undef _STD_USING
    #include <wchar.h>
    #define _STD_USING
    #else /* _STD_USING */
    #include <wchar.h>
    #endif /* _STD_USING */
    typedef mbstate_t _Mbstatet;
    #if _GLOBAL_USING && !defined(RC_INVOKED)
    _STD_BEGIN
    using _CSTD _Mbstatet;
    using _CSTD mbstate_t; using _CSTD size_t; using _CSTD tm; using _CSTD wint_t;
    using _CSTD btowc; using _CSTD fgetwc; using _CSTD fgetws; using _CSTD fputwc;
    using _CSTD fputws; using _CSTD fwide; using _CSTD fwprintf;
    using _CSTD fwscanf; using _CSTD getwc; using _CSTD getwchar;
    using _CSTD mbrlen; using _CSTD mbrtowc; using _CSTD mbsrtowcs;
    using _CSTD mbsinit; using _CSTD putwc; using _CSTD putwchar;using _CSTD swprintf; using _CSTD swscanf; using _CSTD ungetwc;
    using _CSTD vfwprintf; using _CSTD vswprintf; using _CSTD vwprintf;
    using _CSTD wcrtomb; using _CSTD wprintf; using _CSTD wscanf;
    using _CSTD wcsrtombs; using _CSTD wcstol; using _CSTD wcscat;
    using _CSTD wcschr; using _CSTD wcscmp; using _CSTD wcscoll;
    using _CSTD wcscpy; using _CSTD wcscspn; using _CSTD wcslen;
    using _CSTD wcsncat; using _CSTD wcsncmp; using _CSTD wcsncpy;
    using _CSTD wcspbrk; using _CSTD wcsrchr; using _CSTD wcsspn;
    using _CSTD wcstod; using _CSTD wcstoul; using _CSTD wcsstr;
    using _CSTD wcstok; using _CSTD wcsxfrm; using _CSTD wctob;
    using _CSTD wmemchr; using _CSTD wmemcmp; using _CSTD wmemcpy;
    using _CSTD wmemmove; using _CSTD wmemset; using _CSTD wcsftime;
    using _CSTD vfwscanf; using _CSTD vswscanf; using _CSTD vwscanf;
    using _CSTD wcstof; using _CSTD wcstold;
    using _CSTD wcstoll; using _CSTD wcstoull;
    _STD_END
    #endif /* _GLOBAL_USING */
    #endif /* _CWCHAR_ */
    * Copyright (c) 1992-2013 by P.J. Plauger. ALL RIGHTS RESERVED.
    * Consult your license regarding permissions and restrictions.
    V6.40:0009 */
    this is line where it go when i clicked
    AMPS12

  • Build error while creating 32-64 universal binary

    Hi All,
    I have to build a bundle in Xcode as part of development.
    While building 32-bit universal, it is not giving any issues. But when I keep 32-64bit universal, I am getting so many build errors. As I have windows background, pretty new to Mac, so any help suggestions will be appreciated.
    Build MSGSmartIssue of project SMASmartIssue with configuration Development
    CompileC build/SMASmartIssue.build/Development/MSGSmartIssue.build/Objects-normal/x86_64 /GUID.o GUID.cp normal x86_64 c++ com.apple.compilers.gcc.4_2
    cd /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue
    setenv LANG en_US.US-ASCII
    /Developer/usr/bin/gcc-4.2 -x c++ -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mfix-and-continue -fvisibility-inlines-hidden -mmacosx-version-min=10.6 -gdwarf-2 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/MSGSmartIssue.hmap -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development/include -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources/x86_64 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources -I /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework /Versions/A/Frameworks/OSServices.framework/Versions/A/Headers -c /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/GUID.cp -o /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssue. build/Objects-normal/x86_64/GUID.o
    In file included from /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework /Versions/A/Frameworks/OSServices.framework/Versions/A/Headers/OpenTransportProv iders.h:20,
                     from /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/GUID.cp:9:
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::Close()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4369: error: 'OTCloseProvider' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::SetNonBlocking()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4371: error: 'OTSetNonBlocking' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::SetBlocking()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4372: error: 'OTSetBlocking' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'Boolean TProvider::IsBlocking()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4373: error: 'OTIsBlocking' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'Boolean TProvider::IsNonBlocking()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4374: error: 'OTIsBlocking' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::SetSynchronous()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4375: error: 'OTSetSynchronous' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::SetAsynchronous()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4376: error: 'OTSetAsynchronous' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'Boolean TProvider::IsSynchronous()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4377: error: 'OTIsSynchronous' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'Boolean TProvider::IsAsynchronous()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4378: error: 'OTIsSynchronous' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::AckSends()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4380: error: 'OTAckSends' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::DontAckSends()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4381: error: 'OTDontAckSends' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'Boolean TProvider::IsAckingSends()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4382: error: 'OTIsAckingSends' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'void TProvider::CancelSynchronousCalls(OSStatus)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4385: error: 'OTCancelSynchronousCalls' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::InstallNotifier(void (*)(void*, OTEventCode, OTResult, void*), void*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4388: error: 'OTInstallNotifier' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::UseSyncIdleEvents()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4391: error: 'OTUseSyncIdleEvents' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TProvider::DontUseSyncIdleEvents()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4394: error: 'OTUseSyncIdleEvents' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'void TProvider::RemoveNotifier()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4397: error: 'OTRemoveNotifier' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'Boolean TProvider::EnterNotifier()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4400: error: 'OTEnterNotifier' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'void TProvider::LeaveNotifier()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4403: error: 'OTLeaveNotifier' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'SInt32 TProvider::Ioctl(UInt32, void*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4414: error: 'OTIoctl' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'SInt32 TProvider::Ioctl(UInt32, long int)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4416: error: 'OTIoctl' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::GetEndpointInfo(TEndpointInfo*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4456: error: 'OTGetEndpointInfo' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::GetProtAddress(TBind*, TBind*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4459: error: 'OTGetProtAddress' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::ResolveAddress(TBind*, TBind*, OTTimeout)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4462: error: 'OTResolveAddress' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OTResult TEndpoint::GetEndpointState()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4465: error: 'OTGetEndpointState' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OTResult TEndpoint::Look()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4468: error: 'OTLook' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'void* TEndpoint::AllocInContext(OTStructType, UInt32, OSStatus*, OpaqueOTClientContextPtr*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4478: error: 'OTAllocInContext' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'void* TEndpoint::Alloc(OTStructType, UInt32, OSStatus*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4483: error: 'OTAllocInContext' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OTResult TEndpoint::Free(void*, OTStructType)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4490: error: 'OTFree' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::OptionManagement(TOptMgmt*, TOptMgmt*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4495: error: 'OTOptionManagement' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::Bind(TBind*, TBind*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4500: error: 'OTBind' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::Unbind()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4503: error: 'OTUnbind' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::Connect(TCall*, TCall*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4508: error: 'OTConnect' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::RcvConnect(TCall*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4511: error: 'OTRcvConnect' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::Listen(TCall*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4514: error: 'OTListen' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::Accept(TEndpoint*, TCall*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4517: error: 'OTAccept' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::SndDisconnect(TCall*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4520: error: 'OTSndDisconnect' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::SndOrderlyDisconnect()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4523: error: 'OTSndOrderlyDisconnect' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::RcvDisconnect(TDiscon*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4526: error: 'OTRcvDisconnect' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::RcvOrderlyDisconnect()':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4529: error: 'OTRcvOrderlyDisconnect' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OTResult TEndpoint::Snd(void*, OTByteCount, OTFlags)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4534: error: 'OTSnd' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OTResult TEndpoint::Rcv(void*, OTByteCount, OTFlags*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4537: error: 'OTRcv' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::SndUData(TUnitData*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4542: error: 'OTSndUData' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::RcvUData(TUnitData*, OTFlags*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4545: error: 'OTRcvUData' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TEndpoint::RcvUDErr(TUDErr*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4548: error: 'OTRcvUDErr' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OTResult TEndpoint::CountDataBytes(OTByteCount*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4596: error: 'OTCountDataBytes' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TMapper::RegisterName(TRegisterRequest*, TRegisterReply*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4609: error: 'OTRegisterName' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TMapper::DeleteName(TNetbuf*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4612: error: 'OTDeleteName' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TMapper::DeleteName(OTNameID)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4615: error: 'OTDeleteNameByID' was not declared in this scope
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h: In member function 'OSStatus TMapper::LookupName(TLookupRequest*, TLookupReply*)':
    /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/ Frameworks/OSServices.framework/Headers/OpenTransport.h:4618: error: 'OTLookupName' was not declared in this scope
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GUID.cp: In constructor 'GUID::GUID()':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GUID.cp:25: error: 'OTInetGetInterfaceInfo' was not declared in this scope
    CompileC build/SMASmartIssue.build/Development/MSGSmartIssue.build/Objects-normal/x86_64 /MSGSmartIssue.o MSGSmartIssue.mm normal x86_64 objective-c++ com.apple.compilers.gcc.4_2
    cd /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue
    setenv LANG en_US.US-ASCII
    /Developer/usr/bin/gcc-4.2 -x objective-c++ -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mfix-and-continue -fvisibility-inlines-hidden -mmacosx-version-min=10.6 -gdwarf-2 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/MSGSmartIssue.hmap -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development/include -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources/x86_64 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources -I /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/keychain -I /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/custom/CloseWindow -I /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/proxyconfig -I /Developer/Headers/FlatCarbon -c /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/MSGSmartIssue.mm -o /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssue. build/Objects-normal/x86_64/MSGSmartIssue.o
    In file included from /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/../../subagent/MSGAppController.h:12,
                     from /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/MSGSmartIssue.mm:13:
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../webkit/MSGDocument.h:25:19: warning: missing whitespace after the macro name
    In file included from /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/MSGSmartIssue.mm:13:
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../subagent/MSGAppController.h:36:1: warning: "kMSGInCriticalValue" redefined
    In file included from /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/../../subagent/MSGAppController.h:12,
                     from /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/MSGSmartIssue.mm:13:
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../webkit/MSGDocument.h:26:1: warning: this is the location of the previous definition
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm: In function 'NSString* -[MSGSmartIssue guid](MSGSmartIssue*, objc_selector*)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:35: warning: 'stringWithCString:' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:386)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm: In function 'NSString* -[MSGSmartIssue replaceTemplateVarsWithValues:](MSGSmartIssue*, objc_selector*, NSString*)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:206: warning: 'stringWithContentsOfFile:' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:379)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:207: warning: 'cString' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:367)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:217: warning: 'cString' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:367)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:222: warning: 'cString' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:367)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:224: warning: comparison between signed and unsigned integer expressions
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm: In function 'std::string splitAndDelete(std::string&, std::string)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:250: warning: comparison between signed and unsigned integer expressions
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm: In function 'NSString* -[MSGSmartIssue splitAndDeleteNS:delimiter:](MSGSmartIssue*, objc_selector*, NSMutableString*, NSString*)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:259: warning: conflicting types for '-(NSString *)splitAndDeleteNS:(NSMutableString *)s delimiter:(NSString *)delimiter'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.h:55: warning: previous declaration of '-(NSString *)splitAndDeleteNS:(NSMutableString **)s delimiter:(NSString *)delimiter'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm: In function 'std::string stringReplace(std::string, std::string, std::string)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:275: warning: comparison between signed and unsigned integer expressions
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm: In function 'NSString* -[MSGSmartIssue replaceXMLQuotedVarsWithValues:](MSGSmartIssue*, objc_selector*, NSString*)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:297: warning: 'stringWithContentsOfFile:' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:379)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:307: warning: unused variable 'aE'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm: In function 'int -[MSGSmartIssue postSmartIssue:key:dataPath:siTemplate:conversion:](MSGSmartIssue*, objc_selector*, NSString*, NSString*, NSString*, NSString*, NSString*)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:466: error: cannot convert 'long int*' to 'SInt32*' for argument '5' to 'OSErr FindFolder(FSVolumeRefNum, OSType, Boolean, FSVolumeRefNum*, SInt32*)'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:472: warning: 'cString' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:367)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:475: warning: 'cString' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:367)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:487: warning: unused variable 'siResponse'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm: In function 'NSString* -[MSGSmartIssue httpPost:withdata:](MSGSmartIssue*, objc_selector*, NSString*, NSString*)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:502: warning: 'cString' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:367)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/MSGSmartIssue.mm:503: warning: 'cString' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/H eaders/NSString.h:367)
    CompileC build/SMASmartIssue.build/Development/MSGSmartIssue.build/Objects-normal/x86_64 /GetSystemInfo.o GetSystemInfo.cp normal x86_64 c++ com.apple.compilers.gcc.4_2
    cd /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue
    setenv LANG en_US.US-ASCII
    /Developer/usr/bin/gcc-4.2 -x c++ -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mfix-and-continue -fvisibility-inlines-hidden -mmacosx-version-min=10.6 -gdwarf-2 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/MSGSmartIssue.hmap -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development/include -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources/x86_64 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources -I /Users/admin/Perforce/saurabh/sdc/trunk/ridev/macos/SubscriberAgent2/MoreFiles/ Sources -c /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/GetSystemInfo.cp -o /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssue. build/Objects-normal/x86_64/GetSystemInfo.o
    In file included from /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/GetSystemInfo.cp:9:
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:153: error: field 'PB' has incomplete type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:154: error: 'CInfoPBRec' does not name a type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:155: error: 'DTPBRec' does not name a type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:156: error: 'HParamBlockRec' does not name a type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:157: error: 'CMovePBRec' does not name a type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:158: error: 'WDPBRec' does not name a type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:159: error: 'FCBPBRec' does not name a type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:160: error: 'XVolumeParam' does not name a type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:536: error: 'HParmBlkPtr' has not been declared
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:571: error: 'XVolumeParamPtr' has not been declared
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:604: error: 'CInfoPBPtr' has not been declared
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GetSystemInfo.cp: In function 'long int GetOSVersion()':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GetSystemInfo.cp:15: error: cannot convert 'long int*' to 'SInt32*' for argument '2' to 'OSErr Gestalt(OSType, SInt32*)'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GetSystemInfo.cp: In function 'long int GetRAMSize()':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GetSystemInfo.cp:68: error: cannot convert 'long int*' to 'SInt32*' for argument '2' to 'OSErr Gestalt(OSType, SInt32*)'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GetSystemInfo.cp: In function 'long int GetCPUClockSpeed()':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GetSystemInfo.cp:75: error: cannot convert 'long int*' to 'SInt32*' for argument '2' to 'OSErr Gestalt(OSType, SInt32*)'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GetSystemInfo.cp: In function 'long int GetCPUType()':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/GetSystemInfo.cp:82: error: cannot convert 'long int*' to 'SInt32*' for argument '2' to 'OSErr Gestalt(OSType, SInt32*)'
    CompileC build/SMASmartIssue.build/Development/MSGSmartIssue.build/Objects-normal/x86_64 /SmartIssue.o SmartIssue.cp normal x86_64 c++ com.apple.compilers.gcc.4_2
    cd /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue
    setenv LANG en_US.US-ASCII
    /Developer/usr/bin/gcc-4.2 -x c++ -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mfix-and-continue -fvisibility-inlines-hidden -mmacosx-version-min=10.6 -gdwarf-2 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/MSGSmartIssue.hmap -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development/include -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources/x86_64 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources -c /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/SmartIssue.cp -o /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssue. build/Objects-normal/x86_64/SmartIssue.o
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/SmartIssue.cp: In function 'std::string HTTPPost(std::string&, std::string&)':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/SmartIssue.cp:132: error: 'URLNewReference' was not declared in this scope
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/SmartIssue.cp:134: error: 'URLSetProperty' was not declared in this scope
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/SmartIssue.cp:136: error: 'URLDownload' was not declared in this scope
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/SmartIssue.cp:137: error: 'URLDisposeReference' was not declared in this scope
    CompileC build/SMASmartIssue.build/Development/MSGSmartIssue.build/Objects-normal/x86_64 /MoreFilesExtras.o ../../MoreFiles/Sources/MoreFilesExtras.c normal x86_64 c com.apple.compilers.gcc.4_2
    cd /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue
    setenv LANG en_US.US-ASCII
    /Developer/usr/bin/gcc-4.2 -x c -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mfix-and-continue -mmacosx-version-min=10.6 -gdwarf-2 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/MSGSmartIssue.hmap -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/Development/include -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources/x86_64 -I/Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscrib erAgent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssu e.build/DerivedSources -I /Developer/SDKS/MacOSX10.6u.sdk/Developer/Headers/FlatCarbon -c /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c -o /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/build/SMASmartIssue.build/Development/MSGSmartIssue. build/Objects-normal/x86_64/MoreFilesExtras.o
    In file included from /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/Subscriber Agent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:103:
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:153: error: field 'PB' has incomplete type
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:154: error: expected specifier-qualifier-list before 'CInfoPBRec'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:536: error: expected declaration specifiers or '...' before 'HParmBlkPtr'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:571: error: expected declaration specifiers or '...' before 'XVolumeParamPtr'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.h:604: error: expected declaration specifiers or '...' before 'CInfoPBPtr'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'GenerateUniqueName':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:499: error: 'CInfoPBRec' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:499: error: (Each undeclared identifier is reported only once
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:499: error: for each function it appears in.)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:499: error: expected ';' before 'cinfo'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:514: error: 'cinfo' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:530: warning: implicit declaration of function 'PBGetCatInfoSync'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'TruncPString':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:558: warning: implicit declaration of function 'CharacterByteType'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'GetTempBuffer':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:612: warning: implicit declaration of function 'FreeMem'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:614: warning: implicit declaration of function 'MaxBlock'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: At top level:
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:657: error: expected declaration specifiers or '...' before 'HParmBlkPtr'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'GetVolumeInfoNoName':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:663: error: 'pb' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:673: warning: implicit declaration of function 'BlockMoveData'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:677: warning: implicit declaration of function 'PBHGetVInfoSync'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: At top level:
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:699: error: expected declaration specifiers or '...' before 'XVolumeParamPtr'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'XGetVolumeInfoNoName':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:705: error: 'pb' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:741: warning: implicit declaration of function 'PBXGetVolInfoSync'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: At top level:
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:758: error: expected declaration specifiers or '...' before 'CInfoPBPtr'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'GetCatInfoNoName':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:767: error: 'pb' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'DetermineVRefNum':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:788: error: 'HParamBlockRec' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:788: error: expected ';' before 'pb'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:791: error: 'pb' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:791: error: too many arguments to function 'GetVolumeInfoNoName'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'XGetVInfo':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:849: error: 'XVolumeParam' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:849: error: expected ';' before 'pb'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:857: error: 'pb' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'CheckVolLock':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:950: error: 'HParamBlockRec' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:950: error: expected ';' before 'pb'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:953: error: 'pb' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:953: error: too many arguments to function 'GetVolumeInfoNoName'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'GetVolFileSystemID':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:1330: error: 'HParamBlockRec' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:1330: error: expected ';' before 'pb'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:1333: error: 'pb' undeclared (first use in this function)
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:1333: error: too many arguments to function 'GetVolumeInfoNoName'
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c: In function 'UnmountAndEject':
    /Users/administrator/perforce/saurabhs-MacBook/sdc/trunk/ridev/macos/SubscriberA gent2/appplugin/smartissue/../../MoreFiles/Sources/MoreFilesExtras.c:1354: error: 'HParamBlockRec' undeclared (first use in this func

    That code is ancient. It will never build on 32-bit. You need a re-write.

  • Xorg-server 1.6.3.901-1 and nouveau on 7600 Go = crash

    Hi !
    I updated this morning and now that xorg-server and libdrm (maybe the culprit ?) are up to date X won't start with nouveau
    It works if I go back to nvidia.
    What should I do ? Who should I contact ?
    Thanks Bye !

    You're right Nephete but i didn't consider this post as a "help me compiling nouveau".
    nv_accel_common.c: In function 'NVAccelInitContextSurfaces':
    nv_accel_common.c:48: erreur: 'NV_10' undeclared (first use in this function)
    nv_accel_common.c:48: erreur: (Each undeclared identifier is reported only once
    nv_accel_common.c:48: erreur: for each function it appears in.)
    make[2]: *** [nv_accel_common.lo] Erreur 1
    make[2]: *** Attente des tâches non terminées....
    mv -f .deps/nv_cursor.Tpo .deps/nv_cursor.Plo
    make[2]: quittant le répertoire « /home/bruno/abs/xf86-video-nouveau/src/xf86-video-nouveau-20090612/src »
    make[1]: *** [all-recursive] Erreur 1
    make[1]: quittant le répertoire « /home/bruno/abs/xf86-video-nouveau/src/xf86-video-nouveau-20090612 »
    make: *** [all] Erreur 2

  • Xorg 1.6.3.901 input not working

    I recently had to reinstall Arch on my laptop after a hard drive crash. I had a working X11 setup with XDM and ratpoison, though I'm not sure which version of X I had and I have no way of checking that. Trying to get 1.6.3 working in my new install has been a pain. The radeonhd graphics drivers appear to be working fine on my RS690M, but keyboard and mouse input are not working. I've tried using the synaptics and plain evdev driver for the mouse, hal/no hal, and turning hotplugging on and off in the server. None of this is working. If I run startx with a minimal xinitrc starting an xterm, I can't use the xterm, and if I start XDM, it appears to be receiving a steady stream of return key presses, because rather than showing username and password fields, "Login Incorrect" is flickering at the bottom of the login window.
    Hardware: AMD Turion 64 x2, synaptics touchpad, ATI RS690M chipset mobile graphics card, laptop keyboard (Toshiba satellite l355d-s7809)
    Last edited by chunk08 (2009-10-13 13:40:53)

    You're right Nephete but i didn't consider this post as a "help me compiling nouveau".
    nv_accel_common.c: In function 'NVAccelInitContextSurfaces':
    nv_accel_common.c:48: erreur: 'NV_10' undeclared (first use in this function)
    nv_accel_common.c:48: erreur: (Each undeclared identifier is reported only once
    nv_accel_common.c:48: erreur: for each function it appears in.)
    make[2]: *** [nv_accel_common.lo] Erreur 1
    make[2]: *** Attente des tâches non terminées....
    mv -f .deps/nv_cursor.Tpo .deps/nv_cursor.Plo
    make[2]: quittant le répertoire « /home/bruno/abs/xf86-video-nouveau/src/xf86-video-nouveau-20090612/src »
    make[1]: *** [all-recursive] Erreur 1
    make[1]: quittant le répertoire « /home/bruno/abs/xf86-video-nouveau/src/xf86-video-nouveau-20090612 »
    make: *** [all] Erreur 2

  • Cannot build conky 1.8.2 (abs)

    [doctor@doctor abs]$ abs extra/conky
    ==> Starting ABS sync...
    receiving file list ... done
    extra/
    extra/conky/
    extra/conky/PKGBUILD
    extra/conky/PKGBUILD.cmake
    sent 124 bytes received 2993 bytes 890.57 bytes/sec
    total size is 2759 speedup is 0.89
    [doctor@doctor abs]$ cp ~/Desktop/PKGBUILD /var/abs/extra/conky/PKGBUILD
    [doctor@doctor abs]$ cd extra/conky/
    [doctor@doctor conky]$ makepkg
    ==> Making package: conky 1.8.2git20111107-1 (Tue Dec 20 13:58:28 EET 2011)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving Sources...
    -> Downloading conky-1.8.2git20111107.tar.xz...
    --2011-12-20 13:58:28-- ftp://ftp.archlinux.org/other/conky/conky-1.8.2git20111107.tar.xz
    => `conky-1.8.2git20111107.tar.xz.part'
    Resolving ftp.archlinux.org... 209.85.41.143, 209.85.41.144
    Connecting to ftp.archlinux.org|209.85.41.143|:21... connected.
    Logging in as anonymous ... Logged in!
    ==> SYST ... done. ==> PWD ... done.
    ==> TYPE I ... done. ==> CWD (1) /other/conky ... done.
    ==> SIZE conky-1.8.2git20111107.tar.xz ... 244616
    ==> PASV ... done. ==> RETR conky-1.8.2git20111107.tar.xz ... done.
    Length: 244616 (239K) (unauthoritative)
    100%[========================================================================================================================================================>] 244,616 54.1K/s in 4.5s
    2011-12-20 13:58:36 (52.8 KB/s) - `conky-1.8.2git20111107.tar.xz.part' saved [244616]
    ==> Validating source files with sha1sums...
    conky-1.8.2git20111107.tar.xz ... Passed
    ==> Extracting Sources...
    -> Extracting conky-1.8.2git20111107.tar.xz with bsdtar
    ==> Starting build()...
    Running aclocal -I m4 ...
    Running libtoolize --force --copy ...
    libtoolize: putting auxiliary files in `.'.
    libtoolize: copying file `./ltmain.sh'
    libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
    libtoolize: copying file `m4/libtool.m4'
    libtoolize: copying file `m4/ltoptions.m4'
    libtoolize: copying file `m4/ltsugar.m4'
    libtoolize: copying file `m4/ltversion.m4'
    libtoolize: copying file `m4/lt~obsolete.m4'
    Running autoheader ...
    Running automake --add-missing --copy --gnu ...
    configure.ac:37: installing `./compile'
    configure.ac:33: installing `./config.guess'
    configure.ac:33: installing `./config.sub'
    configure.ac:17: installing `./install-sh'
    configure.ac:17: installing `./missing'
    lua/Makefile.am: installing `./depcomp'
    Running autoconf ...
    checking for a BSD-compatible install... /bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking for style of include used by make... GNU
    checking dependency style of gcc... gcc3
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking for a sed that does not truncate output... /bin/sed
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for fgrep... /bin/grep -F
    checking how to print strings... printf
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking how to run the C preprocessor... gcc -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking whether gcc and cc understand -c and -o together... yes
    checking for pkg-config... yes
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.19... yes
    checking for fopencookie... yes
    checking for funopen... no
    checking for X11... yes
    checking for LUA... yes
    checking for cairo... yes
    checking for cairo_xlib... yes
    checking for tolua++... tolua++
    checking for library containing tolua_error... -ltolua++
    checking for ld used by GCC... /usr/bin/ld -m elf_x86_64
    checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
    checking for shared library run path origin... done
    checking for iconv... yes
    checking for working iconv... yes
    checking for iconv declaration...
    extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
    checking for Xext... yes
    checking for XDamage... yes
    checking for Xft... yes
    checking for libcurl... yes
    checking signal.h usability... yes
    checking signal.h presence... yes
    checking for signal.h... yes
    checking for unistd.h... (cached) yes
    checking sys/utsname.h usability... yes
    checking sys/utsname.h presence... yes
    checking for sys/utsname.h... yes
    checking for sys/stat.h... (cached) yes
    checking linux/soundcard.h usability... yes
    checking linux/soundcard.h presence... yes
    checking for linux/soundcard.h... yes
    checking alsa/asoundlib.h usability... yes
    checking alsa/asoundlib.h presence... yes
    checking for alsa/asoundlib.h... yes
    checking dirent.h usability... yes
    checking dirent.h presence... yes
    checking for dirent.h... yes
    checking mcheck.h usability... yes
    checking mcheck.h presence... yes
    checking for mcheck.h... yes
    checking sys/statfs.h usability... yes
    checking sys/statfs.h presence... yes
    checking for sys/statfs.h... yes
    checking sys/param.h usability... yes
    checking sys/param.h presence... yes
    checking for sys/param.h... yes
    checking pthread.h usability... yes
    checking pthread.h presence... yes
    checking for pthread.h... yes
    checking semaphore.h usability... yes
    checking semaphore.h presence... yes
    checking for semaphore.h... yes
    checking assert.h usability... yes
    checking assert.h presence... yes
    checking for assert.h... yes
    checking errno.h usability... yes
    checking errno.h presence... yes
    checking for errno.h... yes
    checking time.h usability... yes
    checking time.h presence... yes
    checking for time.h... yes
    checking for sys/mount.h... yes
    checking sys/inotify.h usability... yes
    checking sys/inotify.h presence... yes
    checking for sys/inotify.h... yes
    checking for calloc... yes
    checking for malloc... yes
    checking for free... yes
    checking for popen... yes
    checking for sysinfo... yes
    checking for getloadavg... yes
    checking for memrchr... yes
    checking for strndup... yes
    checking for gethostbyname_r... yes
    checking for library containing clock_gettime... -lrt
    checking for struct statfs.f_fstypename... no
    checking for db2x_xsltproc... db2x_xsltproc
    checking for db2x_manxml... db2x_manxml
    checking for xsltproc... xsltproc
    checking if /usr/bin/ld -m elf_x86_64 accepts -O1... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating data/Makefile
    config.status: creating doc/Makefile
    config.status: creating src/Makefile
    config.status: creating src/build.h
    config.status: creating lua/Makefile
    config.status: creating src/config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    conky 1.8.2_preNONE configured successfully:
    Installing into: /usr
    System config dir: /etc
    C compiler flags: -I/usr/include/freetype2 -Wall -W
    Libraries: -lX11 -llua -lm -ltolua++ -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -lXext -lXdamage -lXfixes -lXft -lcurl -lrt -ltolua++ -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu
    Linker flags: -Wl,-O1
    * X11:
    X11 support: yes
    XDamage support: yes
    XDBE support: yes
    Xft support: yes
    ARGB support yes
    * Music detection:
    Audacious: no
    BMPx: no
    MPD: no
    MOC: no
    XMMS2: no
    * General:
    math: no
    hddtemp: yes
    portmon: no
    RSS: no
    Curl: yes
    Weather
    METAR: no
    XOAP: no
    wireless: no
    IBM: no
    nvidia: no
    eve-online: no
    config-output: yes
    Imlib2: no
    ALSA mixer: no
    apcupsd: yes
    I/O stats: yes
    ncurses: no
    * Lua (yes) bindings:
    Cairo: yes
    Imlib2: no
    Making all in src
    make[1]: Entering directory `/var/abs/extra/conky/src/conky-1.8.2git20111107/src'
    sh ./../text2c.sh ./../data/conky.conf defconfig.h defconfig
    make all-am
    make[2]: Entering directory `/var/abs/extra/conky/src/conky-1.8.2git20111107/src'
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-conf_cookie.o -MD -MP -MF .deps/conky-conf_cookie.Tpo -c -o conky-conf_cookie.o `test -f 'conf_cookie.c' || echo './'`conf_cookie.c
    mv -f .deps/conky-conf_cookie.Tpo .deps/conky-conf_cookie.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-linux.o -MD -MP -MF .deps/conky-linux.Tpo -c -o conky-linux.o `test -f 'linux.c' || echo './'`linux.c
    linux.c: In function ‘get_battery_stuff’:
    linux.c:1908:10: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘get_acpi_ac_adapter’:
    linux.c:1405:9: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘get_acpi_fan’:
    linux.c:1329:8: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘update_load_average’:
    linux.c:825:9: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘update_threads’:
    linux.c:592:9: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘update_net_stats’:
    linux.c:364:7: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c:365:7: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘update_gateway_info’:
    linux.c:288:8: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘get_ioscheduler’:
    linux.c:230:9: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘get_laptop_mode’:
    linux.c:208:9: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘update_uptime’:
    linux.c:126:9: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
    linux.c: In function ‘is_disk’:
    linux.c:2311:18: warning: ‘dev_last’ may be used uninitialized in this function [-Wuninitialized]
    mv -f .deps/conky-linux.Tpo .deps/conky-linux.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-users.o -MD -MP -MF .deps/conky-users.Tpo -c -o conky-users.o `test -f 'users.c' || echo './'`users.c
    mv -f .deps/conky-users.Tpo .deps/conky-users.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-sony.o -MD -MP -MF .deps/conky-sony.Tpo -c -o conky-sony.o `test -f 'sony.c' || echo './'`sony.c
    mv -f .deps/conky-sony.Tpo .deps/conky-sony.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-i8k.o -MD -MP -MF .deps/conky-i8k.Tpo -c -o conky-i8k.o `test -f 'i8k.c' || echo './'`i8k.c
    mv -f .deps/conky-i8k.Tpo .deps/conky-i8k.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-x11.o -MD -MP -MF .deps/conky-x11.Tpo -c -o conky-x11.o `test -f 'x11.c' || echo './'`x11.c
    mv -f .deps/conky-x11.Tpo .deps/conky-x11.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-fonts.o -MD -MP -MF .deps/conky-fonts.Tpo -c -o conky-fonts.o `test -f 'fonts.c' || echo './'`fonts.c
    mv -f .deps/conky-fonts.Tpo .deps/conky-fonts.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-hddtemp.o -MD -MP -MF .deps/conky-hddtemp.Tpo -c -o conky-hddtemp.o `test -f 'hddtemp.c' || echo './'`hddtemp.c
    mv -f .deps/conky-hddtemp.Tpo .deps/conky-hddtemp.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-ccurl_thread.o -MD -MP -MF .deps/conky-ccurl_thread.Tpo -c -o conky-ccurl_thread.o `test -f 'ccurl_thread.c' || echo './'`ccurl_thread.c
    mv -f .deps/conky-ccurl_thread.Tpo .deps/conky-ccurl_thread.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-llua.o -MD -MP -MF .deps/conky-llua.Tpo -c -o conky-llua.o `test -f 'llua.c' || echo './'`llua.c
    mv -f .deps/conky-llua.Tpo .deps/conky-llua.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-apcupsd.o -MD -MP -MF .deps/conky-apcupsd.Tpo -c -o conky-apcupsd.o `test -f 'apcupsd.c' || echo './'`apcupsd.c
    apcupsd.c: In function ‘update_apcupsd’:
    apcupsd.c:219:7: warning: ‘sock’ may be used uninitialized in this function [-Wuninitialized]
    mv -f .deps/conky-apcupsd.Tpo .deps/conky-apcupsd.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-iconv_tools.o -MD -MP -MF .deps/conky-iconv_tools.Tpo -c -o conky-iconv_tools.o `test -f 'iconv_tools.c' || echo './'`iconv_tools.c
    mv -f .deps/conky-iconv_tools.Tpo .deps/conky-iconv_tools.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-colours.o -MD -MP -MF .deps/conky-colours.Tpo -c -o conky-colours.o `test -f 'colours.c' || echo './'`colours.c
    mv -f .deps/conky-colours.Tpo .deps/conky-colours.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-combine.o -MD -MP -MF .deps/conky-combine.Tpo -c -o conky-combine.o `test -f 'combine.c' || echo './'`combine.c
    mv -f .deps/conky-combine.Tpo .deps/conky-combine.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-common.o -MD -MP -MF .deps/conky-common.Tpo -c -o conky-common.o `test -f 'common.c' || echo './'`common.c
    mv -f .deps/conky-common.Tpo .deps/conky-common.Po
    gcc -DHAVE_CONFIG_H -I. -DSYSTEM_CONFIG_FILE=\"/etc/conky/conky.conf\" -DPACKAGE_LIBDIR=\"/usr/lib/conky\" -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -Wall -W -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT conky-conky.o -MD -MP -MF .deps/conky-conky.Tpo -c -o conky-conky.o `test -f 'conky.c' || echo './'`conky.c
    conky.c: In function ‘generate_text_internal’:
    conky.c:887:7: error: unknown type name ‘bool’
    conky.c:887:28: error: ‘false’ undeclared (first use in this function)
    conky.c:887:28: note: each undeclared identifier is reported only once for each function it appears in
    conky.c:892:17: error: ‘true’ undeclared (first use in this function)
    conky.c:742:19: warning: variable ‘needed’ set but not used [-Wunused-but-set-variable]
    conky.c: In function ‘draw_each_line_inner’:
    conky.c:2827:6: warning: variable ‘last_special_needed’ set but not used [-Wunused-but-set-variable]
    make[2]: *** [conky-conky.o] Error 1
    make[2]: Leaving directory `/var/abs/extra/conky/src/conky-1.8.2git20111107/src'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/var/abs/extra/conky/src/conky-1.8.2git20111107/src'
    make: *** [all-recursive] Error 1
    ==> ERROR: A failure occurred in build().
    Aborting...
    My PKGBUILD is
    # $Id: PKGBUILD 142242 2011-11-07 05:35:59Z bisson $
    # Contributor: Giovanni Scafora <[email protected]>
    # Contributor: James Rayner <[email protected]>
    # Contributor: Partha Chowdhury <[email protected]>
    # Maintainer: Gaetan Bisson <[email protected]>
    pkgname=conky
    pkgver=1.8.2git20111107
    pkgrel=1
    pkgdesc='Lightweight system monitor for X'
    url='http://conky.sourceforge.net/'
    license=('BSD' 'GPL')
    arch=('i686' 'x86_64')
    options=('!emptydirs')
    makedepends=('pkg-config' 'docbook2x')
    depends=('alsa-lib' 'libxml2' 'curl' 'libxft' 'glib2' 'libxdamage' 'imlib2')
    backup=('etc/conky/conky.conf' 'etc/conky/conky_no_x11.conf')
    source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz")
    sha1sums=('133fc6fdc725162af9a98c72c1b7349efc22447c')
    # git clone git://git.omp.am/conky.git; cd conky; git archive --prefix=${pkgname}-${pkgver}/ origin/1.8.2 | xz > ../${pkgname}-${pkgver}.tar.xz
    replaces=('torsmo')
    build() {
    cd "${srcdir}/${pkgname}-${pkgver}"
    sh autogen.sh
    CPPFLAGS="${CXXFLAGS}" LIBS="${LDFLAGS}" ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --disable-ibm \
    --enable-curl \
    --enable-lua \
    --enable-lua-cairo \
    --disable-ncurses \
    --disable-math --disable-mpd --disable-moc --disable-xmms2 \
    --disable-weather-xoap --disable-portmon --disable-alsa
    make
    package() {
    cd "${srcdir}/${pkgname}-${pkgver}"
    make DESTDIR="${pkgdir}" install
    install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

    Does it still segment fault without a .conkyrc?
    Also FWIW, heres my conky settings:
    # Use Xft?
    use_xft yes
    xftfont mono:size=9
    xftalpha 0.8
    text_buffer_size 2048
    # Update interval in seconds
    update_interval 1
    # This is the number of times Conky will update before quitting.
    # Set to zero to run forever.
    total_run_times 0
    # Create own window instead of using desktop (required in nautilus)
    own_window yes
    own_window_transparent no
    own_window_type override
    own_window_hints undecorated,sticky,skip_taskbar,skip_pager
    # Use double buffering (reduces flicker, may not work for everyone)
    double_buffer yes
    # Minimum size of text area
    minimum_size 1280 0
    # Draw shades?
    draw_shades no
    # Draw outlines?
    draw_outline no
    # Draw borders around text
    draw_borders no
    # Draw borders around graphs
    draw_graph_borders yes
    # Stippled borders?
    stippled_borders 0
    # border margins
    border_margin 0
    # border width
    border_width 0
    # Default colors and also border colors
    default_color white
    color2 1994D1
    default_shade_color black
    default_outline_color 3c3c3c
    own_window_colour 3c3c3c
    # Text alignment, other possible values are commented
    #alignment top_left
    #alignment top_right
    alignment bottom_left
    #alignment bottom_right
    # Gap between borders of screen and text
    # same thing as passing -x at command line
    gap_x 0
    gap_y 3
    # Subtract file system buffers from used memory?
    no_buffers yes
    # set to yes if you want all text to be in uppercase
    uppercase no
    # number of cpu samples to average
    # set to 1 to disable averaging
    cpu_avg_samples 2
    # number of net samples to average
    # set to 1 to disable averaging
    net_avg_samples 2
    # Force UTF8? note that UTF8 support required XFT
    override_utf8_locale yes
    # Add spaces to keep things from moving about? This only affects certain objects.
    use_spacer right
    TEXT

  • Installing Apache 2.4.3 on OSX 10.6.8

    Hi,
    I'm trying to install Apache web server on Mac OSX 10.6.8. On my first attempt with ./configure, I was informed that my apr version was too old. So I downloaded apr and apr-util, and as instructed by the Apache INSTALL doc, I upacked those files and moved their directories to httpd-2.4.3/srclib/apr and httpd-2.4.3/srclib/apr-util:
    ~/Downloads/httpd-2.4.3/srclib$ ls MakefileMakefile.in     apr          apr-util
    Then the Apache INSTALL doc said to run configure like this:
    ~/Downloads/httpd-2.4.3 $ ./configure --with-included-apr
    Then I got a new error:
    configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
    So I looked at the Apache installation docs here:
    http://httpd.apache.org/docs/current/install.html
    which say:
    REQUIREMENTS
    Perl-Compatible Regular Expressions Library (PCRE)
    This library is required but not longer bundled with httpd. Download the source code from http://www.pcre.org, or install a Port or Package. If your build system can't find the pcre-config script installed by the PCRE build, point to it using the --with-pcre parameter. On some platforms, you may have to install the corresponding -dev package to allow httpd to build against your installed copy of PCRE.
    So I downloaded pcre and installed pcre with ./configure, make, make install, which seemed to install pcre correctly. But when I tried to run ./configure for Apache, Apache still couldn't find pcre. So next I tried:
    ~/Downloads/httpd-2.4.3$ ./configure --with-included-apr --with-pcre=../pcre-8.32/pcre-config
    and this time ./configure seemed to end normally.
    On to make:
    ~/Downloads/httpd-2.4.3$  make
    But make ends with pcre errors:
    Downloads/httpd-2.4.3/modules/cache -I/Users/7stud/Downloads/httpd-2.4.3/modules/core -I/Users/7stud/Downloads/httpd-2.4.3/modules/database -I/Users/7stud/Downloads/httpd-2.4.3/modules/filters -I/Users/7stud/Downloads/httpd-2.4.3/modules/ldap -I/Users/7stud/Downloads/httpd-2.4.3/modules/loggers -I/Users/7stud/Downloads/httpd-2.4.3/modules/lua -I/Users/7stud/Downloads/httpd-2.4.3/modules/proxy -I/Users/7stud/Downloads/httpd-2.4.3/modules/session -I/Users/7stud/Downloads/httpd-2.4.3/modules/ssl -I/Users/7stud/Downloads/httpd-2.4.3/modules/test -I/Users/7stud/Downloads/httpd-2.4.3/server -I/Users/7stud/Downloads/httpd-2.4.3/modules/arch/unix -I/Users/7stud/Downloads/httpd-2.4.3/modules/dav/main -I/Users/7stud/Downloads/httpd-2.4.3/modules/generators -I/Users/7stud/Downloads/httpd-2.4.3/modules/mappers  -prefer-non-pic -static -c util_pcre.c && touch util_pcre.lo
    util_pcre.c:48:18: error: pcre.h: No such file or directory
    util_pcre.c: In function 'ap_regfree':
    util_pcre.c:103: error: 'pcre_free' undeclared (first use in this function)
    util_pcre.c:103: error: (Each undeclared identifier is reported only once
    util_pcre.c:103: error: for each function it appears in.)
    util_pcre.c: In function 'ap_regcomp':
    util_pcre.c:129: error: 'PCRE_CASELESS' undeclared (first use in this function)
    util_pcre.c:131: error: 'PCRE_MULTILINE' undeclared (first use in this function)
    util_pcre.c:133: error: 'PCRE_DOTALL' undeclared (first use in this function)
    util_pcre.c:136: warning: implicit declaration of function 'pcre_compile'
    util_pcre.c:136: warning: assignment makes pointer from integer without a cast
    util_pcre.c:142: warning: implicit declaration of function 'pcre_fullinfo'
    util_pcre.c:142: error: expected ')' before 'pcre'
    util_pcre.c:142: warning: type defaults to 'int' in declaration of 'type name'
    util_pcre.c:142: warning: cast from pointer to integer of different size
    util_pcre.c:143: error: 'PCRE_INFO_CAPTURECOUNT' undeclared (first use in this function)
    util_pcre.c: In function 'ap_regexec_len':
    util_pcre.c:180: error: 'PCRE_NOTBOL' undeclared (first use in this function)
    util_pcre.c:182: error: 'PCRE_NOTEOL' undeclared (first use in this function)
    util_pcre.c:198: warning: implicit declaration of function 'pcre_exec'
    util_pcre.c:198: error: expected ')' before 'pcre'
    util_pcre.c:198: warning: type defaults to 'int' in declaration of 'type name'
    util_pcre.c:198: warning: cast from pointer to integer of different size
    util_pcre.c:221: error: 'PCRE_ERROR_NOMATCH' undeclared (first use in this function)
    util_pcre.c:223: error: 'PCRE_ERROR_NULL' undeclared (first use in this function)
    util_pcre.c:225: error: 'PCRE_ERROR_BADOPTION' undeclared (first use in this function)
    util_pcre.c:227: error: 'PCRE_ERROR_BADMAGIC' undeclared (first use in this function)
    util_pcre.c:229: error: 'PCRE_ERROR_UNKNOWN_NODE' undeclared (first use in this function)
    util_pcre.c:231: error: 'PCRE_ERROR_NOMEMORY' undeclared (first use in this function)
    make[2]: *** [util_pcre.lo] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all-recursive] Error 1
    Any ideas what went wrong or what I should try next? The Apache install web page says:
    On some platforms, you may have to install the corresponding -dev package to allow httpd to build against your installed copy of PCRE. 
    But I can't find any information on where "the corresponding -dev package" can be downloaded.
    Thanks.

    Now I can't get a cgi script to execute.  Apache is returning the text of the script.  I've tried to follow exactly what the Apache CGI tutorial says here:
    http://httpd.apache.org/docs/2.0/howto/cgi.html#configuring
    I also followed the directions in the perl cgi script, printenv, that was included with Apache, and Apache returns the text, rather than executing the script.  Here is what the cgi-bin directory looks like:
    /usr/local/apache2/cgi-bin$ ls -al
    total 24
    drwxrwxrwx   5 root   admin   170 Feb 19 19:34 .
    drwxr-xr-x  15 root   admin   510 Feb 19 12:36 ..
    -rwxr-xr-x   1 7stud  admin   138 Feb 19 19:32 my.pl
    -rwxr-xr-x@  1 7stud  staff   687 Feb 19 19:03 printenv
    -rw-r--r--@  1 7stud  staff  1127 Sep  6  2008 test-cgi
    Here's what the printenv script looks like:
    /usr/local/apache2/cgi-bin$ cat printenv
    #!/usr/bin/env perl
    # To permit this cgi, replace # on the first line above with the
    # appropriate #!/path/to/perl shebang, and set this script executable
    # with chmod 755.
    # Note that it is subject to cross site scripting attacks on MS IE
    # and any other browser which fails to honor RFC2616, so never use
    # it in a live server environment, it is provided only for testing.
    ##  printenv -- demo CGI program which just prints its environment
    use strict;
    use warnings;
    print "Content-type: text/plain; charset=iso-8859-1\n\n";
    foreach my $var (sort(keys(%ENV))) {
        my $val = $ENV{$var};
        $val =~ s|\n|\\n|g;
        $val =~ s|"|\\"|g;
        print "${var}=\"${val}\"\n";
    Here's the url I used in my browser:
    http://localhost:8080/cgi-bin/printenv
    Here is my httpd.conf:
    # This is the main Apache HTTP server configuration file.  It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
    # In particular, see
    # <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
    # for a discussion of each configuration directive.
    # Do NOT simply read the instructions in here without understanding
    # what they do.  They're here only as hints or reminders.  If you are unsure
    # consult the online docs. You have been warned. 
    # Configuration and logfile names: If the filenames you specify for many
    # of the server's control files begin with "/" (or "drive:/" for Win32), the
    # server will use that explicit path.  If the filenames do *not* begin
    # with "/", the value of ServerRoot is prepended -- so "logs/access_log"
    # with ServerRoot set to "/usr/local/apache2" will be interpreted by the
    # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
    # will be interpreted as '/logs/access_log'.
    # ServerRoot: The top of the directory tree under which the server's
    # configuration, error, and log files are kept.
    # Do not add a slash at the end of the directory path.  If you point
    # ServerRoot at a non-local disk, be sure to specify a local disk on the
    # Mutex directive, if file-based mutexes are used.  If you wish to share the
    # same ServerRoot for multiple httpd daemons, you will need to change at
    # least PidFile.
    ServerRoot "/usr/local/apache2"
    # Mutex: Allows you to set the mutex mechanism and mutex file directory
    # for individual mutexes, or change the global defaults
    # Uncomment and change the directory if mutexes are file-based and the default
    # mutex file directory is not on a local disk or is not appropriate for some
    # other reason.
    # Mutex default:logs
    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # ports, instead of the default. See also the <VirtualHost>
    # directive.
    # Change this to Listen on specific IP addresses as shown below to
    # prevent Apache from glomming onto all bound IP addresses.
    #Listen 12.34.56.78:80
    Listen 8080
    # Dynamic Shared Object (DSO) Support
    # To be able to use the functionality of a module which was built as a DSO you
    # have to place corresponding `LoadModule' lines at this location so the
    # directives contained in it are actually available _before_ they are used.
    # Statically compiled modules (those listed by `httpd -l') do not need
    # to be loaded here.
    # Example:
    # LoadModule foo_module modules/mod_foo.so
    LoadModule authn_file_module modules/mod_authn_file.so
    #LoadModule authn_dbm_module modules/mod_authn_dbm.so
    #LoadModule authn_anon_module modules/mod_authn_anon.so
    #LoadModule authn_dbd_module modules/mod_authn_dbd.so
    #LoadModule authn_socache_module modules/mod_authn_socache.so
    LoadModule authn_core_module modules/mod_authn_core.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    #LoadModule authz_dbm_module modules/mod_authz_dbm.so
    #LoadModule authz_owner_module modules/mod_authz_owner.so
    #LoadModule authz_dbd_module modules/mod_authz_dbd.so
    LoadModule authz_core_module modules/mod_authz_core.so
    LoadModule access_compat_module modules/mod_access_compat.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    #LoadModule auth_form_module modules/mod_auth_form.so
    #LoadModule auth_digest_module modules/mod_auth_digest.so
    #LoadModule allowmethods_module modules/mod_allowmethods.so
    #LoadModule file_cache_module modules/mod_file_cache.so
    #LoadModule cache_module modules/mod_cache.so
    #LoadModule cache_disk_module modules/mod_cache_disk.so
    #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    #LoadModule socache_dbm_module modules/mod_socache_dbm.so
    #LoadModule socache_memcache_module modules/mod_socache_memcache.so
    #LoadModule dbd_module modules/mod_dbd.so
    #LoadModule dumpio_module modules/mod_dumpio.so
    #LoadModule buffer_module modules/mod_buffer.so
    #LoadModule ratelimit_module modules/mod_ratelimit.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    #LoadModule ext_filter_module modules/mod_ext_filter.so
    #LoadModule request_module modules/mod_request.so
    #LoadModule include_module modules/mod_include.so
    LoadModule filter_module modules/mod_filter.so
    #LoadModule substitute_module modules/mod_substitute.so
    #LoadModule sed_module modules/mod_sed.so
    #LoadModule deflate_module modules/mod_deflate.so
    LoadModule mime_module modules/mod_mime.so
    LoadModule log_config_module modules/mod_log_config.so
    #LoadModule log_debug_module modules/mod_log_debug.so
    #LoadModule logio_module modules/mod_logio.so
    LoadModule env_module modules/mod_env.so
    #LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    #LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    #LoadModule remoteip_module modules/mod_remoteip.so
    #LoadModule proxy_module modules/mod_proxy.so
    #LoadModule proxy_connect_module modules/mod_proxy_connect.so
    #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    #LoadModule proxy_http_module modules/mod_proxy_http.so
    #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
    #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    #LoadModule proxy_express_module modules/mod_proxy_express.so
    #LoadModule session_module modules/mod_session.so
    #LoadModule session_cookie_module modules/mod_session_cookie.so
    #LoadModule session_dbd_module modules/mod_session_dbd.so
    #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
    #LoadModule ssl_module modules/mod_ssl.so
    #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
    #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
    #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
    #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
    LoadModule unixd_module modules/mod_unixd.so
    #LoadModule dav_module modules/mod_dav.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    #LoadModule info_module modules/mod_info.so
    #LoadModule cgid_module modules/mod_cgid.so
    #LoadModule dav_fs_module modules/mod_dav_fs.so
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    #LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule dir_module modules/mod_dir.so
    #LoadModule actions_module modules/mod_actions.so
    #LoadModule speling_module modules/mod_speling.so
    #LoadModule userdir_module modules/mod_userdir.so
    LoadModule alias_module modules/mod_alias.so
    #LoadModule rewrite_module modules/mod_rewrite.so
    <IfModule unixd_module>
    # If you wish httpd to run as a different user or group, you must run
    # httpd as root initially and it will switch. 
    # User/Group: The name (or #number) of the user/group to run httpd as.
    # It is usually good practice to create a dedicated user and group for
    # running httpd, as with most system services.
    User daemon
    Group daemon
    </IfModule>
    # 'Main' server configuration
    # The directives in this section set up the values used by the 'main'
    # server, which responds to any requests that aren't handled by a
    # <VirtualHost> definition.  These values also provide defaults for
    # any <VirtualHost> containers you may define later in the file.
    # All of these directives may appear inside <VirtualHost> containers,
    # in which case these default settings will be overridden for the
    # virtual host being defined.
    # ServerAdmin: Your address, where problems with the server should be
    # e-mailed.  This address appears on some server-generated pages, such
    # as error documents.  e.g. [email protected]
    ServerAdmin [email protected]
    # ServerName gives the name and port that the server uses to identify itself.
    # This can often be determined automatically, but we recommend you specify
    # it explicitly to prevent problems during startup.
    # If your host doesn't have a registered DNS name, enter its IP address here.
    ServerName 7stud.com
    # Deny access to the entirety of your server's filesystem. You must
    # explicitly permit access to web content directories in other
    # <Directory> blocks below.
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    DocumentRoot "/usr/local/apache2/htdocs"
    <Directory "/usr/local/apache2/htdocs">
        # Possible values for the Options directive are "None", "All",
        # or any combination of:
        #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
        # Note that "MultiViews" must be named *explicitly* --- "Options All"
        # doesn't give it to you.
        # The Options directive is both complicated and important.  Please see
        # http://httpd.apache.org/docs/2.4/mod/core.html#options
        # for more information.
        Options Indexes FollowSymLinks
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        AllowOverride None
        # Controls who can get stuff from this server.
        Require all granted
    </Directory>
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    # The following lines prevent .htaccess and .htpasswd files from being
    # viewed by Web clients.
    <Files ".ht*">
        Require all denied
    </Files>
    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here.  If you *do* define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    ErrorLog "logs/error_log"
    # LogLevel: Control the number of messages logged to the error_log.
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    <IfModule log_config_module>
        # The following directives define some format nicknames for use with
        # a CustomLog directive (see below).
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
        <IfModule logio_module>
          # You need to enable mod_logio.c to use %I and %O
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>
        # The location and format of the access logfile (Common Logfile Format).
        # If you do not define any access logfiles within a <VirtualHost>
        # container, they will be logged here.  Contrariwise, if you *do*
        # define per-<VirtualHost> access logfiles, transactions will be
        # logged therein and *not* in this file.
        CustomLog "logs/access_log" common
        # If you prefer a logfile with access, agent, and referer information
        # (Combined Logfile Format) you can use the following directive.
        #CustomLog "logs/access_log" combined
    </IfModule>
    <IfModule alias_module>
        # Redirect: Allows you to tell clients about documents that used to
        # exist in your server's namespace, but do not anymore. The client
        # will make a new request for the document at its new location.
        # Example:
        # Redirect permanent /foo http://www.example.com/bar
        # Alias: Maps web paths into filesystem paths and is used to
        # access content that does not live under the DocumentRoot.
        # Example:
        # Alias /webpath /full/filesystem/path
        # If you include a trailing / on /webpath then the server will
        # require it to be present in the URL.  You will also likely
        # need to provide a <Directory> section to allow access to
        # the filesystem path.
        # ScriptAlias: This controls which directories contain server scripts.
        # ScriptAliases are essentially the same as Aliases, except that
        # documents in the target directory are treated as applications and
        # run by the server when requested rather than as documents sent to the
        # client.  The same rules about trailing "/" apply to ScriptAlias
        # directives as to Alias.
        ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
    </IfModule>
    <IfModule cgid_module>
        # ScriptSock: On threaded servers, designate the path to the UNIX
        # socket used to communicate with the CGI daemon of mod_cgid.
        #Scriptsock cgisock
    </IfModule>
    # "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    <Directory "/usr/local/apache2/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    <IfModule mime_module>
        # TypesConfig points to the file containing the list of mappings from
        # filename extension to MIME-type.
        TypesConfig conf/mime.types
        # AddType allows you to add to or override the MIME configuration
        # file specified in TypesConfig for specific file types.
        #AddType application/x-gzip .tgz
        # AddEncoding allows you to have certain browsers uncompress
        # information on the fly. Note: Not all browsers support this.
        #AddEncoding x-compress .Z
        #AddEncoding x-gzip .gz .tgz
        # If the AddEncoding directives above are commented-out, then you
        # probably should define those extensions to indicate media types:
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        # AddHandler allows you to map certain file extensions to "handlers":
        # actions unrelated to filetype. These can be either built into the server
        # or added with the Action directive (see below)
        # To use CGI scripts outside of ScriptAliased directories:
        # (You will also need to add "ExecCGI" to the "Options" directive.)
        #AddHandler cgi-script .cgi
        # For type maps (negotiated resources):
        #AddHandler type-map var
        # Filters allow you to process content before it is sent to the client.
        # To parse .shtml files for server-side includes (SSI):
        # (You will also need to add "Includes" to the "Options" directive.)
        #AddType text/html .shtml
        #AddOutputFilter INCLUDES .shtml
    </IfModule>
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type.  The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    #MIMEMagicFile conf/magic
    # Customizable error responses come in three flavors:
    # 1) plain text 2) local redirects 3) external redirects
    # Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://www.example.com/subscription_info.html
    # MaxRanges: Maximum number of Ranges in a request before
    # returning the entire resource, or one of the special
    # values 'default', 'none' or 'unlimited'.
    # Default setting is to accept 200 Ranges.
    #MaxRanges unlimited
    # EnableMMAP and EnableSendfile: On systems that support it,
    # memory-mapping or the sendfile syscall may be used to deliver
    # files.  This usually improves server performance, but must
    # be turned off when serving from networked-mounted
    # filesystems or if support for these functions is otherwise
    # broken on your system.
    # Defaults: EnableMMAP On, EnableSendfile Off
    #EnableMMAP off
    #EnableSendfile on
    # Supplemental configuration
    # The configuration files in the conf/extra/ directory can be
    # included to add extra features or to modify the default configuration of
    # the server, or you may simply copy their contents here and change as
    # necessary.
    # Server-pool management (MPM specific)
    #Include conf/extra/httpd-mpm.conf
    # Multi-language error messages
    #Include conf/extra/httpd-multilang-errordoc.conf
    # Fancy directory listings
    #Include conf/extra/httpd-autoindex.conf
    # Language settings
    #Include conf/extra/httpd-languages.conf
    # User home directories
    #Include conf/extra/httpd-userdir.conf
    # Real-time info on requests and configuration
    #Include conf/extra/httpd-info.conf
    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
    # Local access to the Apache HTTP Server Manual
    #Include conf/extra/httpd-manual.conf
    # Distributed authoring and versioning (WebDAV)
    #Include conf/extra/httpd-dav.conf
    # Various default settings
    #Include conf/extra/httpd-default.conf
    # Configure mod_proxy_html to understand HTML4/XHTML1
    <IfModule proxy_html_module>
    Include conf/extra/proxy-html.conf
    </IfModule>
    # Secure (SSL/TLS) connections
    #Include conf/extra/httpd-ssl.conf
    # Note: The following must must be present to support
    #       starting without SSL on platforms with no /dev/random equivalent
    #       but a statically compiled-in mod_ssl.
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>
    # Deal with user agents that deliberately violate open standards
    <IfModule setenvif_module>
    BrowserMatch "MSIE 10.0;" bad_DNT
    </IfModule>
    <IfModule headers_module>
    RequestHeader unset DNT env=bad_DNT
    </IfModule>

Maybe you are looking for