Trouble Compiling CUPS 1.4.1 via ABS

I've recompiled all but a few packages on my system, and am now trying to compile CUPS 1.4.1 from the extra repo.  Its compilation always errors on me with messages stating it cannot find various header files, php.h, php_ini.h, and ext/standard/info.h in particular.  Looking at the source file having issues, phpcups.c, it has those headers included as, please excuse me if my terminology is incorrect, local header files:
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
The problem is, those headers are located in /usr/include/php, not where I'm compiling CUPS.  Changing their lines to point to the correct locations of each (i.e. #include <php/main/php.h>) causes the compiler to complain about yet more header files that cannot be located, however the problematic header files are then referenced from within the list of PHP header files, not those belonging to CUPS.  What I thought about doing was fixing the locations of each include in the PHP header files, and the three in the CUPS header files, but was unsure how that would affect linking and compiling.
I copied the PHP headers to a temporary directory, where I ran this set of commands to fix their includes:
for header in $(grep -rE '#include (<[^>]*>|"[^"]*")' . | sed -e 's|^.*:#include\s\+||g;s/"//g;s/<//g;s/>//g' -e 's|\s\+.*$||g;/:/d' -e 's|.*/||g' | sort | uniq); do loc=$(find . -name ${header} | sed -e 's|^\./||g'); if [[ -n "$loc" ]]; then sed -e "s|^#include \"[^\"]*${header}\"|#include \"${loc}\"|g" $(for f in $(find . -type f); do echo " -i $f "; done); fi; done
(There may be a cleaner way, but this was how I fixed them)
I then ran diff -ru /usr/include/php . to check what was changed, and found, with a few exceptions, I was successful.  If I were to carefully merge the changes back into the original header files, would this approach work?

bump
Has anybody compiled CUPS 1.4.1 with the ABS?
EDIT: Well, I reckon someone did, since it's in the extra repo, but how was it done?
Last edited by deltaecho (2009-10-24 22:02:34)

