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)

Similar Messages

  • BPEL Composite compilation issues in SOA Suite 11.1.2

    I imported a SOA Composite BPEL project developed on SOA Suite 11.1.1 in SOA Suite 11.1.2. When compiling the project through ant using the "ant-sca-compile.xml" generated through JDev in 11.1.1 I am getting the following exception
    java.lang.NoClassDefFoundError: oracle/fabric/common/FabricException
    Caused by: java.lang.ClassNotFoundException: oracle.fabric.common.FabricException
         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    Could not find the main class: oracle.soa.scac.ValidateComposite. Program will exit.
    Exception in thread "main"
    Have checked all my classpaths and jar's which are found to be in order. What can be the problem?

    I changed some of the paths in the build file but now I am having compilation issues. It says the classpath is not set correctly. But I have included all the jar's properly in the build.xml.
    Any pointers to where I might be going wrong?
    D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\build\ant-sca-compile.xml
    detokeniser:
    scac:
    [scac] Validating composite : 'D:/CommonTechServices/INT_ARCH/Construction/src/soa/CommonServices/NotificationServiceBpel/composite.xml'
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:14: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:15: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:16: package com.collaxa.cube.engine.core.map does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:21: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:100: package com.collaxa.cube.engine.core.ICubeProcess does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:107: package com.collaxa.cube.engine.core.ICubeProcess does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:148: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:148: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:148: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:390: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:390: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:401: package com.collaxa.cube.engine.core.map does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:401: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:401: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:841: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:841: package com.collaxa.cube.util does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:841: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:841: package com.collaxa.cube.util does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:857: package com.collaxa.cube.engine.ext.bpel.v1.blocks does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:872: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:872: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:872: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:872: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:900: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:900: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:930: package com.collaxa.cube.engine.ext.bpel.v1.blocks does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:941: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:941: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:990: package com.collaxa.cube.engine.ext.bpel.v1.blocks does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1044: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1044: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1089: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1089: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1105: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1122: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1122: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1122: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1300: package com.collaxa.cube.engine.ext.bpel.v1.blocks does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1348: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1348: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1348: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1348: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1404: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1404: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1449: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1449: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1465: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1509: package com.collaxa.cube.engine.types.bpel does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1526: package com.collaxa.cube.engine.types.bpel does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1553: package com.collaxa.cube.engine.ext.bpel.v1.blocks does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1607: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1607: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1652: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1652: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1668: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1685: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1685: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1685: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1780: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1797: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1797: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1797: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1964: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1981: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1981: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:1981: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2154: package com.collaxa.cube.engine.ext.bpel.v1.blocks does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2208: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2208: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2253: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2253: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2269: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2286: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2286: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2286: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2381: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2398: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2398: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2398: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2565: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2582: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2582: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2582: package com.collaxa.cube does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2755: package com.collaxa.cube.engine.ext.bpel.v1.blocks does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2803: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2803: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2803: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2803: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2859: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2859: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2904: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2904: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2920: package com.collaxa.cube.engine.ext.bpel.v1.nodes does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2964: package com.collaxa.cube.engine.types.bpel does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:2981: package com.collaxa.cube.engine.types.bpel does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:3008: package com.collaxa.cube.engine.ext.bpel.v1.blocks does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:3062: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:3062: package com.collaxa.cube.engine.core does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:3062: package com.collaxa.cube.engine does not exist
    [scac] D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\orabpe
    l\notificationservicebpel\BPEL_BIN.java:3062: package com.collaxa.cube.engine.core does not exist
    [scac] Note: D:\CommonTechServices\INT_ARCH\Construction\src\soa\CommonServices\NotificationServiceBpel\SCA-INF\bpel\NotificationServiceBpel\src\
    orabpel\notificationservicebpel\BPEL_BIN.java uses unchecked or unsafe operations.
    [scac] Note: Recompile with -Xlint:unchecked for details.
    [scac] FATAL_ERROR: location {ns:composite/ns:component[@name='NotificationServiceBpel']}(30,45): Failed to compile bpel generated classes.
    [scac] failure to compile the generated BPEL classes for BPEL process "NotificationServiceBpel" of composite "default/NotificationServiceBpel!1.0
    [scac] The class path setting is incorrect.
    [scac] Ensure that the class path is set correctly. If this happens on the server side, verify that the custom classes or jars which this BPEL pr
    ocess is depending on are deployed correctly. Also verify that the run time is using the same release/version.
    [scac]
    BUILD FAILED

  • Flash Builder 4.7 frequent compiler issues/restarts

    Basically Flash Builder 4.7 on Mac OSX 10.7.5 is unusable. Very frustrating.  Constant compiler issues that require frequent cleaning, closing of projects, restarts of FB, and even re-installs.  I've seen none of these issues on FB 4.6 with the same projects/code.
    The most common visible compiler errors are these two that randomly appear:
    1) An internal build error has occurred
    2) classes must not be nested
    I tried increasing memory as some have suggested, but this has no effect.
    It takes me 100 times longer to code now becuase every tiny code change cuases these errors.  Crazy!
    Before I revert back to FB 4.6, any suggestions? 
    Thanks,
    Don

    Hi!
    Close any unneeded projects in workspace.
    You can also split your large project to few libraries compiled into SWC. After compiling libraries, if not need to change often, close their projects. When such projects are closed main project compiling with just use of SWC libraries usually takes much less resources.

  • Com.sun.security.auth.module.NTSystem compilation issues in Unix

    Hi ,
    I m using com.sun.security.auth.module.NTSystem in one my java application to get the current domain. The application and app server are running on windows OS.
    Now i want to switch my OS to Unix, where i m getting compilation issues with com.sun.security.auth.module.NTSystem ,
    1)Do i need to change the module from NTSystem to UnixSystem?
    2) I m developing the java application in Eclipse 3.2 with java 1.4 , when i m trying to import the below statment com.sun.security.auth.module.UnixSystem i couldn't? Could you please let me how i can import the UnixSystem or NTSystem will work?
    Appreciate your help!!!!
    Regards,
    Ravi.

    Unix, where i m getting compilation issues with com.sun.security.auth.module.NTSystemOf course.
    Do i need to change the module from NTSystem to UnixSystem?Of course.

  • SAP RFC SDK 7.10 Compilation Issues

    Hello ,
    We have a Pro*C program that is using the RFC SDK 7.10
    When we are compiling our program with Pro*C Compiler in HP UX 11iv2 os we are getting the following errors:
    SAP_U16_PROTOTYPE_STDC(mkstemp)..1 PCC-S-02201, Encountered the symbol "mkstemp" when expecting one of the following: Error at line 1895, column 1 in file /home/psoni/rfcsdk-710/orgseclib/sapuc.h  SAP_U16_PROTOTYPE_UO(dirname) 1 
    PCC-S-02201, Encountered the symbol "SAP_U16_PROTOTYPE_UO_HLP" when expecting on
    e of the following: ; , = ( [ * ? | & < > + - / % . ^ *= /= %= += -= <<= >>= &&=
       ||= ^= | & == != <= >= << >> ++ -- ->
    The symbol ";" was substituted for "SAP_U16_PROTOTYPE_UO_HLP" to continue.
    Syntax error at line 1901, column 1, file /home/psoni/rfcsdk-710/orgseclib/sapuc.h:
    Error at line 1901, column 1 in file /home/psoni/rfcsdk-710/orgseclib/sapuc.h
    SAP_U16_PROTOTYPE(ecvt) 1
    PCC-S-02201, Encountered the symbol "extern" when expecting one of the following
    :   ; , = ( [ * ? | & < > + - / % . ^ *= /= %= += -= <<= >>= &&=
       ||= ^= | & == != <= >= << >> ++ -- ->
    I had checked the files sapuc.h and sapucx.h are correctly included in my program.
    Also I checked for the errors : that the reference of some constants like 
    SAP_U16_PROTOTYPE is present is sapuc.h - However I am not able to
    identify the cause of compilation issues.
    Please can anyone guide me - or give any hints as to how this compilation issues can be resolved.
    On sap rfc sdk version 6.20 with HPUnix 11iV1  we did not face such problems. Post that release  we have tried all libraries including 6.40  and all of them are giving the above errors.
    Thanks for the help.
    Regards,
    Shivani

    This compiler error looks really strange.
    Without your sources (of the affected file) and the full command line it's impossible to suggest something.
    Markus

  • Native extension - compiler issue

    Hi,
    First, I compile an iOS app with a native extension developped by ADOBE : http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/vibration.html#articl econtentAdobe_numberedheader_3
    It's work well
    Then, I made myself the iOS library on xcode. It's OK as well
    Then, I made the ANE file following the tutorial http://custardbelly.com/blog/2011/09/21/air-native-extension-example-ibattery-for-ios/. It's seem OK
    I create my air app with Flash Builder. I load ANE, SWC...everything seem ok
    When I compile my Iphone Application with Flex, there is this error :
    An erreor appears during the application packaging (my translation):
    ld warning: in C:\\Users\\Tony\\AppData\\Local\\Temp\\c6468656-be35-4f05-8d51-0dd54063cefd/libcom.adobe. LEDTorch.a, file is not of required architecture
    Undefined symbols:
      "_ExtFinalizer", referenced from:
          _g_com_adobe_air_fre_fmap in extensionglue.o
      "_ExtInitializer", referenced from:
          _g_com_adobe_air_fre_fmap in extensionglue.o
    ld: symbol(s) not found
    Compilation failed while executing : ld64
    Someone could help me?
    I'm working on this bug for 2 days
    Thanks in advance !
    Emmanuel

    Hi,
    Apparently, the issue  is the following:  (find in the forum of
    http://www.liquid-photo.com/2011/10/28/native-extension-for-adobe-air-and-ios-101/#comment -322
    Apparently X-Code was trying to build NativeAlert.m as Objective-C++ source
    instead of Objective-C source. Silly mistake really. It took starting the
    project over again and trauling through the project settings to figure out
    what was wrong. Oh well, all sorted now.
    But i didn't succeed in setting the project with the corrects parameter.
    Could you help me?
    Thanks in advance
    Regards
    E.Fuchs
    2012/2/10 Saumitra Bhave <[email protected]>
       Re: Native extension - compiler issue  created by Saumitra Bhave<http://forums.adobe.com/people/SaumiB>in
    Mobile Development - View the full discussion<http://forums.adobe.com/message/4198519#4198519>

  • PHP5.2.4 with oci8 Compiling issues

    Hi I had installed apache .2.0.54 rpm and installed oracle-instantclient-basic and oracle-instantclient-devel and compliled php-5.2.4 with the follwoing options
    sudo ./configure with-oci8=instantclient,/usr/lib/oracle/10.2.0.3/client/lib/  prefix=/opt/php with-apxs2=/usr/local/apache2/bin/apxs     enable-sigchild --with-config-file-path=/etc/httpd/conf
    Make gives a error
    /usr/bin/ld: skipping incompatible /usr/lib/oracle/10.2.0.3/client/lib//libclntsh.so when searching for -lclntsh
    /usr/bin/ld: cannot find -lclntsh
    collect2: ld returned 1 exit status
    make: *** [libphp5.la] Error 1

    Hi Cj
    Thx As you told i followed the steps and Compiling issues is resolved and i had some other issue like oci8 extns was not visible in phpinfo.php and after Trial and error its started working.
    The reason for oci8 not visible is i httpd-devel was not installed , after installing httpd-devel and recompiling with the following options oci8 was enabled.
    ./configure \
    --with-oci8=instantclient,/opt/instantclient_10_2 \
    prefix=/opt/php   with-apxs2=/usr/sbin/apxs \
    enable-sigchild with-config-file-path=/etc/httpd/conf
    Thx for the Help :) :) :)
    Christian Jones
    Karthik

  • Pro*C - PERCENT_RANK() compilation issue

    Hello,
    I have a pro*C compilation issue, while using PERCENT_RANK() in-built function. I am using Oracle 10.2.0.4.
    Here are the details :
    The Pro*C code :
    ================================================== ========
    int srccct2_insert()
    EXEC SQL
    select * from (
    select
    trad_code,
    comp_code,
    file_code,
    insp_yymm,
    poly_numb,
    entr_numb,
    data_code,
    caus_date,
    insd_code,
    rule_ordr,
    sex_code,
    entr_age,
    resd_numb,
    entr_name,
    hire_date,
    entr_date,
    work_year,
    hire_grad,
    datt_entr,
    ijry_entr,
    wkdt_entr,
    base_saly,
    expt_amnt,
    rsrv_rato,
    rsrv_amnt,
    PERCENT_RANK() OVER (ORDER BY base_saly) pr FROM SRCCCT2 where trad_code = 'N' AND
    comp_code = '01' AND
    insp_yymm = '200403' AND
    data_code = 'B' AND
    hire_grad = '2' AND
    base_saly > 0)
    where pr > 0.05 and pr < 0.95 and base_saly > 641840;
    return SUCCESS;
    ================================================== ======
    I am compiling it like this :
    /oracle/product/10.2.0/bin/proc iname=srascs01.pc ireclen=320 oreclen=320 sqlcheck=full userid=retr/rteru maxopencursors=32 dbms=v8 char_map=varchar2 release_cursor=yes include=/oracle/product/10.2.0/precomp/public include=/ihome/hp/../common/include include=/ihome/retr/include include=/usr/include include=/ihome/hp/portlib DEFINE=HPUX
    I have put the same sql statements in the sql promt and it works fine. But in Pro*C when i compile it using above options, here is the error :
    ================================================== ======
    Pro*C/C++: Release 10.2.0.4.0 - Production on Thu Feb 25 00:57:42 2010
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    System default option values taken from: /oracle/product/10.2.0/precomp/admin/pcscfg.cfg
    Syntax error at line 192, column 28, file srascs01.pc:
    Error at line 192, column 28 in file srascs01.pc
    PERCENT_RANK() OVER (ORDER BY base_saly) pr
    ...........................1
    PCC-S-02201, Encountered the symbol "(" when expecting one of the following:
    , into, from,
    Error at line 0, column 0 in file srascs01.pc PCC-F-02102, Fatal error while doing C preprocessing
    *** Error exit code 1
    Stop.
    *** Error exit code 1
    Stop.
    ================================================== =======
    After searching in this website, i saw a related thread. But that solution did not work for me. I have posted a reply on that aswell, for Mark_Williams. Here is the related link:
    Re: help for analysis function in PRO*C
    Please help me on this.
    Thanks,
    Kumar

    Hi Sumit,
    Thanks much for a reply.
    I am very novice for Pro*C. Please bear with me, if i sound odd anywhere.
    I did check the program again. When i leave EXEC SQL and put the whole SELECT statement in double quotes and then postfix back slashes at each line in the SELECT statement, compilation succeeds. But I am just wondering, if this works fine, even if we don't use, "EXEC SQL" ?
    When we use "EXEC SQL" and double quotes also, there seems to be two double quotes before SELECT and so compilation fails, with the below error msg. I think "EXEC SQL" is also appending a double quote.(??)
    I did not really understand when you said "declaring the sql statement and calling EXEC SQL PREPARE". Are you talking about declaring the sql statement in sqlplus ?
    If the above method of removing "EXEC SQL" and using double quotes and slashes is correct, then i think we anyway need not do anything else as the compilation went through.
    Thanks again,
    -Kumar

  • Batik-related compiler issue

    <div class=Section1><br /><br /><p class=MsoNormal>I received this error calling the flex2.tools.Compiler&#8217;s<br />main[] method.  The MXML input compiles successfully in the Flex 2<br />builder.  I wanted to check to see if anyone had experienced this before<br />digging deeper into source code.<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>--Scott<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>------------------------------------------------------------------------- ----------------------<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>Error:<br />org.apache.batik.css.parser.Parser.getLineNumber()I</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New"'><o:p> </o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>java.lang.NoSuchMethodError:<br />org.apache.batik.css.parser.Parser.getLineNumber()I</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flash.css.StyleParser.getLineNumber(</span><u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:navy'>StyleParser.java:208</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flash.css.StyleDocumentHandler.startFontFace(</span><u><span style='font-size:<br />10.0pt;font-family:"Courier New";color:navy'>StyleDocumentHandler.java:100</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />org.apache.batik.css.parser.Parser.parseFontFaceRule(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>Parser.java:484</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />org.apache.batik.css.parser.Parser.parseStyleSheet(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>Parser.java:224</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at flash.css.StyleParser.init(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>StyleParser.java:172</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flash.css.StyleParser.&lt;init&gt;(</span><u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:navy'>StyleParser.java:106</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flash.css.StyleSheet.parse(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>StyleSheet.java:54</span></u><span style='font-size:<br />10.0pt;font-family:"Courier New";color:red'>)</span><span style='font-size:<br />10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.analyzer.SyntaxAnalyzer.parseStyle(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>SyntaxAnalyzer.java:551</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.analyzer.SyntaxAnalyzer.analyze(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>SyntaxAnalyzer.java:122</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.dom.StyleNode.analyze(</span><u><span style='font-size:<br />10.0pt;font-family:"Courier New";color:navy'>StyleNode.java:50</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.dom.AnalyzerAdapter.traverse(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>AnalyzerAdapter.java:172</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.dom.AnalyzerAdapter.analyze(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>AnalyzerAdapter.java:164</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.analyzer.SyntaxAnalyzer.analyze(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>SyntaxAnalyzer.java:55</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.dom.Node.analyze(</span><u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:navy'>Node.java:47</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.InterfaceCompiler.parse1(</span><u><span style='font-size:<br />10.0pt;font-family:"Courier New";color:navy'>InterfaceCompiler.java:222</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.mxml.Compiler.parse1(</span><u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:navy'>Compiler.java:95</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.API.parse1(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>API.java:2306</span></u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>)</span><span style='font-size:10.0pt;<br />font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.API.parse1(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>API.java:2259</span></u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>)</span><span style='font-size:10.0pt;<br />font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.API.batch2(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>API.java:367</span></u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>)</span><span style='font-size:10.0pt;<br />font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.API.batch(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>API.java:1108</span></u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>)</span><span style='font-size:10.0pt;<br />font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.API.compile(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>API.java:1281</span></u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>)</span><span style='font-size:10.0pt;<br />font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.compiler.API.compile(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>API.java:1201</span></u><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>)</span><span style='font-size:10.0pt;<br />font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.tools.Compiler.mxmlc(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>Compiler.java:240</span></u><span style='font-size:<br />10.0pt;font-family:"Courier New";color:red'>)</span><span style='font-size:<br />10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />flex2.tools.Compiler.main(</span><u><span style='font-size:10.0pt;font-family:<br />"Courier New";color:navy'>Compiler.java:53</span></u><span style='font-size:<br />10.0pt;font-family:"Courier New";color:red'>)</span><span style='font-size:<br />10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;<br />font-family:"Courier New";color:red'>      at<br />net.sf.jasperreports.export.flex.JRSwfExporter.exportReportToStream(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>JRSwfExporter.java:268</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><span<br />style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p><br /><br /><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";<br />color:red'>      at net.sf.jasperreports.export.flex.JRSwfExporter.exportReport(</span><u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:navy'>JRSwfExporter.java:177</span></u><span<br />style='font-size:10.0pt;font-family:"Courier New";color:red'>)</span><o:p></o:p></p><br /><br /></div>

    Would you provide some details on how you’re calling this, which branch (e.g. Compiler is now known as Mxmlc on the trunk)? You need to have all libs from trunk/lib on the classpath.
    - Jono
    From: chauncy <[email protected]>
    Reply-To: <[email protected]>
    Date: Thu, 17 Apr 2008 10:31:31 -0700
    To: <[email protected]>
    Subject: Batik-related compiler issue
    A new discussion was started by chauncy in
    Developers --
      Batik-related compiler issue
    I received this error calling the flex2.tools.Compiler’s main[] method.  The MXML input compiles successfully in the Flex 2 builder.  I wanted to check to see if anyone had experienced this before digging deeper into source code.
    --Scott
    Error: org.apache.batik.css.parser.Parser.getLineNumber()I
    java.lang.NoSuchMethodError: org.apache.batik.css.parser.Parser.getLineNumber()I
          at flash.css.StyleParser.getLineNumber(
    StyleParser.java:208
          at flash.css.StyleDocumentHandler.startFontFace(
    StyleDocumentHandler.java:100
          at org.apache.batik.css.parser.Parser.parseFontFaceRule(
    Parser.java:484
          at org.apache.batik.css.parser.Parser.parseStyleSheet(
    Parser.java:224
          at flash.css.StyleParser.init(
    StyleParser.java:172
          at flash.css.StyleParser.<init>(
    StyleParser.java:106
          at flash.css.StyleSheet.parse(
    StyleSheet.java:54
          at flex2.compiler.mxml.analyzer.SyntaxAnalyzer.parseStyle(
    SyntaxAnalyzer.java:551
          at flex2.compiler.mxml.analyzer.SyntaxAnalyzer.analyze(
    SyntaxAnalyzer.java:122
          at flex2.compiler.mxml.dom.StyleNode.analyze(
    StyleNode.java:50
          at flex2.compiler.mxml.dom.AnalyzerAdapter.traverse(
    AnalyzerAdapter.java:172
          at flex2.compiler.mxml.dom.AnalyzerAdapter.analyze(
    AnalyzerAdapter.java:164
          at flex2.compiler.mxml.analyzer.SyntaxAnalyzer.analyze(
    SyntaxAnalyzer.java:55
          at flex2.compiler.mxml.dom.Node.analyze(
    Node.java:47
          at flex2.compiler.mxml.InterfaceCompiler.parse1(
    InterfaceCompiler.java:222
          at flex2.compiler.mxml.Compiler.parse1(
    Compiler.java:95
          at flex2.compiler.API.parse1(
    API.java:2306
          at flex2.compiler.API.parse1(
    API.java:2259
          at flex2.compiler.API.batch2(
    API.java:367
          at flex2.compiler.API.batch(
    API.java:1108
          at flex2.compiler.API.compile(
    API.java:1281
          at flex2.compiler.API.compile(
    API.java:1201
          at flex2.tools.Compiler.mxmlc(
    Compiler.java:240
          at flex2.tools.Compiler.main(
    Compiler.java:53
          at net.sf.jasperreports.export.flex.JRSwfExporter.exportReportToStream(
    JRSwfExporter.java:268
          at net.sf.jasperreports.export.flex.JRSwfExporter.exportReport(
    JRSwfExporter.java:177
    View/reply at Batik-related compiler issue
    <http://www.adobeforums.com/webx?13@@.59b50561>
    Replies by email are OK.
    Use the unsubscribe
    <http://www.adobeforums.com/webx?280@@.59b50561!folder=.3c060fa3>  form to cancel your email subscription.

  • "Occasionally" successful compilation issue on sun4v machine.

    Hi,
    I have created a thread on JSP section of the forum for this.
    Intermittently successful JSP compilation issue
    But I am putting the link here too because the only difference between the success and failed case is the platform we are using. We are using Solaris SPARC machines.
    The compilation is a success on sun4u machine.
    But on sun4v is mostly a failure (sometimes it succeeds though strangely).
    I will be very grateful if you can go through the thread I have shared above and share some pointers on this.
    Regards

    Post Author: usaitconsultant
    CA Forum: JAVA
    Hi Ted,
    Thanks for the reply.The file is not available in the server. Though, I checked CMS and I found an instance in history tab and the status is failed with error below. 
                Error Message:
                A variable prevented the data provider Query 1 with BANRRD30 from being refreshed. (DMA0008).When I checked my codes, I found out that the object Im using is for web intelligence data provider. However, I cannot find any documentation and example for passing parameter values in desktop intelligence data provider. Any idea on this? You think this is not suported by Report Engine SDK?Thanks.    

  • [svn:fx-4.x] 14245: * Fixed inactive incremental compilation issue where library changes

    Revision: 14245
    Revision: 14245
    Author:   [email protected]
    Date:     2010-02-18 08:53:00 -0800 (Thu, 18 Feb 2010)
    Log Message:
    Fixed inactive incremental compilation issue where library changes
      were not causing application recompilation.
    QE notes: We should add a JUnit OEM API test for this scenario.
    Doc notes:
    Bugs: SDK-25513
    Reviewer: Pete F.
    Tests run: checkintests
    Is noteworthy for integration: yes, affects active incremental
                                   compilation from FB.
    Code-level description of changes:
      Modified the loadCompilationUnits() used by
      flex2.tools.oem.Application to pass the "sources" and "units" args
      down, so that the PersistenceStore can populate them.  This is
      necessary to get OEMUtil.isRecompilationNeeded() called in
      Application.recompile().
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-25513
    Modified Paths:
        flex/sdk/branches/4.x/modules/compiler/src/java/flex2/compiler/CompilerAPI.java

    Dear Pallavi,
    Very useful post!
    I am looking for similar accelerators for
    Software Inventory Accelerator
    Hardware Inventory Accelerator
    Interfaces Inventory
    Customization Assessment Accelerator
    Sizing Tool
    Which helps us to come up with the relevant Bill of Matetials for every area mentioned above, and the ones which I dont know...
    Request help on such accelerators... Any clues?
    Any reply, help is highly appreciated.
    Regards
    Manish Madhav

  • JDev compilation issue

    When I compile my project I get this error message
    Error: Exception thrown in Javac: Unknown cause
    Do you have any idea on what to look for since the error message does not help?
    JDev 11.1.1.6.0

    There was no stacktrace. So finally I recreated the project under eclipse and find out the compilation issue. The issue was merging SVN code delimiter like <<< .mine that causes the issue.

  • Coding Question Because of Compiling Issues

    Hi there, I need help with some code, here it is.
    import java.util.*;
    import java.text.*;
    public class InvestCalc {
         //declaration of instance variables
         private double interest, principal;
         //default constructor, sets interest and principal to zero
         public InvestCalc() {
              interest = 0.0;
              principal = 0.0;
         //overloaded constructor
         public InvestCalc( double startInterest, double startPrincipal) {
              interest = startInterest;
              principal = startPrincipal;
         //accessor methods for instance variables
         public double getRate() {
              return interest;
         public double getPrincipal() {
              return principal;
         //mutator methods
         public void setRate(double newInterest) {
              interest = newInterest;
         public void setPrincipal(double newPrincipal) {
              principal = newPrincipal;
         //String toString() method
         public String toString() {
              return "Interest Rate: " + percent.format(interest) + ", Principal: " + DOLLAR_FORMAT.format(principal);     
         //futureValue(int year) method
         public double futureValue(int year) {
              double futureValue = Math.pow((1 + interest), year)*principal;
              return futureValue;
         //public static final class variables
         public static final int shortTerm = 5;
         public static final int middleTerm = 10;
         public static final int longTerm = 20;
         //public void display Table() method
         public void displayTable() {
              System.out.println("Year" + "\t" + "Interest Rate" + "\t\t" + "Principal" + "\t\t" + "Future Value");
              System.out.println(shortTerm + "\t" + percent.format(interest) + "\t\t\t" + DOLLAR_FORMAT.format(principal) + "\t\t" + DOLLAR_FORMAT.format(futureValue(shortTerm)));
              System.out.println(middleTerm + "\t" + percent.format(interest) + "\t\t\t" + DOLLAR_FORMAT.format(principal) + "\t\t" + DOLLAR_FORMAT.format(futureValue(middleTerm)));
              System.out.println(longTerm + "\t" + percent.format(interest) + "\t\t\t" + DOLLAR_FORMAT.format(principal) + "\t\t" + DOLLAR_FORMAT.format(futureValue(longTerm)));
         //formatting section
         public static final NumberFormat DOLLAR_FORMAT = NumberFormat.getCurrencyInstance();
         public static final DecimalFormat percent = new DecimalFormat("##0.00%");
    import java.util.*;
    public class InvestCalcApp {
          * @param args
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              //declare Scanner class and interest, principal vars
              Scanner input = new Scanner(System.in);          
              double interest, principal;     //vars for the interest rate and initial investment
              //instantiate a default object of the InvestCalc class
              InvestCalc value1 = new InvestCalc();
              System.out.println("Default InvestCalc Object");
              System.out.println(value1.toString()+ "\n");
              //query for interest and principal
              System.out.print("Enter an interest rate in decimal format: ");
              interest = input.nextDouble();
              System.out.print("Enter the initial investment value: ");
              principal = input.nextDouble();
              //change object and output
              value1.setRate(interest);
              value1.setPrincipal(principal);
              System.out.println("Updated InvestCalc Object");
              System.out.println(value1.toString());
              //test the futureValue method and the DOLLAR_FORMAT static class variable
              System.out.println("Value after 1 year " + InvestCalc.DOLLAR_FORMAT.format(value1.futureValue(1)) + "\n");     
              value1.displayTable();     
              //query for another interest and principal
              System.out.print("Enter another interest rate in decimal format: ");
              interest = input.nextDouble();
              System.out.print("Enter another initial investment value: ");
              principal = input.nextDouble();
              //instantiate an object of the InvestCalc class
              InvestCalc value2 = new InvestCalc(interest, principal);
              System.out.println("Non-Default InvestCalc Object");
              System.out.println(value2.toString()+ "\n");
              value2.displayTable();
    }When I compile InvestCalc.java it compiles; however, when I compile InvestCalcApp.java I receive 5 errors:
    InvestCalcApp.java:15: cannot find symbol
    symbol : class InvestCalc
    location: class InvestCalcApp
                     InvestCalc value1 = new InvestCalc();
    InvestCalcApp.java:15: cannot find symbol
    symbol : class InvestCalc
    location: class InvestCalcApp
                     InvestCalc value1 = new InvestCalc();
    InvestCalcApp.java:32: package InvestCalc does not exist
                                  System.out.println("Value after 1 year " + InvestCalc.DOLLAR_FORMAT.format(value1.futureValue(1)) + "\n");
    InvestCalcApp.java:42: cannot find symbol
    symbol : class InvestCalc
    location: class InvestCalcApp
                     InvestCalc value2 = new InvestCalc(interest, principal);
    InvestCalcApp.java:42: cannot find symbol
    symbol : class InvestCalc
    location: class InvestCalcApp
                     InvestCalc value2 = new InvestCalc(interest, principal);Sorry if that's a lot of reading, but I need help, I'm new at this and not quite sure what those errors mean. Thanks

    First of all make sure that class file for InvestCalc is in same directory, when you try to compile the second file.
    This will take away all the errors. Thats the primary issue here :
    you dont have files in the same place.

  • Odd xjc compilation issues

    I realized recently that my complex type issues might be due to the fact that I was using version 1.6 of JAXB so I switched over to 2.0. I downloaded version 1.5 of the jdsk/jre as well since the documentation seemed to imply version 1.4.2 wont work with JAXB 2.0. I ran the xjc compiler and it didnt raise any errors. However, the resulting packages look very bizarre and every single one of them are flagged in error. In almost every case each package has an import statement that is trying to import itself. And I have all these Syntax error on tokens error message revolving around some @XmlEnumValue function (at least i think its a function).
    Am I missing something?

    Can be very hard to impossible to track down auto sleep issues. Just get PleaseSleep.
    http://www.dragonone.com/products/macosx/pleasesleep/

  • JSP precompilation and my .java files compilation issues /  building WAR file using ANT

    Hello.
    I am new to working with WAR files and the whole process of it. A little
    background on what we are using. We are using, WLS 6.1 SP3. I am using the
    ant.bat that is supplied in the bin directory of the WLS install.
    I am trying to work with ANT and getting it to build the file. I am making
    progress, but at a point where I am having trouble getting my java code
    files to compile using ant. I am having one issue and looking to do one
    other item.
    1) I would like to precompile the JSPs if possible prior to putting into the
    WAR file. Not sure if this is done or not, but there was a utility when I
    was working with ibm's app server that gave us the ability to do a batch
    complile. Was thinking that maybe a similair concept is possibly here.
    2) Having issue getting ant to compile code properly. In the compile
    section of the build.xml file for ant, I tell it where the source files are,
    and the destionation folder for the compiled class files. I then try to set
    the classpath so that it finds the .jar files that are necessary for my
    source files to complile. But, it won't find them. And not sure how come.
    I may be going about this all wrong, but dont know. Here is the compile
    section of the build.xml I am using:
    <target name="compile" depends="prepare">
    <javac srcdir="classes" destdir="${deploy.home}/WEB-INF/classes"
    classpath="$(lib.home)"
    debug="on" optimize="on" deprecation="off"/>
    </target>
    One note, I've tried many different items in the classpath line, which
    don't work. if I do *.jar it fails at complie time, invalid argument. As
    well as if I use *.* and so on. if I list the explicit file names, it still
    doesn't seem to find them.
    I was wondering if anyone could help, if you need anymore information let me
    know, I can send the entire build.xml if necessary. I may be missing
    items, seeing that this is my first try at using ANT.
    Any help is appreciated and thanks in advance. Hopefully not sounding too
    off the wall. Hopefully get some clarification and understanding.
    Thank you.
    Kevin.

    Kevin Price wrote:
    Hello.
    I am new to working with WAR files and the whole process of it. A little
    background on what we are using. We are using, WLS 6.1 SP3. I am using the
    ant.bat that is supplied in the bin directory of the WLS install.
    I am trying to work with ANT and getting it to build the file. I am making
    progress, but at a point where I am having trouble getting my java code
    files to compile using ant. I am having one issue and looking to do one
    other item.
    1) I would like to precompile the JSPs if possible prior to putting into the
    WAR file. Not sure if this is done or not, but there was a utility when I
    was working with ibm's app server that gave us the ability to do a batch
    complile. Was thinking that maybe a similair concept is possibly here.you can use weblogic.jspc
    http://e-docs.bea.com/wls/docs70/jsp/reference.html#57794
    or just set the precompile flag in weblogic.xml
    You can configure WebLogic Server to precompile your JSPs when a Web
    Application is deployed or re-deployed or when WebLogic Server starts up
    by setting the precompile parameter to true in the <jsp-descriptor>
    element of the weblogic.xml deployment descriptor.
    >
    2) Having issue getting ant to compile code properly. In the compile
    section of the build.xml file for ant, I tell it where the source files are,
    and the destionation folder for the compiled class files. I then try to set
    the classpath so that it finds the .jar files that are necessary for my
    source files to complile. But, it won't find them. And not sure how come.
    I may be going about this all wrong, but dont know. Here is the compile
    section of the build.xml I am using:
    <target name="compile" depends="prepare">
    <javac srcdir="classes" destdir="${deploy.home}/WEB-INF/classes"
    classpath="$(lib.home)"
    debug="on" optimize="on" deprecation="off"/>
    </target>
    maybe because you are not using curly braces there on lib.home??
    if you do it the way above, you would have to list all your jars
    classpath="$(lib.home)\lib1.jar:$(lib.home)\lib2.jar"
    or you can nest
    <javac srcdir="classes" destdir="${deploy.home}/WEB-INF/classes"
    debug="on" optimize="on" deprecation="off">
         <classpath>
              <fileset dir="${lib.home}" includes="*.jar" />
         </classpath>
    </javac>
    One note, I've tried many different items in the classpath line, which
    don't work. if I do *.jar it fails at complie time, invalid argument. As
    well as if I use *.* and so on. if I list the explicit file names, it still
    doesn't seem to find them.
    I was wondering if anyone could help, if you need anymore information let me
    know, I can send the entire build.xml if necessary. I may be missing
    items, seeing that this is my first try at using ANT.
    Any help is appreciated and thanks in advance. Hopefully not sounding too
    off the wall. Hopefully get some clarification and understanding.
    Thank you.
    Kevin.

Maybe you are looking for