HyPhy message board
http://www.hyphy.org/cgi-bin/hyphy_forums/YaBB.pl
HYPHY Package >> HyPhy bugs >> compiling HYPHY on powerpc-ibm-aix5.2.0.0
http://www.hyphy.org/cgi-bin/hyphy_forums/YaBB.pl?num=1116514305

Message started by avilella on May 19th, 2005 at 7:51am

Title: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Post by avilella on 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.

Title: Re: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Post by Sergei on 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

Title: Re: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Post by Sergei on 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

Title: Re: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Post by avilella on 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

[...]

Title: Re: compiling HYPHY on powerpc-ibm-aix5.2.0.0
Post by Sergei on 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

HyPhy message board » Powered by YaBB 2.5.2!
YaBB Forum Software © 2000-2024. All Rights Reserved.