Similar Messages

  • Updating packages compiled via ABS

    Hey,
    I've just setup Arch for the first time, all is great so far - however I have a question regarding packages that have been compiled via ABS. If I was to recompile Apache, what happens when a new version is out? Would a 'pacman -Syu' automagically re-compile the latest version with the different configure flags and/or patches I set, or do I have to manually re-compile again? If it is the latter, how do I know a new version is out (apart from checking the Apache site all the time)?.
    Regards,

    Allan wrote:You will have to recompile it yourself when a new version is out.  If you don't want your own version to be replaced then add "IgnorePkg   = apache" to your /etc/pacman.conf.  pacman will print a message saying it is ignoring an update when one in the Arch repos is available.
    Ok, quoting Allan here to clarify more confusion on the forums about this as of late.
    Note that when making and installing a package using makepkg and ABS, the package will remain tracked by pacman. Pacman will then automatically upgrade the binary package when a newer version number is released into the repos.
    A way around this is to use the IgnorePackage array in pacman.conf, and simply manually upgrade the package yourself (using ABS and makepkg).
    Custom packages from 3rd party sources are tracked manually as are packages built by using AUR [unsupported] PKGBUILDS, though AUR helpers can automate this process.

  • Trouble Compiling my Email-client

    Hi
    I have written this email -client, but have some trouble compiling it !
    Then I try to compile it the following errors:
    MailClient.java:350: <identifier> expected
    public syncronize void mails(String t){
    ^
    MailClient.java:727: ';' expected
    private class myWindowListener extends WindowAdapter{
    ^
    MailClient.java:747: '}' expected
    3 errors.
    What do I need to change to correct these errors ?
    I hope that there is somebody out there who can help me get my program to work.
    Thanks in advance.
    Sincrely Yours
    Fred
    import java.io.*;
    import java.awt.*;
    import java.util.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.event.*;
    public class MailClient extends JFrame implements ActionListener{ 
    private Sendman mySendman;
    private Letterman myLetterman;
    public Writer myWrite;
    public Reader myReader;
    public Composer myComposer;
    private Setup mySetup;
    public Addressbook myAdressbook;
    private FixTask myFixTask;
    private Filter myFilter;
    private Info myInfo;
    public Vector mailIndexVector = new Vector();
    public Vector filterIndexVector = new Vector();
    public Vector folderVector = new Vector();
    private JPanel tArea, trae, icon, tField;
    private JTextArea ta;
    private JScrollPane view, treeScroll;
    private JTree tree;
    public JTextField tf;
    private JSplitPane split;
    private Dimension Size;
    private MailClient myMailClient;
    private String mailBody, subject, from;
    public boolean fromOutbox = false;
    public boolean viewSource = false;
    public static void main (String[] args) {
         MailClient myMailClient = new MailClient();
    public MailClient() {
         super("Mail-Client");
         ImageIcon linux = new ImageIcon("linux.gif");
         this.setIconImage(linux.getImage());
         icon = new JPanel();
         icon.setLayout(new FlowLayout(FlowLayout.LEFT));
         ImageIcon neu = new ImageIcon("getmail.gif");
         JButton neueMails = new JButton(neu);
         newMails.setActionCommand("Getting new Mails");
         newMails.addActionListener(this);
         newMails.setBorderPainted(false);
         newMails.setToolTipText("Getting new Mails");
         ImageIcon cr = new ImageIcon("creator.gif");
         JButton creator = new JButton(cr);
         creator.setActionCommand("Creator open");
         creator.addActionListener(this);
         creator.setBorderPainted(false);
         creator.setToolTipText("Creator open");
         JButton rep = new JButton(new ImageIcon("reply.gif"));
         rep.setActionCommand("rep");
         rep.addActionListener(this);
         rep.setBorderPainted(false);
         rep.setToolTipText("Reply");
         JButton fwd = new JButton(new ImageIcon("fwd.gif"));
         fwd.setActionCommand("fwd");
         fwd.addActionListener(this);
         fwd.setBorderPainted(false);
         fwd.setToolTipText("Forward");
         JButton ein = new JButton(new ImageIcon("settings.gif"));
         ein.setActionCommand("settings open");
         ein.addActionListener(this);
         ein.setBorderPainted(false);
    ein.setToolTipText("Setting open");
    JButton adr = new JButton(new ImageIcon("adressbook.gif"));
    adr.setActionCommand("adr");
    adr.addActionListener(this);
    adr.setBorderPainted(false);
    adr.setToolTipText("Addressbook");
    JButton lo = new JButton(new ImageIcon("trash.gif"));
    lo.setActionCommand("trash");
    lo.addActionListener(this);
    lo.setBorderPainted(false);
    lo.setToolTipText("trash");
    JButton in = new JButton(new ImageIcon("info.gif"));
    in.setActionCommand("Information");
    in.addActionListener(this);
    in.setBorderPainted(false);
    in.setToolTipText("Information");
    icon.add(newMails);
    icon.add(creator);
    icon.add(rep);
    icon.add(fwd);
    icon.add(set);
    icon.add(adr);
    icon.add(lo);
    icon.add(in);
    Vector h1 = myLeser.lese("Summary.4on");
    for(int i=0; i<h1.size(); i+=7){
    String id = h1.elementAt(i).toString();
    String fo = h1.elementAt(i+1).toString();
    String su = h1.elementAt(i+2).toString();
    String fr = h1.elementAt(i+3).toString();
    String to = h1.elementAt(i+4).toString();
    String da = h1.elementAt(i+5).toString();
    String re = h1.elementAt(i+6).toString();
    MailIndex index = new MailIndex(id, fo, su, fr, to, da, re);
    mailIndexVector.addElement(index);
    Vector h2 = myReader.read("Filter.4on");
    for(int j=0; j<h2.size(); j+=3){
    String fo = h2.elementAt(j).toString();
    String from = h2.elementAt(j+1).toString();
    String te = h2.elementAt(j+2).toString();
    FilterIndex index = new FilterIndex(fo, from, te);
    filterIndexVector.addElement(index);
    folderVector = myReader.read("Folder.4on");
    DefaultMutableTreeNode top, inbox, outbox, sentbox, trash;
    top = new DefaultMutableTreeNode("mails");
    top.add(inbox = new DefaultMutableTreeNode("Inbox"));
    for(int i=0; i<mailIndexVector.size(); i++){
    MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
    if (m.folder.equals("Inbox"))
         inbox.add(new DefaultMutableTreeNode(m));
    top.add(outbox = new DefaultMutableTreeNode("Outbox"));
    for(int i=0; i<mailIndexVector.size(); i++){
    MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
    if (m.folder.equals("Outbox")){
         outbox.add(new DefaultMutableTreeNode(m));
    top.add(sentbox = new DefaultMutableTreeNode("Sentbox"));
    for(int i=0; i<mailIndexVector.size(); i++){
    MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
    if (m.folder.equals("Sentbox"))
         sentbox.add(new DefaultMutableTreeNode(m));
    for(int j=0; j<folderVector.size(); j++){
    top.add(trash =
         new DefaultMutableTreeNode(folderVector.elementAt(j).toString()));
    for(int i=0; i<mailIndexVector.size(); i++){
         MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
         if (m.folder.equals(folderVector.elementAt(j).toString()))
         trash.add(new DefaultMutableTreeNode(m));
    tree = new JTree(top);
    tree.getSelectionModel().setSelectionMode
    (TreeSelectionModel.SINGLE_TREE_SELECTION);
    tree.addTreeSelectionListener(new myTreeSelectionListener());
    treeScroll = new JScrollPane(tree);
    treeScroll.setFont(new Font("Monospaced",Font.PLAIN,6));
    baum.add("Center", treeScroll);
    MainMenu menuBar = new MainMenu(this, this);
    setJMenuBar(menuBar);
    setVisible(true);
    public void mailsFetcher() {
    myLetterman = new Letterman(this, mySetup);
    myLetterman.start();
    public void treeNewSign(){
    trae.remove(treeScroll);     
    DefaultMutableTreeNode top, inbox, outbox, sentbox, trash;
    top = new DefaultMutableTreeNode("mails");
    top.add(inbox = new DefaultMutableTreeNode("Inbox"));
    for(int i=0; i<mailIndexVector.size(); i++){
    MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
    if (m.folder.equals("Inbox"))
         inbox.add(new DefaultMutableTreeNode(m));
    top.add(outbox = new DefaultMutableTreeNode("Outbox"));
    for(int i=0; i<mailIndexVector.size(); i++){
    MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
    if (m.folder.equals("Outbox"))
         outbox.add(new DefaultMutableTreeNode(m));
    top.add(sentbox = new DefaultMutableTreeNode("Sentbox"));
    for(int i=0; i<mailIndexVector.size(); i++){
    MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
    if (m.folder.equals("Sentbox"))
         sentbox.add(new DefaultMutableTreeNode(m));
    for(int j=0; j<folderVector.size(); j++){
    top.add(trash =
         new DefaultMutableTreeNode(folderVector.elementAt(j).toString()));
    for(int i=0; i<mailIndexVector.size(); i++){
         MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
         if (m.folder.equals(folderVector.elementAt(j).toString()))
         trash.add(new DefaultMutableTreeNode(m));
    tree = new JTree(top);
    tree.getSelectionModel().setSelectionMode
    (TreeSelectionModel.SINGLE_TREE_SELECTION);
    tree.addTreeSelectionListener(new myTreeSelectionListener());
    treeScroll = new JScrollPane(tree);
    trae.add("Center", treeScroll);
    trae.repaint();
    setVisible(true);
    public void menuNewSign(){
    setJMenuBar(new MainMenu(this, this));
    setVisible(true);
    public String fromFilter (String t){
    String myFrom = "";
    int start, end;
    int a = t.indexOf("From:");
    if (a != -1){
    start = a + 6;
    ende = t.indexOf("\n",start);
    myFrom = t.substring(start,end);
    return myFrom;
    public String toFilter (String t){
    String myTo = "";
    int start, e1, e2, end;
    int a = t.indexOf("To:");
    if (a != -1){
    start = a + 4;
    end = t.indexOf("\n",start);
    myTo = t.substring(start,end);
    e1 = end + 1;
    if(t.substring(e1,e1+1).equals(" ")){
         while(t.substring(e1,e1+1).equals(" ")){
         while(t.substring(e1,e1+1).equals(" "))
         e1++;
         e2 = t.indexOf("\n",e1);
         myTo += " " + t.substring(e1,e2);
         e1 = e2 + 1;
    return myTo;
    public String dateFilter (String t){
    String myDate = "";
    int start, end;
    int a = t.indexOf("Date:");
    if (a != -1){
    start = a + 6;
    end = t.indexOf("\n",start);
    myDate = t.substring(start,end);
    return myDate;
    public String subjectFilter (String t){
    String mySubject = "";
    int start, end;
    int a = t.indexOf("Subject:");
    if (a != -1){
    start = a + 9;
    end = t.indexOf("\n",start);
    mySubject = t.substring(start,end);
    return mySubject;
    public String mailFilter (String t){ 
    String myMail = "";
    int start = 0, end = t.length();
    start = t.indexOf("\n\n") + 2;
    if (start != 1){
    int a = t.indexOf("\n\n" ,start);
    if (a != -1){
         if (t.indexOf(".",a+2) == a+2)
         if (t.indexOf("\n",a+3) == a+3)
         start = a;
    myMail = t.substring(start,end);
    return myMail;
    public void mailsRemark(String file){
    String mail = "", t = "";
    Vector mailVector = myReader.read(file);
    for (int i=0; i<mailVector.size(); i++)
    t += (String)mailVector.elementAt(i) + "\n";
    from = fromFilter(t);
    subject = subjectFilter(t);
    mailBody = mailFilter(t);
    mail += "Subject: " + subject + "\n";
    mail += "Date: " + dateFilter(t) + "\n";
    mail += "From: " + from + "\n";
    mail += "To: " + toFilter(t) + "\n";
    mail += "\n" + mailBody;
    if(viewSource == true)
    ta.setText(t);
    else
    ta.setText(mail);
    public syncronize void mails(String t){
    Status myStatus = new Status(this,t);
    myStatus.start();
    public void delete(){
    if(tree.getLastSelectedPathComponent() != null){
    DefaultMutableTreeNode node =
         (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
    if(node.isLeaf()){
         Object nodeInfo = node.getUserObject();
         if(nodeInfo instanceof MailIndex){
         MailIndex index = (MailIndex)nodeInfo;
         mailIndexVector.removeElement(index);
         int count = 0;
         for(int j=0; j<mailIndexVector.size(); j++){
         MailIndex index1 = (MailIndex)mailIndexVector.elementAt(j);
         String id = index1.mailId;
         if(id.equals(index.mailId))
         count++;
         if(count == 0){
         File home = new File(".");
         String mailsRemark = "." + home.separator + "data";
         File datei = new File(mailsRemark, index.mailId);
         datei.delete();
         treeNewSign();
         menuNewSign();
         else{
         String t = (String)nodeInfo;
         boolean toDelete = false;
         for (int i=0; i<folderVector.size(); i++){
         if(folderVector.elementAt(i).equals(t)){
         folderVector.removeElement(t);
         konnteLoeschen = true;
         if(toDelete == false){
         message("This folder can not be deleted!");
         treeNewSign();
    else
         message("Folder is not Empty! Please delete Your mails.");
    else
    message("No Mails where selected to be deleted!");
    public void forward(){
    if(from != null){
    creatorOeffnen();
    myCreator.tfSb.setText("Fwd to: " + subject);
    myCreator.ta.setText("<" + from + ">" + " wrote:\n\n" + mailBody +
                   "\n\n>\n>\n\n");
    public void reply(){
    if(from != null){
    creatorOeffnen();
    myCreator.tfTo.setText(from);
    myCreator.tfSb.setText("Reply to: " + subject);
    myCreator.ta.setText("<" + from + ">" + " wrote:\n\n" + mailBody +
                   "\n\n>\n>\n\n");
    public void end(){
    String h = "";
    for (int i=0; i<mailIndexVector.size(); i++){
    MailIndex index = (MailIndex)mailIndexVector.elementAt(i);
    h += index.mailId + "\n";
    h += index.folder + "\n";
    h += index.subject + "\n";
    h += index.from + "\n";
    h += index.to + "\n";
    h += index.date + "\n";
    h += index.read + "\n";
    myWriter.writer(h,"Summary.4on");
    String w = "";
    for (int l=0; l<filterIndexVector.size(); l++){
    FilterIndex index = (FilterIndex)filterIndexVector.elementAt(l);
    w += index.folder + "\n";
    w += index.from + "\n";
    w += index.text + "\n";
    myWriter.write(w,"Filter.4on");
    String k = "";
    for(int j=0; j<folderVector.size(); j++)
    k += folderVector.elementAt(j).toString() + "\n";
    myWriter.writer(k,"Folder.4on");
    String t = "";
    for (int l=0; l<myAddressBook.addressIndexVector.size(); l++){
    AddressIndex aindex =
         (AddressIndex)myAdressBook.adressIndexVector.elementAt(l);
    t += aindex.alias + "\n";
    t += aindex.email + "\n";
    myWriter.write(t,"Address.4on");
    setVisible(false);
    dispose();
    System.exit(0);
    public void filterOpen(){
    boolean test = false;
    if(tree.getLastSelectedPathComponent() != null){
    DefaultMutableTreeNode node =
         (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
    Object nodeInfo = node.getUserObject();
    if(nodeInfo instanceof String){
         myFilter.folder = (String)nodeInfo;
         for(int i=0; i<filterIndexVector.size(); i++){
         FilterIndex h = (FilterIndex)filterIndexVector.elementAt(i);
         if(h.folder.equals(nodeInfo)){
         myFilter.index = h;
         test = true;
         if(h.from.equals("")){
         myFilter.box1 = false;
         myFilter.fTf.setText("");
         myFilter.fBox.setSelected(false);
         myFilter.fTf.setEditable(false);
         else{
         myFilter.box1 = true;
         myFilter.fTf.setText(h.from);
         myFilter.fBox.setSelected(true);
         myFilter.fTf.setEditable(true);
         if(h.text.equals("")){
         myFilter.box2 = false;
         myFilter.tTf.setText("");
         myFilter.tBox.setSelected(false);
         myFilter.tTf.setEditable(false);
         else{
         myFilter.box2 = true;
         myFilter.tTf.setText(h.text);
         myFilter.tBox.setSelected(true);
         myFilter.tTf.setEditable(true);
         break;
    myFilter.setVisible(true);
    myFilter.fBox.requestFocus();
    else
    meldung("No selection");
    public void sendOutbox(){
    fromOutbox = true;
    int i;
    Block1:
    for(i=0; i<mailIndexVector.size(); i++){
    MailIndex index = (MailIndex)mailIndexVector.elementAt(i);
    if(index.folder.equals("Outbox")){
         Vector mailVector = myReader.read(index.mailId);
    Block2:
         for(int j=0; j<mailVector.size(); j++){
         String m = (String)mailVector.elementAt(j);
         if(m.indexOf("Subject:") != -1){
         for(int k=0; k<=j+1; k++){
         mailVector.removeElementAt(0);
         break Block2;
         Vector toVector = new Vector();
         int tEnd = 1;
         String line = "";
         String t = index.to;
         while (tEnd != -1){
         tEnd = t.indexOf(", ");
         if (tEnd == -1)
         line = t;
         else
         line = t.substring(0,tEnd);
         t = t.substring(tEnd + 1);
         toVector.addElement(line);
         File home = new File(".");
         String mailsVerzeichnis = "." + home.separator + "data";
         File datei = new File(mailsRemark, index.mailId);
         datei.delete();
         mySendman = new Sendman(mailVector, toVector, index.subject,
         ailsAnzeig               mySetup, this);
         mySendman.start();
         mailIndexVector.removeElement(index);
         break Block1;
    if(i == mailIndexVector.size())
    fromOutbox = false;
    treeNewSign();
    public void partion(String cmd){
    if(tree.getLastSelectedPathComponent() != null){
    DefaultMutableTreeNode node =
         (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
    Object nodeInfo = node.getUserObject();
    if(nodeInfo instanceof MailIndex){
         MailIndex index = (MailIndex)nodeInfo;
         index.folder = cmd.substring(13).toString();
         treeNewSign();
    else
    meldung("No mails to partion!");
    public void SetupOpen(){
    if (mySetup.savePassword == false)
    mySetup.pTf.setText("");
    mySetup.setVisible(true);
    mySetup.aTf.requestFocus();
    public void addressbookOpen(){
    myAddressBook.setVisible(true);
    myAdressBook.tree.requestFocus();
    public void creatorOpen(){
    myCreator.setVisible(true);
    myCreator.tfTo.requestFocus();
    public void actionPerformed(ActionEvent event){
    Object obj = event.getSource();
    if (obj instanceof JMenuItem){
    String cmd = event.getActionCommand();
    if (cmd.equals("New fetched")){
         mailsfetch();
    else if (cmd.equals("Written new mails")) {
         creatorOpen();
    else if (cmd.equals("Reply")) {
         reply();
    else if (cmd.equals("Forward")) {
         forward();
    else if (cmd.equals("Outbox")) {
         sendOutbox();
    else if (cmd.equals("Delete")) {
         delete();
    else if ((cmd.length() >13) &&
         (cmd.substring(0,13).equals("Sorting-"))){
         sorting(cmd);
    else if (cmd.equals("Using Addressbook")){
         addressbookOpen();
    else if (cmd.equals("Filter working")){
         filterOpen();
    else if (cmd.equals("New Order")){
         myFixTask.tf.setText("");
         myFixTask.setVisible(true);
         myFixTask.tf.requestFocus();
    else if (cmd.equals("delete")){
         delete();
    else if ((cmd.length() >7) &&
         (cmd.substring(0,7).equals("nobody"))){
         if(viewSource == false){
         viewSource = true;
         menuNewSign();
         if(tree.getLastSelectedPathComponent() != null){
         DefaultMutableTreeNode node =
         (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
         Object nodeInfo = node.getUserObject();
         if(nodeInfo instanceof MailIndex){
         MailIndex index = (MailIndex)nodeInfo;
         mailsRemark(index.mailId);
         else{
         viewSource = false;
         menuNeuZeichnen();
         if(tree.getLastSelectedPathComponent() != null){
         DefaultMutableTreeNode node =
         (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
         Object nodeInfo = node.getUserObject();
         if(nodeInfo instanceof MailIndex){
         MailIndex index = (MailIndex)nodeInfo;
         mailsRemark(index.mailId);
    else if (cmd.equals("Setup")){
         SetupOpen();
    else if (obj instanceof JButton){
    String cmd = event.getActionCommand();
    if (cmd.equals("aga")){
         mailsHolen();
    else if (cmd.equals("Creator Open")){
         creatorOpem();
    else if(cmd.equals("rep")){
         reply();
    else if(cmd.equals("fwd")){
         forward();
    else if(cmd.equals("Setup Open")){
    SetupOpen();
    else if(cmd.equals("adr")){
         addressbookOpen();
    else if(cmd.equals("delete")){
         delete();
    else if(cmd.equals("Information")){
         myInfo.setVisible(true);
         myInfo.b.requestFocus();
    private class myWindowListener extends WindowAdapter{
    public void windowClosing(WindowEvent event){
    end();
    private class myTreeSelectionListener implements TreeSelectionListener{
    public void valueChanged(TreeSelectionEvent e) {
    DefaultMutableTreeNode node =
         (DefaultMutableTreeNode)(e.getPath().getLastPathComponent());
    Object nodeInfo = node.getUserObject();
    if(nodeInfo instanceof MailIndex){
         MailIndex index = (MailIndex)nodeInfo;
         mailsAnzeigen(index.mailId);
         index.read = "Yes";

    Some suggestions:
    1. as the others stated- you should really post specific questions rather than 1 huge ugly class!
    2. use code tags
    3. get a decent IDE- it would take about 1 minute to then see where the error is-
    4. the rrors were just misspelled 'synchronized' and missing argument ','
    5. Try not to make such huge classes!!- Try to follow certain coding "patterns"- like MVC- and not stick everything in 1 class- separate the functionality- it makes coding much easier!
    here is fixed code (at least gets rid of those last errors):
    import java.io.*;
    import java.awt.*;
    import java.util.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.event.*;
    public class MailClient extends JFrame implements ActionListener{
      private Sendman mySendman;
      private Letterman myLetterman;
      public Writer myWrite;
      public Reader myReader;
      public Composer myComposer;
      private Setup mySetup;
      public Addressbook myAdressbook;
      private FixTask myFixTask;
      private Filter myFilter;
      private Info myInfo;
      public Vector mailIndexVector = new Vector();
      public Vector filterIndexVector = new Vector();
      public Vector folderVector = new Vector();
      private JPanel tArea, trae, icon, tField;
      private JTextArea ta;
      private JScrollPane view, treeScroll;
      private JTree tree;
      public JTextField tf;
      private JSplitPane split;
      private Dimension Size;
      private MailClient myMailClient;
      private String mailBody, subject, from;
      public boolean fromOutbox = false;
      public boolean viewSource = false;
      public static void main (String[] args) {
        MailClient myMailClient = new MailClient();
      public MailClient() {
        super("Mail-Client");
        ImageIcon linux = new ImageIcon("linux.gif");
        this.setIconImage(linux.getImage());
        icon = new JPanel();
        icon.setLayout(new FlowLayout(FlowLayout.LEFT));
        ImageIcon neu = new ImageIcon("getmail.gif");
        JButton neueMails = new JButton(neu);
        newMails.setActionCommand("Getting new Mails");
        newMails.addActionListener(this);
        newMails.setBorderPainted(false);
        newMails.setToolTipText("Getting new Mails");
        ImageIcon cr = new ImageIcon("creator.gif");
        JButton creator = new JButton(cr);
        creator.setActionCommand("Creator open");
        creator.addActionListener(this);
        creator.setBorderPainted(false);
        creator.setToolTipText("Creator open");
        JButton rep = new JButton(new ImageIcon("reply.gif"));
        rep.setActionCommand("rep");
        rep.addActionListener(this);
        rep.setBorderPainted(false);
        rep.setToolTipText("Reply");
        JButton fwd = new JButton(new ImageIcon("fwd.gif"));
        fwd.setActionCommand("fwd");
        fwd.addActionListener(this);
        fwd.setBorderPainted(false);
        fwd.setToolTipText("Forward");
        JButton ein = new JButton(new ImageIcon("settings.gif"));
        ein.setActionCommand("settings open");
        ein.addActionListener(this);
        ein.setBorderPainted(false);
        ein.setToolTipText("Setting open");
        JButton adr = new JButton(new ImageIcon("adressbook.gif"));
        adr.setActionCommand("adr");
        adr.addActionListener(this);
        adr.setBorderPainted(false);
        adr.setToolTipText("Addressbook");
        JButton lo = new JButton(new ImageIcon("trash.gif"));
        lo.setActionCommand("trash");
        lo.addActionListener(this);
        lo.setBorderPainted(false);
        lo.setToolTipText("trash");
        JButton in = new JButton(new ImageIcon("info.gif"));
        in.setActionCommand("Information");
        in.addActionListener(this);
        in.setBorderPainted(false);
        in.setToolTipText("Information");
        icon.add(newMails);
        icon.add(creator);
        icon.add(rep);
        icon.add(fwd);
        icon.add(set);
        icon.add(adr);
        icon.add(lo);
        icon.add(in);
        Vector h1 = myLeser.lese("Summary.4on");
        for(int i=0; i<h1.size(); i+=7){
          String id = h1.elementAt(i).toString();
          String fo = h1.elementAt(i+1).toString();
          String su = h1.elementAt(i+2).toString();
          String fr = h1.elementAt(i+3).toString();
          String to = h1.elementAt(i+4).toString();
          String da = h1.elementAt(i+5).toString();
          String re = h1.elementAt(i+6).toString();
          MailIndex index = new MailIndex(id, fo, su, fr, to, da, re);
          mailIndexVector.addElement(index);
        Vector h2 = myReader.read("Filter.4on");
        for(int j=0; j<h2.size(); j+=3){
          String fo = h2.elementAt(j).toString();
          String from = h2.elementAt(j+1).toString();
          String te = h2.elementAt(j+2).toString();
          FilterIndex index = new FilterIndex(fo, from, te);
          filterIndexVector.addElement(index);
        folderVector = myReader.read("Folder.4on");
        DefaultMutableTreeNode top, inbox, outbox, sentbox, trash;
        top = new DefaultMutableTreeNode("mails");
        top.add(inbox = new DefaultMutableTreeNode("Inbox"));
        for(int i=0; i<mailIndexVector.size(); i++){
          MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
          if (m.folder.equals("Inbox"))
            inbox.add(new DefaultMutableTreeNode(m));
        top.add(outbox = new DefaultMutableTreeNode("Outbox"));
        for(int i=0; i<mailIndexVector.size(); i++){
          MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
          if (m.folder.equals("Outbox")){
            outbox.add(new DefaultMutableTreeNode(m));
        top.add(sentbox = new DefaultMutableTreeNode("Sentbox"));
        for(int i=0; i<mailIndexVector.size(); i++){
          MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
          if (m.folder.equals("Sentbox"))
            sentbox.add(new DefaultMutableTreeNode(m));
        for(int j=0; j<folderVector.size(); j++){
          top.add(trash =
          new DefaultMutableTreeNode(folderVector.elementAt(j).toString()));
          for(int i=0; i<mailIndexVector.size(); i++){
            MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
            if (m.folder.equals(folderVector.elementAt(j).toString()))
              trash.add(new DefaultMutableTreeNode(m));
        tree = new JTree(top);
        tree.getSelectionModel().setSelectionMode
        (TreeSelectionModel.SINGLE_TREE_SELECTION);
        tree.addTreeSelectionListener(new myTreeSelectionListener());
        treeScroll = new JScrollPane(tree);
        treeScroll.setFont(new Font("Monospaced",Font.PLAIN,6));
        baum.add("Center", treeScroll);
        MainMenu menuBar = new MainMenu(this, this);
        setJMenuBar(menuBar);
        setVisible(true);
      public void mailsFetcher() {
        myLetterman = new Letterman(this, mySetup);
        myLetterman.start();
      public void treeNewSign(){
        trae.remove(treeScroll);
        DefaultMutableTreeNode top, inbox, outbox, sentbox, trash;
        top = new DefaultMutableTreeNode("mails");
        top.add(inbox = new DefaultMutableTreeNode("Inbox"));
        for(int i=0; i<mailIndexVector.size(); i++){
          MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
          if (m.folder.equals("Inbox"))
            inbox.add(new DefaultMutableTreeNode(m));
        top.add(outbox = new DefaultMutableTreeNode("Outbox"));
        for(int i=0; i<mailIndexVector.size(); i++){
          MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
          if (m.folder.equals("Outbox"))
            outbox.add(new DefaultMutableTreeNode(m));
        top.add(sentbox = new DefaultMutableTreeNode("Sentbox"));
        for(int i=0; i<mailIndexVector.size(); i++){
          MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
          if (m.folder.equals("Sentbox"))
            sentbox.add(new DefaultMutableTreeNode(m));
        for(int j=0; j<folderVector.size(); j++){
          top.add(trash =
          new DefaultMutableTreeNode(folderVector.elementAt(j).toString()));
          for(int i=0; i<mailIndexVector.size(); i++){
            MailIndex m = (MailIndex)mailIndexVector.elementAt(i);
            if (m.folder.equals(folderVector.elementAt(j).toString()))
              trash.add(new DefaultMutableTreeNode(m));
        tree = new JTree(top);
        tree.getSelectionModel().setSelectionMode
        (TreeSelectionModel.SINGLE_TREE_SELECTION);
        tree.addTreeSelectionListener(new myTreeSelectionListener());
        treeScroll = new JScrollPane(tree);
        trae.add("Center", treeScroll);
        trae.repaint();
        setVisible(true);
      public void menuNewSign(){
        setJMenuBar(new MainMenu(this, this));
        setVisible(true);
      public String fromFilter (String t){
        String myFrom = "";
        int start, end;
        int a = t.indexOf("From:");
        if (a != -1){
          start = a + 6;
          ende = t.indexOf("\n",start);
          myFrom = t.substring(start,end);
        return myFrom;
      public String toFilter (String t){
        String myTo = "";
        int start, e1, e2, end;
        int a = t.indexOf("To:");
        if (a != -1){
          start = a + 4;
          end = t.indexOf("\n",start);
          myTo = t.substring(start,end);
          e1 = end + 1;
          if(t.substring(e1,e1+1).equals(" ")){
            while(t.substring(e1,e1+1).equals(" ")){
              while(t.substring(e1,e1+1).equals(" "))
                e1++;
              e2 = t.indexOf("\n",e1);
              myTo += " " + t.substring(e1,e2);
              e1 = e2 + 1;
        return myTo;
      public String dateFilter (String t){
        String myDate = "";
        int start, end;
        int a = t.indexOf("Date:");
        if (a != -1){
          start = a + 6;
          end = t.indexOf("\n",start);
          myDate = t.substring(start,end);
        return myDate;
      public String subjectFilter (String t){
        String mySubject = "";
        int start, end;
        int a = t.indexOf("Subject:");
        if (a != -1){
          start = a + 9;
          end = t.indexOf("\n",start);
          mySubject = t.substring(start,end);
        return mySubject;
      public String mailFilter (String t){
        String myMail = "";
        int start = 0, end = t.length();
        start = t.indexOf("\n\n") + 2;
        if (start != 1){
          int a = t.indexOf("\n\n" ,start);
          if (a != -1){
            if (t.indexOf(".",a+2) == a+2)
              if (t.indexOf("\n",a+3) == a+3)
                start = a;
          myMail = t.substring(start,end);
        return myMail;
      public void mailsRemark(String file){
        String mail = "", t = "";
        Vector mailVector = myReader.read(file);
        for (int i=0; i<mailVector.size(); i++)
          t += (String)mailVector.elementAt(i) + "\n";
        from = fromFilter(t);
        subject = subjectFilter(t);
        mailBody = mailFilter(t);
        mail += "Subject: " + subject + "\n";
        mail += "Date: " + dateFilter(t) + "\n";
        mail += "From: " + from + "\n";
        mail += "To: " + toFilter(t) + "\n";
        mail += "\n" + mailBody;
        if(viewSource == true)
          ta.setText(t);
        else
          ta.setText(mail);
      public synchronized void mails(String t){
        Status myStatus = new Status(this,t);
        myStatus.start();
      public void delete(){
        if(tree.getLastSelectedPathComponent() != null){
          DefaultMutableTreeNode node =
              (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
          if(node.isLeaf()){
            Object nodeInfo = node.getUserObject();
            if(nodeInfo instanceof MailIndex){
              MailIndex index = (MailIndex)nodeInfo;
              mailIndexVector.removeElement(index);
              int count = 0;
              for(int j=0; j<mailIndexVector.size(); j++){
                MailIndex index1 = (MailIndex)mailIndexVector.elementAt(j);
                String id = index1.mailId;
                if(id.equals(index.mailId))
                  count++;
              if(count == 0){
                File home = new File(".");
                String mailsRemark = "." + home.separator + "data";
                File datei = new File(mailsRemark, index.mailId);
                datei.delete();
              treeNewSign();
              menuNewSign();
            else{
              String t = (String)nodeInfo;
              boolean toDelete = false;
              for (int i=0; i<folderVector.size(); i++){
                if(folderVector.elementAt(i).equals(t)){
                  folderVector.removeElement(t);
                  konnteLoeschen = true;
              if(toDelete == false){
                message("This folder can not be deleted!");
              treeNewSign();
          else
            message("Folder is not Empty! Please delete Your mails.");
        else
          message("No Mails where selected to be deleted!");
      public void forward(){
        if(from != null){
          creatorOeffnen();
          myCreator.tfSb.setText("Fwd to: " + subject);
          myCreator.ta.setText("<" + from + ">" + " wrote:\n\n" + mailBody +
                               "\n\n>\n>\n\n");
      public void reply(){
        if(from != null){
          creatorOeffnen();
          myCreator.tfTo.setText(from);
          myCreator.tfSb.setText("Reply to: " + subject);
          myCreator.ta.setText("<" + from + ">" + " wrote:\n\n" + mailBody +
                               "\n\n>\n>\n\n");
      public void end(){
        String h = "";
        for (int i=0; i<mailIndexVector.size(); i++){
          MailIndex index = (MailIndex)mailIndexVector.elementAt(i);
          h += index.mailId + "\n";
          h += index.folder + "\n";
          h += index.subject + "\n";
          h += index.from + "\n";
          h += index.to + "\n";
          h += index.date + "\n";
          h += index.read + "\n";
        myWriter.writer(h,"Summary.4on");
        String w = "";
        for (int l=0; l<filterIndexVector.size(); l++){
          FilterIndex index = (FilterIndex)filterIndexVector.elementAt(l);
          w += index.folder + "\n";
          w += index.from + "\n";
          w += index.text + "\n";
        myWriter.write(w,"Filter.4on");
        String k = "";
        for(int j=0; j<folderVector.size(); j++)
          k += folderVector.elementAt(j).toString() + "\n";
        myWriter.writer(k,"Folder.4on");
        String t = "";
        for (int l=0; l<myAddressBook.addressIndexVector.size(); l++){
          AddressIndex aindex =
                   (AddressIndex)myAdressBook.adressIndexVector.elementAt(l);
          t += aindex.alias + "\n";
          t += aindex.email + "\n";
        myWriter.write(t,"Address.4on");
        setVisible(false);
        dispose();
        System.exit(0);
      public void filterOpen(){
        boolean test = false;
        if(tree.getLastSelectedPathComponent() != null){
          DefaultMutableTreeNode node =
              (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
          Object nodeInfo = node.getUserObject();
          if(nodeInfo instanceof String){
            myFilter.folder = (String)nodeInfo;
            for(int i=0; i<filterIndexVector.size(); i++){
              FilterIndex h = (FilterIndex)filterIndexVector.elementAt(i);
              if(h.folder.equals(nodeInfo)){
                myFilter.index = h;
                test = true;
                if(h.from.equals("")){
                  myFilter.box1 = false;
                  myFilter.fTf.setText("");
                  myFilter.fBox.setSelected(false);
                  myFilter.fTf.setEditable(false);
                else{
                  myFilter.box1 = true;
                  myFilter.fTf.setText(h.from);
                  myFilter.fBox.setSelected(true);
                  myFilter.fTf.setEditable(true);
                if(h.text.equals("")){
                  myFilter.box2 = false;
                  myFilter.tTf.setText("");
                  myFilter.tBox.setSelected(false);
                  myFilter.tTf.setEditable(false);
                else{
                  myFilter.box2 = true;
                  myFilter.tTf.setText(h.text);
                  myFilter.tBox.setSelected(true);
                  myFilter.tTf.setEditable(true);
                break;
          myFilter.setVisible(true);
          myFilter.fBox.requestFocus();
        else
          meldung("No selection");
      public void sendOutbox(){
        fromOutbox = true;
        int i;
        Block1:
        for(i=0; i<mailIndexVector.size(); i++){
          MailIndex index = (MailIndex)mailIndexVector.elementAt(i);
          if(index.folder.equals("Outbox")){
            Vector mailVector = myReader.read(index.mailId);
            Block2:
            for(int j=0; j<mailVector.size(); j++){
              String m = (String)mailVector.elementAt(j);
              if(m.indexOf("Subject:") != -1){
                for(int k=0; k<=j+1; k++){
                  mailVector.removeElementAt(0);
                break Block2;
            Vector toVector = new Vector();
            int tEnd = 1;
            String line = "";
            String t = index.to;
            while (tEnd != -1){
              tEnd = t.indexOf(", ");
              if (tEnd == -1)
                line = t;
              else
                line = t.substring(0,tEnd);
              t = t.substring(tEnd + 1);
              toVector.addElement(line);
            File home = new File(".");
            String mailsVerzeichnis = "." + home.separator + "data";
            File datei = new File(mailsRemark, index.mailId);
            datei.delete();
            mySendman = new Sendman(mailVector, toVector, index.subject,ailsAnzeig, mySetup, this);
            mySendman.start();
            mailIndexVector.removeElement(index);
            break Block1;
        if(i == mailIndexVector.size())
          fromOutbox = false;
        treeNewSign();
      public void partion(String cmd){
        if(tree.getLastSelectedPathComponent() != null){
          DefaultMutableTreeNode node =
              (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
          Object nodeInfo = node.getUserObject();
          if(nodeInfo instanceof MailIndex){
            MailIndex index = (MailIndex)nodeInfo;
            index.folder = cmd.substring(13).toString();
            treeNewSign();
        else
          meldung("No mails to partion!");
      public void SetupOpen(){
        if (mySetup.savePassword == false)
          mySetup.pTf.setText("");
        mySetup.setVisible(true);
        mySetup.aTf.requestFocus();
      public void addressbookOpen(){
        myAddressBook.setVisible(true);
        myAdressBook.tree.requestFocus();
      public void creatorOpen(){
        myCreator.setVisible(true);
        myCreator.tfTo.requestFocus();
      public void actionPerformed(ActionEvent event){
        Object obj = event.getSource();
        if (obj instanceof JMenuItem){
          String cmd = event.getActionCommand();
          if (cmd.equals("New fetched")){
            mailsfetch();
          else if (cmd.equals("Written new mails")) {
            creatorOpen();
          else if (cmd.equals("Reply")) {
            reply();
          else if (cmd.equals("Forward")) {
            forward();
          else if (cmd.equals("Outbox")) {
            sendOutbox();
          else if (cmd.equals("Delete")) {
            delete();
          else if ((cmd.length() >13) &&
                   (cmd.substring(0,13).equals("Sorting-"))){
            sorting(cmd);
          else if (cmd.equals("Using Addressbook")){
            addressbookOpen();
          else if (cmd.equals("Filter working")){
            filterOpen();
          else if (cmd.equals("New Order")){
            myFixTask.tf.setText("");
            myFixTask.setVisible(true);
            myFixTask.tf.requestFocus();
          else if (cmd.equals("delete")){
            delete();
          else if ((cmd.length() >7) &&
                   (cmd.substring(0,7).equals("nobody"))){
            if(viewSource == false){
              viewSource = true;
              menuNewSign();
              if(tree.getLastSelectedPathComponent() != null){
                DefaultMutableTreeNode node =
                    (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
                Object nodeInfo = node.getUserObject();
                if(nodeInfo instanceof MailIndex){
                  MailIndex index = (MailIndex)nodeInfo;
                  mailsRemark(index.mailId);
            else{
              viewSource = false;
              menuNeuZeichnen();
              if(tree.getLastSelectedPathComponent() != null){
                DefaultMutableTreeNode node =
                    (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
                Object nodeInfo = node.getUserObject();
                if(nodeInfo instanceof MailIndex){
                  MailIndex index = (MailIndex)nodeInfo;
                  mailsRemark(index.mailId);
          else if (cmd.equals("Setup")){
            SetupOpen();
        else if (obj instanceof JButton){
          String cmd = event.getActionCommand();
          if (cmd.equals("aga")){
            mailsHolen();
          else if (cmd.equals("Creator Open")){
            creatorOpem();
          else if(cmd.equals("rep")){
            reply();
          else if(cmd.equals("fwd")){
            forward();
          else if(cmd.equals("Setup Open")){
            SetupOpen();
          else if(cmd.equals("adr")){
            addressbookOpen();
          else if(cmd.equals("delete")){
            delete();
          else if(cmd.equals("Information")){
            myInfo.setVisible(true);
            myInfo.b.requestFocus();
      private class myWindowListener extends WindowAdapter{
        public void windowClosing(WindowEvent event){
          end();
      private class myTreeSelectionListener implements TreeSelectionListener{
        public void valueChanged(TreeSelectionEvent e) {
          DefaultMutableTreeNode node =
              (DefaultMutableTreeNode)(e.getPath().getLastPathComponent());
          Object nodeInfo = node.getUserObject();
          if(nodeInfo instanceof MailIndex){
            MailIndex index = (MailIndex)nodeInfo;
            mailsAnzeigen(index.mailId);
            index.read = "Yes";
    }

  • Trouble compiling for printed documentation

    hello, i am having trouble compiling a new document layout i
    have created, i have followed peter grainges instructions on his
    website but it always fails to generate straight away. Im using
    Robohelp x5 with word 2000, does anyone have any ideas?
    thanks steve

    Steve
    Was RH installed on the PC you are using with you logon or
    that of the person whose job you have taken over? It sounds very
    much like the latter and this is exactly what I would expect to
    happen.
    Try creating a new project with just a couple of topics and
    printing from that. It will likely also fail. If it does that
    pretty much confirms my theory. Uninstall and reinstall RH with
    your logon and with admin rights attached and the problem will
    likely go away.

  • Trouble compiling a stored procedure

    Hello, I have trouble compiling a stored procedure. I include part of the code because I think the key problem is illustrated in these lines:
    date1 is declared as a DATE.
    index_value2 NUMBER;
    BEGIN
    date1 := (select sysdate from dual);
    index_value2 := (select index_value from tmsdat.a_index_values where price_date < (SELECT sysdate -180
       FROM dual) and price_date > (SELECT sysdate -210
       FROM dual));
    [\code]
    The problem seems to be that a more complex syntax is included in the allocation statement (:=), can that be the case? That is, no select etc??
    How is this solved?
    Any help much appreciated!
    best regards
    Harald                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Well, actually WhiteHat´s magic did the trick, but two errors:
    temp := (select (to_number(to_char(sysdate, 'DD'))-1)/(decode(to_char(sysdate,'MM'),'02',28,30)) as result
       from dual);
    [\code]
    this line generates problems but I think the approach is the same maybe, that is:
    select to_number(to_char(sysdate, 'DD'))-1)/(decode(to_char(sysdate,'MM'),'02',28,30)) into temp as result frmo dual
    Further, some error about encountering end of line?
    END CONVERT_MARKET_INDEX;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Trouble compiling servlet example

    Hi All, I am trying out an example for servlets and I ran into trouble compiling the the file called "FormProcessingServlet.java" in tutorial located here: http://developer.java.sun.com/developer/onlineTraining/Servlets/Fundamentals/magercises/FormPostingAndProcessing/index.html
    The exact problem happens in this line:
    isStructure = context.getResourceAsStream(paramStructureFile[0]);
    The error says:
    FormProcessingServlet.java:127: cannot resolve symbol
    symbol : method getResourceAsStream (java.lang.String)
    location: interface javax.servlet.ServletContext
    isStructure = context.getResourceAsStream(paramStructureFile[0]);
    anyone else ran into this problem? How do I fix this? Thanks.

    "cannot resolve symbol" means that the JVM can't find a particular class.
    Adjust your systems classpath variable to include all the jar files that you use, I also add "." to include files in the current directory I'm working from.

  • Having trouble compiling

    I am a total newbie at programming and I am having trouble compiling. In the MS-DOS prompt, I located the folder where my .java file is located and typed the following:
    javac SampleProgram.java
    I received a "Bad command or file name" error. I am typing the names correctly. I am using Java 2 SDK, Standard Edition Version 1.3.1. Am I doing something wrong?
    Thanks for any help.

    That should fix it. The problem is that DOS needs to know where to find the executable files like javac.exe
    You can either set the path temporarily by typing
    SET PATH=.;c:\jdk1.3.1\bin
    at the command prompt each time you open a command window, or you can set it more permanently by adding it to your startup config. This will depend on your OS. On win 98 for example, there is an AUTOEXEC.BAT (usually with a SET PATH command already present). You could open this in notepad to add/change:
    SET PATH=C:\WINDOWS
    to
    SET PATH=C:\WINDOWS;.;C:\JDK1.3.1\BIN
    Reboot to make the changes take effect. Other OS's may have a special dialog to set this kind of command.
    Hope this helps some.

  • I am having trouble connecting to a particular person via face time. I dont have any problems connecting with other people

    I  am having trouble connecting to a particular person via face time. I dont have any problems connecting with other people. They are in Japan I am in Australia. Would that make a difference?

    Unable to make or receive FaceTime calls after April 16, 2014

  • [SOLVED] Krusader compilation via abs error

    I tried to compile Krusader using PKGBUILD from abs. I have base-devel installed, but I got in the end error:
    Linking CXX static library ../../lib/libPanel.a
    [ 76%] Built target Panel
    make: *** [all] Error 2
    ==> ERROR: A failure occurred in build().
    Aborting...
    Application is compiled via Cmake. Ive made litle research but couldn't find solution. Sorry for so few info but I don't really know what would you like more to be able to help, so please just let me know so I could deliver more information.
    Thanks for any help!
    Last edited by Eithrial (2012-06-25 17:05:10)

    Eithrial wrote:I tried to compile Krusader using PKGBUILD from abs. I have base-devel installed, but I got in the end error.....
    I tried your compilation from abs on my system and got your same build failure.  I always build with the "--log" option to makepkg and in a case like this open the build log file and search for the error.  There are lots of warnings about things like "unused parameter" "ignoring return value" and such.  Find the first error.  In your case I searched for the word "error" and came to a line with "error: ‘make_pair’ was not declared in this scope". 
    So enter that error into a google search (krusader error: ‘make_pair’ was not declared in this scope) and near the top of the list is a link to an Archlinux bug report page for the krusader package, https://bugs.archlinux.org/task/29429
    There you find a Comment by Karol (Kudlaty) - Tuesday, 17 April 2012, 16:00 GMT
    ok, compiling error fixed by changing:
    make_pair => std::make_pair
    There's your fix
    The file with the error, from the build log, was src/krusader-2.4.0-beta1/krusader/UserAction/tstring.h (of course open that file and see where make_pair is used).  The two invocations of make_pair need to become std::make_pair, so the fixed build function in our PKGBUILD becomes
    build() {
    cd "${srcdir}"
    sed -i 's/make_pair/std::make_pair/' krusader-2.4.0-beta1/krusader/UserAction/tstring.h
    mkdir build
    cd build
    cmake ../${pkgname}-${_pkgver} \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr
    make
    With the addition of that one sed line to the pkgbuild the krusader package now builds ok.  Always run namcap on your built package: in this case namcap tells us that we got all of the dependencies right and the package looks ok.

  • No modules found in kernel26 package compiled via ABS

    Hi,
    I have been experiencing problems building kernels recently.  I've used ABS and AUR pkgbuilds to build kernels since 2.6.30, mostly to enable the proper USB scheduler for my hub and to try outside kernel patches, see kernel26-ck.  However, since the release of 2.6.35.2, more likely a mere coincidence, I've been compiling small kernels (~4MB) from the default .configs without any modifcations to the PKGBUILDs or the config files.  Looking at the compiled packages, I noticed the omission of the kernel modules that are normally located in /lib/modules/[kernelname]/kernel.  The missing kernel modules obviously causes my machine to be unable to boot (https://bbs.archlinux.org/viewtopic.php … 15#p872215).  My makepkg.conf is below.  Any explanation on what is going on?  Thanks
    ~$ cat /etc/makepkg.conf
    # /etc/makepkg.conf
    # SOURCE ACQUISITION
    #-- The download utilities that makepkg should use to acquire sources
    # Format: 'protocol::agent'
    DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
    'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u'
    'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
    'rsync::/usr/bin/rsync -z %u %o'
    'scp::/usr/bin/scp -C %u %o')
    # Other common tools:
    # /usr/bin/snarf
    # /usr/bin/lftpget -c
    # /usr/bin/curl
    # ARCHITECTURE, COMPILE FLAGS
    CARCH="x86_64"
    CHOST="x86_64-unknown-linux-gnu"
    #-- Exclusive: will only run on x86_64
    # -march (or -mcpu) builds exclusively for an architecture
    # -mtune optimizes for an architecture, but builds for whole processor family
    CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
    CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
    LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed"
    #-- Make Flags: change this for DistCC/SMP systems
    MAKEFLAGS="-j2"
    # BUILD ENVIRONMENT
    # Defaults: BUILDENV=(fakeroot !distcc color !ccache)
    # A negated environment option will do the opposite of the comments below.
    #-- fakeroot: Allow building packages as a non-root user
    #-- distcc: Use the Distributed C/C++/ObjC compiler
    #-- color: Colorize output messages
    #-- ccache: Use ccache to cache compilation
    BUILDENV=(fakeroot !distcc color !ccache)
    #-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
    #-- specify a space-delimited list of hosts running in the DistCC cluster.
    #DISTCC_HOSTS=""
    # GLOBAL PACKAGE OPTIONS
    # These are default values for the options=() settings
    # Default: OPTIONS=(strip docs libtool emptydirs zipman purge)
    # A negated option will do the opposite of the comments below.
    #-- strip: Strip symbols from binaries/libraries in STRIP_DIRS
    #-- docs: Save doc directories specified by DOC_DIRS
    #-- libtool: Leave libtool (.la) files in packages
    #-- emptydirs: Leave empty directories in packages
    #-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
    #-- purge: Remove files specified by PURGE_TARGETS
    OPTIONS=(strip docs libtool emptydirs zipman purge)
    #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
    INTEGRITY_CHECK=(md5)
    #-- Options to be used when stripping binaries. See `man strip' for details.
    STRIP_BINARIES="--strip-all"
    #-- Options to be used when stripping shared libraries. See `man strip' for details.
    STRIP_SHARED="--strip-unneeded"
    #-- Options to be used when stripping static libraries. See `man strip' for details.
    STRIP_STATIC="--strip-debug"
    #-- Manual (man and info) directories to compress (if zipman is specified)
    MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
    #-- Doc directories to remove (if !docs is specified)
    DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
    #-- Directories to be searched for the strip option (if strip is specified)
    STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin})
    #-- Files to be removed from all packages (if purge is specified)
    PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
    # PACKAGE OUTPUT
    # Default: put built package and cached source in build directory
    #-- Destination: specify a fixed directory where all packages will be placed
    #PKGDEST=/home/packages
    #-- Source cache: specify a fixed directory where source files will be cached
    #SRCDEST=/home/sources
    #-- Source packages: specify a fixed directory where all src packages will be placed
    #SRCPKGDEST=/home/srcpackages
    #-- Packager: name/email of the person or organization building packages
    #PACKAGER="John Doe <[email protected]>"
    # EXTENSION DEFAULTS
    # WARNING: Do NOT modify these variables unless you know what you are
    # doing.
    PKGEXT='.pkg.tar.xz'
    SRCEXT='.src.tar.gz'
    # vim: set ft=sh ts=2 sw=2 et:
    Last edited by ssri (2011-01-15 05:56:17)

    Ran linpack and noticed that my CPU temp peaked at 74C, well below the critical threshold of 100C (according to intel).  Usually, my CPU runs at arounr 48-55C unless I am doing some CPU-intensive task.  When that happens, it will run up to the upper 70s.
    ~ $ cat /etc/lininput_xeon64
    Sample Intel(R) LINPACK data file
    Intel(R) LINPACK data
    1 # number of tests
    21000 # problem sizes
    21000 # leading dimensions
    20 # times to run a test
    4 # alignment values (in KBytes)
    # Change the problem sizes and leading dimensions to suite your free physical memory
    # Memory use = 8 x (problem size)^2
    # or
    # Problem size = sqrt (memory use / 8)
    # For 1 GB use a problem size and leading dimensions of 7000
    # For 2 GB use a problem size and leading dimensions of 13700
    # For 4 GB use a problem size and leading dimensions of 21000
    # For 8 GB use a problem size and leading dimensions of 29600
    ~ $ cat lin_xeon64.txt
    Fri Dec 31 21:30:38 PST 2010
    Intel(R) LINPACK data
    Current date/time: Fri Dec 31 21:30:38 2010
    CPU frequency: 1.800 GHz
    Number of CPUs: 1
    Number of cores: 2
    Number of threads: 2
    Parameters are set to:
    Number of tests : 1
    Number of equations to solve (problem size) : 21000
    Leading dimension of array : 21000
    Number of trials to run : 20
    Data alignment value (in Kbytes) : 4
    Maximum memory requested that can be used = 3528424096, at the size = 21000
    ============= Timing linear equation system solver =================
    Size LDA Align. Time(s) GFlops Residual Residual(norm)
    21000 21000 4 666.408 9.2659 3.591869e-10 2.884103e-02

  • Trouble compiling games from ABS and AUR (solved)

    Hi I hope someone can help me. Ive downloaded the tar.gz for drascula from ABS unzipped it and when I try to run makepkg -s I get the error that scummvm 0.12 not found in sync db. I installed the scummvm from ABS manually same error. I then saw it was version 0.11.1 so I uninstalled it and downloaded the correct version from sourceforge. I installed it with ./configure --prefix=/usr/local then make then install. It installed sucessfully as it runs fine but I still recieve the same error when running makepkg -s. What am I doing wrong?
    Last edited by itsgregman (2008-09-24 16:12:04)

    Welcome to the forums.
    Since you installed it manually, pacman doesn't know it's there. The best way to this would have been to edit the scummvm PKGBUILD then install it with pacman. Usually you just need to change the pkgver line to the new version and comment out the md5sums line.
    It's always best to use packages in Arch. You'll forever be running into problems like this if you don't.

  • Trouble compiling package with JDK 1.4

    Hi,
    I just installed JDK 1.4 on a new machine, now I have trouble running compile scripts that used to work on my old machine. The old an new are configured with Win 2000. The following compiles without problem:
    javac -classpath "..." -d "..." "c:\.....\com\...\some package\MyClass.java"
    Changing this statemetn to:
    javac -classpath "..." -d "..." "c:\.....\com\...\some package\*.java"
    should compile all Java files in 'some package', instead what I get is the following error message:
    error: cannot read: c:\.....\com\...\some package\*.java
    The documentation says that this should still work. Anyone aware of changes in 1.4 that could cause this problem?
    Thanks for responding

    As a work-around, you can use some Unix-styled shell (that is, command processor) which expands the *.expression into the list of the matching file names, thus releaving javac from this task. (Caveat: directory names with a space inside will cause problems.)
    I can recommend the Cygnus package (including the command processor "bash") or "MinGW", the Minimalist GNU For Windows with its simpler sh:
    http://www.mingw.org/
    ftp://ftp.franken.de/pub/win32/develop/gnuwin32/mingw32/porters/Mikey/

  • Trouble compiling code

    I'm trying to write a rock, paper, scissors program but am having trouble converting an integer to its appropriate string. Here is the code I have:
    // Rock.java
    // Play Rock, Paper, Scissors with the user
    import java.util.Scanner;
    import java.util.Random;
    public class Rock
    public static void main(String[] args)
         String personPlay; //User's play -- "R", "P", or "S"
         String computerPlay; //Computer's play -- "R", "P", or "S"
         int computerInt; //Randomly generated number used to determine
         //computer's play
    Scanner scan = new Scanner(System.in);
         Random generator = new Random();
         computerInt = generator.nextInt(3);//Generate computer's play (0,1,2)
         //Translate computer's randomly generated play to string
         switch (computerInt)
         case 0:
              System.out.println ("R");
              break;
         case 1:
              System.out.println ("P");
              break;
         case 2:
              System.out.println ("S");
              break;
    System.out.println ("Enter your play: R, P, or S");//Get player's play from input-- note that this is stored as a string
    personPlay = scan.nextLine();
    personPlay = personPlay.toUpperCase();     //Make player's play uppercase for ease of comparison
    System.out.println ("Computer play is " + computerPlay);     //Print computer's play
         //See who won. Use nested ifs instead of &&.
         if (personPlay.equals(computerPlay))
         System.out.println("It's a tie!");
         else
              if (personPlay.equals("R"))
                   if (computerPlay.equals("S"))
                   System.out.println("Rock crushes scissors. You win!!");
              if (computerPlay.equals("P"));
                   System.out.println("Paper covers rock. You lose");
                   if (personPlay.equals("P"))
                        if (computerPlay.equals("R"))
                        System.out.println("Paper covers rock. You win!!");
                        if (computerPlay.equals("S"))
                                  System.out.println("Scissors cuts paper. You lose");
                   if (personPlay.equals("S"))
                             if (computerPlay.equals("R"));
                                       System.out.println("Rock crushes scissors. You lose");
                             if (computerPlay.equals("P"))
                             System.out.println("Scissors cuts paper. You win!!");
              //... Fill in rest of code
    My compiling error is that the string computerPlay was not initialized.. I think I need to do something more in the switch section of the code but can't figure out what. Thanks ahead of time for any advice!

    soccer89 wrote:
    My compiling error is that the string computerPlay was not initialized.. I think I need to do something more in the switch section of the code but can't figure out what. Thanks ahead of time for any advice!Instead of running System.out.println() set the value in your switch statementl then run
    System.out.println(computerPlay);after it's properly set.
    BTW, rather than a switch statement, you could use
    computerPlay = "RPS".substring(computerInt, computerInt + 1);I'll leave you to work out why.
    Winston

  • Trouble compiling a library

    Hi folks, I'm experiencing a trouble using forms & reports on two different platforms: Win XP Prof. SP2 for development and SuSe Ent. 9 Linux for deployment.
    I've inherited from another person an application with some forms, some reports and two libraries (one attached to the forms annd the other attacched to the reports).
    I've modified a function in the library attacched to the reports. It compiles ok on XP.
    Moved the library (.pll file) to Suse I tried to compile with:
    #!/bin/sh
    PATH_SAVE=$PWD
    ORACLE_HOME=/opt/oracle/app/oracle/product/frs10.1.2
    export ORACLE_HOME
    FORMS_PATH=/opt/csa/sw/webapp/FORMS:/opt/csa/sw/webapp/CSA_LIBS
    export FORMS_PATH
    REPORTS_PATH=/opt/csa/sw/webapp/REPORTS:/opt/csa/sw/webapp/CSA_LIBS
    export REPORTS_PATH
    TNS_ADMIN=$ORACLE_HOME/network/admin
    export TNS_ADMIN
    TWO_TASK=csa_v30/csa_v30@csa5i009
    export TWO_TASK
    ORACLE_SID=csa5i009
    export ORACLE_SID
    LD_LIBRARY_PATH=$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/jdk/jre/lib/i386/native_threads:$ORACLE_HOME/jdk/jre/lib/i386:$ORACLE_HOME/lib
    export LD_LIBRARY_PATH
    ORACLE_TERM=vt220
    export ORACLE_TERM
    # COMPILE LIBRARIES
    cd /opt/csa/sw/webapp/CSA_LIBS
    $ORACLE_HOME/bin/frmcmp_batch module=LIB_CSA_FORMS.pll userid=csa_v30/csa_v30@csa5i009 module_type=LIBRARY compile_all=YES logon=YES batch=YES
    # COMPILE FORMS and MENUS
    cd /opt/csa/sw/webapp/FORMS
    for file in *.fmb
    do
    $ORACLE_HOME/bin/frmcmp_batch module=$file userid=csa_v30/csa_v30@csa5i009 module_type=FORM compile_all=YES logon=YES batch=YES
    done
    for file in *.mmb
    do
    $ORACLE_HOME/bin/frmcmp_batch module=$file userid=csa_v30/csa_v30@csa5i009 module_type=MENU compile_all=YES logon=YES batch=YES
    done
    cd $PATH_SAVE
    unset PATH_SAVE
    and obtained:
    PL/SQL ERROR 201 at line 58, coloumn 5
    identifier 'SRW.SET_FOREGROUND_FILL COLOR' must be declared
    FRM-30312: Failed to compile the library
    Some useful data:
    Forms [32 Bit] Version 10.1.2.0.2 (Production)
    Oracle Toolkit Version 10.1.2.0.2 (Production)
    PL/SQL Version 10.1.0.4.2 (Production)
    Oracle Procedure Builder V10.1.2.0.2 - Production
    PL/SQL Editor (c) WinMain Software (www.winmain.com), v1.0 (Production)
    Oracle Query Builder 10.1.2.0.2 - Production
    Oracle Virtual Graphics System Version 10.1.2.0.2 (Production)
    Oracle Tools GUI Utilities Version 10.1.2.0.2 (Production)
    Oracle Multimedia Version 10.1.2.0.2 (Production)
    Oracle Tools Integration Version 10.1.2.0.2 (Production)
    Oracle Tools Common Area Version 10.1.2.0.2
    Oracle CORE     10.1.0.4.0     Production
    And:
    Report Builder 10.1.2.0.2
    ORACLE Server Release 10.1.0.4.2
    Oracle Procedure Builder 10.1.2.0.2
    Oracle ORACLE PL/SQL V10.1.0.4.2 - Production
    Oracle CORE     10.1.0.4.0     Production
    Oracle Tools Integration Services 10.1.2.0.2
    Oracle Tools Common Area 10.1.2.0.2
    Oracle Toolkit 2 for Windows 32-bit platforms 10.1.2.0.2
    Resource Object Store 10.1.2.0.2
    Oracle Help 10.1.2.0.2
    Oracle Sqlmgr 10.1.2.0.2
    Oracle Query Builder 10.1.2.0.2 - Production
    PL/SQL Editor (c) WinMain Software (www.winmain.com), v1.0 (Production)
    Oracle ZRC 10.1.2.0.2
    Oracle XML Developers Kit 10.1.0.4.2 - Production
    Oracle Virtual Graphics System 10.1.2.0.2
    Oracle Image 10.1.2.0.2
    Oracle Multimedia Widget 10.1.2.0.2
    Oracle Tools GUI Utilities 10.1.2.0.2
    Any advice will be welcome
    Thanx
    Rob

    This package currently compiles fine with the latest gcc (at least last time I checked), but still I'm having trouble making a package for it because I don't know how to get it to install to a custom location like the $startdir/pkg directory.

  • Trouble compiling X11r6.8.0

    I'm having a problem compiling this version (trying to build a driver with a change.)
    Here's the error I get:
    fbmmx.c: In function 'negate':
    fbmmx.c:107: error: incompatible type for argument 1 of '__builtin_ia32_pxor'
    fbmmx.c:107: error: incompatible type for argument 2 of '__builtin_ia32_pxor'
    fbmmx.c: In function 'expand_alpha':
    fbmmx.c:166: error: incompatible type for argument 1 of '__builtin_ia32_por'
    fbmmx.c:166: error: incompatible type for argument 2 of '__builtin_ia32_por'
    fbmmx.c:166: error: incompatible types in assignment
    fbmmx.c:168: error: incompatible type for argument 1 of '__builtin_ia32_por'
    fbmmx.c:168: error: incompatible type for argument 2 of '__builtin_ia32_por'
    fbmmx.c:168: error: incompatible types in assignment
    I'm building with this gcc and Arch 0.7.1
    L%  gcc --version
    gcc (GCC) 4.0.3 20051222 (prerelease)
    Copyright (C) 2005 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    Any ideas?
       Thanks.

    Well, it's worth a note that some proprietary display drivers don't like composite and render. The nVidia ones seem to be working pretty well, but ATI always gave trouble with these things. I'm not using composite currently but I did in the past with no problems on nVidia hardware.
    Maybe the above should be stated as "issues with xorg7 tend to be caused by unstable drivers and bad configs."

Maybe you are looking for

  • Returning attribute values from Workflow to a Form

    Hi, I have a workflow action that returns an object. I would like to pass this object a form, via a manual action, and get the values for the object. My form has a base context of variables.user. I have attempted to get the object from the workflow b

  • Can Disk Utility make a "New Image" from a desktop copy of a DVD?

    I have not been able to get Disk Utility to make "new images" of a couple of DVDs. For one of the DVDs, it may have something to do with a hyphen in the title. I haven't a clue why I'm failing with the second of the two DVDs. (Previously, I've had no

  • BBP_PGRP_ASSIGN_BAdI:Purchase Grp & Purchase Org. are not getting changed

    Hi Experts , Actual  Process: As per the normal process when Purchase requisiton is created in ECC then  it will get reflected to SRM through BBP_EXTREQ_TRANSFER.So while SRM creating that it will assign some deflaut purchase group and organisation .

  • How does Lion & FileVault work with Bootcamp

    Hi, I am just installing Lion on my computer. I was wondering if the FileVault will encrypt the Bootcamp stuff please? Thanks

  • Bluetooth connectivity issues?

    Hello, So I bought a Thunderbolt Display to use alongside my Macbook Pro. However, I'm having a bit of a problem. While using the Thunderbolt Display I like to keep my Macbook Pro in clamshell mode. This all works fine, except that for some reason, w