Bug #514

Can not build GMT5 on AIX system using xlc and xlC compilers

Added by Yongjun about 3 years ago. Updated about 2 years ago.

Status:ClosedStart date:2014-02-12
Priority:NormalDue date:
Assignee:Florian% Done:

0%

Category:-
Target version:Candidate for next minor release
Affected version:all Platform:other

Description

When built GMT5 on AIX system using xlc and xlC compilers, I got the following error messages:
[ 9%] Building C object src/CMakeFiles/gmtlib.dir/common_sighandler.c.o
"gmt-5.1.0/src/common_sighandler.c", line 144.21: 1506-022 (S) "rip" is not a member of "struct __jmpbuf".
"gmt-5.1.0/src/common_sighandler.c", line 163.87: 1506-045 (S) Undeclared identifier sys_siglist.

How can I solve this problem? Thank you very much!

History

#1 Updated by Paul about 3 years ago

  • Status changed from New to Feedback

This section of GMT is very non-portable, with different structure members and approaches on different non-Linux systems. Would you be able to help determine what changes would need to be done to work on AIX? See common_sighandler.c and the various #define statements hear the top to abstract out this ugly behavior. If you are able to find another #ifdef AIX (not sure what the name is) and define a proper UC_IP function then let us know. None of us have access to AIX.
An alternative is to add an #else clause to do something benign and basically disable this aspect of the code (instead of not compiling as now).

#2 Updated by Paul about 3 years ago

  • Tracker changed from Support to Bug
  • Project changed from GMT/FORTRAN API to GMT
  • Assignee set to Florian
  • Target version set to Candidate for next minor release
  • Affected version set to all
  • Platform set to other

Did not notice this was posted under GMT FORTRAN API. I'm moving it to the main GMT tracking since it is a problem in GMT, not the Fortran API. I am also flagging it as a bug since it causes failure to install. And finally, passing the baton to Florian.

#3 Updated by Florian about 3 years ago

In the next release additional tests should ensure that sighandler can be compiled (r12484). Meanwhile, the easiest way to solve this is to disable the signal handler altogether by adding

add_definitions(-DNO_SIGHANDLER)

in ConfigUser.cmake

#4 Updated by Florian over 2 years ago

  • Status changed from Feedback to Resolved

#5 Updated by Remko about 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF