Welcome, Guest. Please Login
YaBB - Yet another Bulletin Board
 
  HomeHelpSearchLogin  
 
compiling HYPHY on powerpc-ibm-aix5.2.0.0 (Read 3422 times)
avilella
YaBB Newbies
*
Offline


I love YaBB 1G - SP1!

Posts: 35
compiling HYPHY on powerpc-ibm-aix5.2.0.0
May 19th, 2005 at 7:51am
 
Hi all,

I'm trying to compile HYPHY on a nice powerpc-ibm-aix5.2.0.0 with lots of nodes to take advantage of parallelization, but there seems to be a problem with library versions:

----

sp2n1 >sh build.sh SP
AIX
build.sh[11]: ==: 0403-012 A test command parameter is not valid.
build.sh[16]: ==: 0403-012 A test command parameter is not valid.
COMPILER_FLAGS= -w -c -O3 -fpermissive -I/scratch_tmp/jrozas/hyphy_latest/HYPHY_Source/Source -I/scratch_tmp/jrozas/hyphy_latest/HYPHY_Source/Source/SQLite
+--------------------------------------+
|Building a single threaded HYPHYKernel|
+--------------------------------------+
Building HYNetInterface.cpp
Complete
Building Net.cpp
Complete
Building baseobj.cpp
Complete
Building batchlan.cpp
Complete
Building batchlan2.cpp
Complete
Building calcnode.cpp
Complete
Building category.cpp
Complete
Building error.cpp
Complete
Building fisher_exact.cpp
Complete
Building likefunc.cpp
Complete
Building list.cpp
Complete
Building matrix.cpp
Complete
Building nexus.cpp
Complete
Building parser.cpp
Complete
Building parser2.cpp
Complete
Building polynoml.cpp
Complete
Building regex.cpp
Complete
Building sequence.cpp
Complete
Building site.cpp
Complete
Building strings.cpp
Complete
Building main-unix.cp
In file included from main-unix.cp:29:
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:2031: declaration
   of C function `int mvwprintw(WINDOW*, int, int, ...)' conflicts with
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:401: previous
   declaration `int mvwprintw(WINDOW*, int, int, char*, ...)' here
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:2032: declaration
   of C function `int mvwscanw(WINDOW*, int, int, ...)' conflicts with
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:402: previous
   declaration `int mvwscanw(WINDOW*, int, int, char*, ...)' here
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:2034: declaration
   of C function `int overwrite(WINDOW*, WINDOW*)' conflicts with
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:1293: previous
   declaration `int overwrite(const WINDOW*, WINDOW*)' here
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:2037: declaration
   of C function `int waddstr(WINDOW*, char*)' conflicts with
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:1299: previous
   declaration `int waddstr(WINDOW*, const char*)' here
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:2047: declaration
   of C function `int wprintw(WINDOW*, ...)' conflicts with
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:404: previous
   declaration `int wprintw(WINDOW*, char*, ...)' here
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:2049: declaration
   of C function `int wscanw(WINDOW*, ...)' conflicts with
/usr/local/gcc3.1/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.1/include/curses.h:404: previous
   declaration `int wscanw(WINDOW*, char*, ...)' here
main-unix.cp:40:31: curl/curl.h: No such file or directory
main-unix.cp: In function `bool Get_a_URL(_String&, _String*)':
main-unix.cp:396: `CURL' undeclared (first use this function)
main-unix.cp:396: (Each undeclared identifier is reported only once for each
   function it appears in.)
main-unix.cp:396: `curl' undeclared (first use this function)
main-unix.cp:397: `CURLcode' undeclared (first use this function)
main-unix.cp:397: parse error before `;' token
main-unix.cp:398: `curl_easy_init' undeclared (first use this function)
main-unix.cp:401: `CURL_ERROR_SIZE' undeclared (first use this function)
main-unix.cp:419: `CURLOPT_URL' undeclared (first use this function)
main-unix.cp:419: `curl_easy_setopt' undeclared (first use this function)
main-unix.cp:420: `CURLOPT_ERRORBUFFER' undeclared (first use this function)
main-unix.cp:420: `cErr' undeclared (first use this function)
main-unix.cp:422: `CURLOPT_FILE' undeclared (first use this function)
main-unix.cp:427: `CURLOPT_USERAGENT' undeclared (first use this function)
main-unix.cp:429: `CURLOPT_WRITEFUNCTION' undeclared (first use this function)
main-unix.cp:434: `CURLOPT_NOPROGRESS' undeclared (first use this function)
main-unix.cp:436: `res' undeclared (first use this function)
main-unix.cp:436: `curl_easy_perform' undeclared (first use this function)
main-unix.cp:437: `curl_easy_cleanup' undeclared (first use this function)
Error during compilation

----

It seems that the if's in line 11 and 16 fail, then tries to use gcc instead of xlc.

Later, it fails with mvwprintw function: don't know if it is a version problem or what.

This computer has a:

/usr/local/gcc3.3.4/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.4/include/curses.h

... instead of the gcc3.1 version.

Will the compilation improve with gcc3.3.4 version?

Does hyphy depends on a specific version of curses, curl, ssl, crypto, pthread and/or mpi/mpich.

Thanks in advance,

    Albert.
Back to top
 
 
IP Logged
 
Sergei
YaBB Administrator
*****
Offline


Datamonkeys are forever...

Posts: 1658
UCSD
Gender: male
Re: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Reply #1 - May 19th, 2005 at 8:41am
 
Dear Albert,

I have successfully compiled HyPhy on an AIX machine using xlc, but the current build script doesn't support it and the source needs to be #ifdefed in 2 or 3 places for xlc to accept it. I will modify the scripts and insert appropriate ifdefs and get back to you later today.

Cheers,
Sergei
Back to top
 

Associate Professor
Division of Infectious Diseases
Division of Biomedical Informatics
School of Medicine
University of California San Diego
WWW WWW  
IP Logged
 
Sergei
YaBB Administrator
*****
Offline


Datamonkeys are forever...

Posts: 1658
UCSD
Gender: male
Re: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Reply #2 - May 19th, 2005 at 11:07am
 
Dear Albert,

I have updated the build.sh script to compile out of the box on an AIX machine with xlC (32 bit mode - no noticeable difference in performance with 64 bit in my testing). Download the latest version and run
$bash build.sh MPI

or

$bash build.sh MP2

Let me know if this works.

Cheers,
Sergei
Back to top
 

Associate Professor
Division of Infectious Diseases
Division of Biomedical Informatics
School of Medicine
University of California San Diego
WWW WWW  
IP Logged
 
avilella
YaBB Newbies
*
Offline


I love YaBB 1G - SP1!

Posts: 35
Re: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Reply #3 - May 20th, 2005 at 2:17am
 
The AIX is still not recognized in lines 12 and 17 but I could manually tweak build.sh to a build.sh.aix.mpi.

I'm having some strange xlC troubles with some of the files like batchlan.cpp and likefunc.cpp:

Only this prompt appears:

xlC: 1501-224 fatal error in /usr/vac/exe/ipa: signal 24 received

...still investigating.

BTW: there are 2 or 3 warning that pop up with xlC that may be easily fixed initializing the vars:

sp2n1 >sh build.aix.mpi
COMPILER=xlC, xlc
COMPILER_FLAGS= -c -qchar=signed -O5 -D__HYPHY_NO_CURL__
+-----------------------------------------------------------+
|Building a single-threaded HYPHYKernelMPI for MPI          |
+-----------------------------------------------------------+
File HYNetInterface.cpp is up to date
File Net.cpp is up to date
File baseobj.cpp is up to date
File batchlan.cpp is up to date
File batchlan2.cpp is up to date
File calcnode.cpp is up to date
Building category.cpp
    1500-036: (I) The NOSTRICT option (default at OPT(3)) has the potential to alter the semantics of a program.  Please refer to documentation on the STRICT/NOSTRICT option for more information.
Complete
Building error.cpp
Complete
Building fisher_exact.cpp
    1500-036: (I) The NOSTRICT option (default at OPT(3)) has the potential to alter the semantics of a program.  Please refer to documentation on the STRICT/NOSTRICT option for more information.
Complete
Building likefunc.cpp
"likefunc.cpp", line 5978.45: 1540-1102 (W) "D" might be used before it is set.
"likefunc.cpp", line 6239.45: 1540-1102 (W) "D" might be used before it is set.
"likefunc.cpp", line 6495.26: 1540-1102 (W) "lastError" might be used before it is set.

[...]

Building polynoml.cpp
"polynoml.cpp", line 1023.81: 1540-1102 (W) "term2" might be used before it is set.
    1500-036: (I) The NOSTRICT option (default at OPT(3)) has the potential to alter the semantics of a program.  Please refer to documentation on the STRICT/NOSTRICT option for more information.
Complete
Building regex.cpp
Complete
Building sequence.cpp
"sequence.cpp", line 606.47: 1540-1102 (W) "pos1" might be used before it is set.
    1500-036: (I) The NOSTRICT option (default at OPT(3)) has the potential to alter the semantics of a program.  Please refer to documentation on the STRICT/NOSTRICT option for more information.
Complete

[...]
Back to top
 
 
IP Logged
 
Sergei
YaBB Administrator
*****
Offline


Datamonkeys are forever...

Posts: 1658
UCSD
Gender: male
Re: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Reply #4 - May 20th, 2005 at 7:42am
 
Dear Albert,

Quote:
The AIX is still not recognized in lines 12 and 17 but I could manually tweak build.sh to a build.sh.aix.mpi.


Try calling $bash build.sh instead of $sh build.sh. Older 'sh' versions may not like the string comparison '==' syntax. Try to replace == with -eq (might be more compatible) and see if that works.

Quote:
I'm having some strange xlC troubles with some of the files like batchlan.cpp and likefunc.cpp:



Only this prompt appears:

xlC: 1501-224 fatal error in /usr/vac/exe/ipa: signal 24 received


batchlan.cpp and likefunc.cpp have large functions which xlC may need loads of memory to optimize at -O5. Try -O3 (or -O2) instead maybe?

Quote:
BTW: there are 2 or 3 warning that pop up with xlC that may be easily fixed initializing the vars:



My xlC gives me the same warnings; I checked the code to make sure those weren't bugs, which they aren't; all the warnings are in legacy functions that no longer are used in the main code, and should be pruned out - I am going to do that in the next maintenance release.

Best,
Sergei
Back to top
 

Associate Professor
Division of Infectious Diseases
Division of Biomedical Informatics
School of Medicine
University of California San Diego
WWW WWW  
IP Logged