Archived

This forum has been archived. Please start a new discussion on GitHub.

Having problems building from source

All i really wanted was the php extension but since my CentOS 5,6 is running cpanel
and php 5.3.8 i can't run the RPM or yum install.

And building from source just spits out error after error.

the latest is
ice-compile:
Created dir: /home/synt/ice/Ice-3.4.2/java/depcache

BUILD FAILED
/home/synt/ice/Ice-3.4.2/java/build.xml:181: Could not create task or type of type: depend.

Ant could not find the task or a class this task relies upon.

This is common and has a number of causes; the usual
solutions are to read the manual pages then download and
install needed JAR files, or fix the build file:
 - You have misspelt 'depend'.
   Fix: check your spelling.
 - The task needs an external JAR file to execute
     and this is not found at the right place in the classpath.
   Fix: check the documentation for dependencies.
   Fix: declare the task.
 - The task is an Ant optional task and the JAR file and/or libraries
     implementing the functionality were not found at the time you
     yourself built your installation of Ant from the Ant sources.
   Fix: Look in the ANT_HOME/lib for the 'ant-' JAR corresponding to the
     task and make sure it contains more than merely a META-INF/MANIFEST.MF.
     If all it contains is the manifest, then rebuild Ant with the needed
     libraries present in ${ant.home}/lib/optional/ , or alternatively,
     download a pre-built release version from apache.org
 - The build file was written for a later version of Ant
   Fix: upgrade to at least the latest release version of Ant
 - The task is not an Ant core or optional task
     and needs to be declared using <taskdef>.
 - You are attempting to use a task defined using
    <presetdef> or <macrodef> but have spelt wrong or not
   defined it at the point of use

Remember that for JAR files to be visible to Ant tasks implemented
in ANT_HOME/lib, the files must be in the same directory or on the
classpath

Please neither file bug reports on this problem, nor email the
Ant mailing lists, until all of these causes have been explored,
as this is not an Ant bug.

Total time: 9 seconds
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/synt/ice/Ice-3.4.2/java'
make: *** [all] Error 1

So how do i proceede and why is there no ./configure to get all enviroment directories the make needs?

Comments

  • bernard
    bernard Jupiter, FL
    Hi Jimmy,

    Welcome to our forums!

    This error shows that you don't have the ant task 'depend' installed; I think it's in the ant-nodeps rpm, so
    #yum install ant-nodeps
    
    should fix it.

    However, since you are only interested in Ice for PHP, you don't need Ice for Java or ant. You could simply build Ice for C++ (cd cpp/src ; make) and then Ice for PHP (cd php ; make).

    Cheers,
    Bernard
  • Getting another error when building only the cpp folder

    In file included from ./NameIndex.h:29,
                     from NameIndex.cpp:27:
    /home/synt/ice/Ice-3.4.2/cpp/demo/Freeze/phonebook/PhoneBook.h:1273:5: warning: no newline at end of file
    /home/synt/ice/Ice-3.4.2/cpp/demo/Freeze/phonebook/PhoneBook.h:21:1: error: unterminated #ifndef
    c++ -c -I. -I../../../include   -Wall -D_REENTRANT -fPIC -g  PhoneBook.cpp
    c++ -c -I. -I../../../include   -Wall -D_REENTRANT -fPIC -g  Grammar.cpp
    c++ -c -I. -I../../../include   -Wall -D_REENTRANT -fPIC -g  Scanner.cpp
    c++ -c -I. -I../../../include   -Wall -D_REENTRANT -fPIC -g  Parser.cpp
    NameIndex.cpp:41: error: cannot define member function âDemo::Contact::NameIndex::NameIndexâ within âDemo::Contactâ
    NameIndex.cpp:47: error: cannot define member function âDemo::Contact::NameIndex::findFirstâ within âDemo::Contactâ
    NameIndex.cpp:55: error: cannot define member function âDemo::Contact::NameIndex::findâ within âDemo::Contactâ
    NameIndex.cpp:63: error: cannot define member function âDemo::Contact::NameIndex::countâ within âDemo::Contactâ
    NameIndex.cpp:71: error: cannot define member function âDemo::Contact::NameIndex::marshalKeyâ within âDemo::Contactâ
    NameIndex.cpp:86: error: cannot define member function âDemo::Contact::NameIndex::marshalKeyâ within âDemo::Contactâ
    NameIndex.cpp:93: error: expected `}' at end of input
    /home/synt/ice/Ice-3.4.2/cpp/demo/Freeze/phonebook/PhoneBook.h:1266: error: expected unqualified-id at end of input
    /home/synt/ice/Ice-3.4.2/cpp/demo/Freeze/phonebook/PhoneBook.h:1266: error: expected `}' at end of input
    make[3]: *** [NameIndex.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    
  • I have no idea what this error is about. It looks almost as if PhoneBook.h somehow got truncated when you extracted the files, although I don't know how this could happen. Can you check this please? Note that this is not really part of Ice, but simply a demo that shows certain features of Freeze.
  • bernard
    bernard Jupiter, FL
    It could be a problem with parallel builds:
    make[3]: *** Waiting for unfinished jobs....
    

    i.e. two processes created PhoneBook.h at about the same time, and the resulting file was truncated.

    I'd suggest to simply clean and rebuild this directory (without -j).

    Best regards,
    Bernard
  • Ah, that explains it.
    Always do make with -j5.

    When i try to use slice2php i get an error
    error: Can't open include file "Ice/SliceChecksumDict.ice"
        #include <Ice/SliceChecksumDict.ice>
    1 error in preprocessor.
    


    Also is there anything else than moving IcePHP.so to extension dir and adding the extension in php.ini i need to do?
    since there is no ice info when i do php -m
  • bernard
    bernard Jupiter, FL
    You need to add -I<location of your Ice slice directory> to your slice2php command; see Using the Slice Compilers - Ice 3.4 - ZeroC

    Best regards,
    Bernard
  • I just tried using the -I/path/to/Slice/
    but same error
    also tried with path to include dir
    Ice dir inside the include dir
    nothing seems to do the trick
  • This is really just a plain old C++ preprocessor at work here. You could try to run a preprocessor stand-alone on the files with the same options to find out what's going wrong. Ice doesn't do anything special here, it simply passes on the relevant options to the preprocessor (in this case one that is linked with slice2php instead of a stand-alone process, but that doesn't really change anything).
  • Really have no idea on what you mean, perhaps the level went way past my knowledge there.

    i need either commands i can run or a guide on how to do it.
  • Progress.
    I've finsally managed to get IcePHP.so to load but when i try some pages it still says
    Fatal error: Call to undefined function Ice_loadProfile()
    

    Or
    Fatal error: Call to undefined function Ice_intversion()
    


    When doing php-m i get ice in the list.
    also done a restart of the apache.
  • bernard
    bernard Jupiter, FL
    Did you edit your php.ini file? See for example http://www.zeroc.com/forums/help-center/2356-problems-installation-icephp.html

    Cheers,
    Bernard
  • yea since ice loads
    added the Ice.PHP.so
    and changed extension dir to ice installation/lib

    also added the ice.slice = <path to Murmur.ice>
  • Any idea on what i can do?