Activity log for bug #1157217

Date Who What changed Old value New value Message
2013-03-19 14:26:29 Gábor Csárdi bug added bug
2013-03-19 15:03:41 Gábor Csárdi description Boyan Bejanov reported this issue: I ran into some trouble compiling and installing the igraph package in linux (RHEL 5.8) using the Intel compiler collection (the Cluster Studio XE 2013). You are probably aware that there is a problem with the stpcpy() function. The man page for stpcpy says “This function is not part of the ANSI or POSIX standards, and is not customary on Unix systems, but is not a GNU invention either. Perhaps it comes from MS-DOS. “ I know that stpcpy is provided by the glibc library and gcc is happy to provide a definition for it in string.h and to link it successfully. When the Intel compiler runs in gcc-compatibility mode, it fails to provide stpcpy (in my opinion, this is Intel’s problem, I will be e-mailing them shortly), although it manages to trick the preprocessor into thinking that this is the gnu compiler running, and so the compilation fails. I modified the foreign-*-parser.c files to check explicitly for the Intel compiler. Specifically, in foreign-gml-parser.c I modified line 901 from # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE to # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE && !defined __INTEL_COMPILER and identical one-line changes in the other foreign-*-parser.c files. With these changes the igraph package compiled and installed successfully. Boyan Bejanov reported this issue: I ran into some trouble compiling and installing the igraph package in linux (RHEL 5.8) using the Intel compiler collection (the Cluster Studio XE 2013). You are probably aware that there is a problem with the stpcpy() function. The man page for stpcpy says “This function is not part of the ANSI or POSIX standards, and is not customary on Unix systems, but is not a GNU invention either. Perhaps it comes from MS-DOS. “ I know that stpcpy is provided by the glibc library and gcc is happy to provide a definition for it in string.h and to link it successfully. When the Intel compiler runs in gcc-compatibility mode, it fails to provide stpcpy (in my opinion, this is Intel’s problem, I will be e-mailing them shortly), although it manages to trick the preprocessor into thinking that this is the gnu compiler running, and so the compilation fails. I modified the foreign-*-parser.c files to check explicitly for the Intel compiler. Specifically, in foreign-gml-parser.c I modified line 901 from # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE to # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE && !defined __INTEL_COMPILER and identical one-line changes in the other foreign-*-parser.c files. With these changes the igraph package compiled and installed successfully. ... I installed the latest version available on CRAN, R-2.15.3 and igraph_0.6.5-1. ...
2013-03-23 20:18:38 Gábor Csárdi igraph: importance Undecided Low
2013-03-23 20:18:40 Gábor Csárdi igraph: status New Confirmed
2013-03-23 20:18:42 Gábor Csárdi igraph: assignee Gábor Csárdi (gabor.csardi)
2013-03-23 20:18:45 Gábor Csárdi igraph: milestone 0.7
2013-03-24 02:10:10 Gábor Csárdi igraph: status Confirmed Fix Committed