Malcolm, Add the following line to the foreign-*-parser.y files somewhere below the includes:
char* stpcpy(char* s1, const char* s2); This did the trick for me. Best, Tamas On 31 Oct 2012, at 16:47, Malcolm Tobias <[email protected]> wrote: > Gabor, > I tried what you recommended, but I'm still getting an error (and many > warnings which I'm ignoring for now) when compiling foreign-gml-parser.c: > icc -std=gnu99 -I/export/R-2.15.2/lib64/R/include -DNDEBUG > -I/usr/local/include -DUSING_R -I. -Ics -Iglpk -Iglpk/amd -Iglpk/colamd -g > -O3 -wd188 -ip -I/usr/include/libxml2 -g -O3 -wd188 -ip > -I/usr/include/libxml2 -DNDEBUG -DPACKAGE_VERSION=\"0.6\" -DINTERNAL_ARPACK > -DIGRAPH_THREAD_LOCAL=/**/ -fpic -g -O3 -wd188 -ip -c foreign-gml-parser.c > -o foreign-gml-parser.o > ... > foreign-gml-parser.c(971): error: expression must have arithmetic type > return yystpcpy (yyres, yystr) - yyres; > ... > compilation aborted for foreign-gml-parser.c (code 2) > make: *** [foreign-gml-parser.o] Error 2 > Any suggestions? > Malcolm > On Wednesday 31 October 2012 09:47:04 Gábor Csárdi wrote: > > Hi, > > > > the problem is that you added the function to all these files, and > > then there will be multiple copies of it at linking time. Take a look > > at this patch: > > http://bazaar.launchpad.net/~igraph/igraph/0.6-main/revision/2989 > > > > If you want to build the R package, then you only need to update > > igraph_types.h and other.c, exactly in the way shown in the patch. > > (And undo your other updates.) > > > > Unfortunately I cannot try this with the intel compilers now, but if > > you experience more problems, please let me know. > > > > Gabor > > > > On Wed, Oct 31, 2012 at 9:46 AM, Malcolm Tobias <[email protected]> wrote: > > > I'm attempting to install igraph 0.6-3 using the Intel 12.1 compilers. > > > > > > I've encountered this error: > > > > > > foreign-gml-parser.c(971): error: expression must be a pointer to a > > > complete > > > object type > > > > > > which appears to be a known bug: > > > > > > http://lists.nongnu.org/archive/html/igraph-help/2012-06/msg00048.html > > > > > > and the fix is to add: > > > > > > char* stpcpy(char* s1, const char* s2) { > > > > > > char* result = strcpy(s1, s2); > > > > > > return result + strlen(s1); > > > > > > } > > > > > > This resolves the error message, but then I found I needed to apply it to: > > > > > > foreign-lgl-parser.c > > > > > > foreign-ncol-parser.c > > > > > > foreign-pajek-parser.c > > > > > > While this fixes the compilation of the individual files, I'm getting a > > > link-time error: > > > > > > icpc -shared -L/export/intel/Compiler/12.1/lib/intel64/ -o igraph.so > > > DensityGrid.o DensityGrid_3d.o NetDataTypes.o NetRoutines.o adjlist.o > > > amd_1.o amd_2.o amd_aat.o amd_control.o amd_defaults.o amd_dump.o > > > amd_info.o > > > amd_order.o amd_post_tree.o amd_postorder.o amd_preprocess.o amd_valid.o > > > arpack.o array.o atlas.o attributes.o basic_query.o bfgs.o bigint.o > > > bignum.o > > > bipartite.o blas.o bliss.o bliss_eqrefhash.o bliss_graph.o bliss_heap.o > > > bliss_orbit.o bliss_partition.o bliss_timer.o bliss_utils.o cattributes.o > > > centrality.o cliques.o clustertool.o cocitation.o cohesive_blocks.o > > > colamd.o > > > community.o complex.o components.o conversion.o cores.o cs_add.o cs_amd.o > > > cs_chol.o cs_cholsol.o cs_compress.o cs_counts.o cs_cumsum.o cs_dfs.o > > > cs_dmperm.o cs_droptol.o cs_dropzeros.o cs_dupl.o cs_entry.o cs_ereach.o > > > cs_etree.o cs_fkeep.o cs_gaxpy.o cs_happly.o cs_house.o cs_ipvec.o > > > cs_leaf.o > > > cs_load.o cs_lsolve.o cs_ltsolve.o cs_lu.o cs_lusol.o cs_malloc.o > > > cs_maxtrans.o cs_multiply.o cs_norm.o cs_permute.o cs_pinv.o cs_post.o > > > cs_print.o cs_pvec.o cs_qr.o cs_qrsol.o cs_randperm.o cs_reach.o > > > cs_scatter.o cs_scc.o cs_schol.o cs_spsolve.o cs_sqr.o cs_symperm.o > > > cs_tdfs.o cs_transpose.o cs_updown.o cs_usolve.o cs_util.o cs_utsolve.o > > > decomposition.o dgetv0.o distances.o dlaqrb.o dmout.o dnaitr.o dnapps.o > > > dnaup2.o dnaupd.o dnconv.o dneigh.o dneupd.o dngets.o dqueue.o drl_graph.o > > > drl_graph_3d.o drl_layout.o drl_layout_3d.o drl_parse.o dsaitr.o dsapps.o > > > dsaup2.o dsaupd.o dsconv.o dseigt.o dsesrt.o dseupd.o dsgets.o dsortc.o > > > dsortr.o dstatn.o dstats.o dstqrb.o dvout.o eigen.o error.o evolver_cit.o > > > f2c_dummy.o fast_community.o feedback_arc_set.o flow.o foreign-dl-lexer.o > > > foreign-dl-parser.o foreign-gml-lexer.o foreign-gml-parser.o > > > foreign-graphml.o foreign-lgl-lexer.o foreign-lgl-parser.o > > > foreign-ncol-lexer.o foreign-ncol-parser.o foreign-pajek-lexer.o > > > foreign-pajek-parser.o foreign.o forestfire.o fortran_intrinsics.o games.o > > > gengraph_box_list.o gengraph_degree_sequence.o > > > gengraph_graph_molloy_hash.o > > > gengraph_graph_molloy_optimized.o gengraph_mr-connected.o > > > gengraph_powerlaw.o gengraph_random.o glpapi01.o glpapi02.o glpapi03.o > > > glpapi04.o glpapi05.o glpapi06.o glpapi07.o glpapi08.o glpapi09.o > > > glpapi10.o > > > glpapi11.o glpapi12.o glpapi13.o glpapi14.o glpapi15.o glpapi16.o > > > glpapi17.o > > > glpapi18.o glpapi19.o glpavl.o glpbfd.o glpbfx.o glpcpx.o glpdmp.o > > > glpdmx.o > > > glpenv01.o glpenv02.o glpenv03.o glpenv04.o glpenv05.o glpenv06.o > > > glpenv07.o > > > glpenv08.o glpfhv.o glpgmp.o glphbm.o glpini01.o glpini02.o glpios01.o > > > glpios02.o glpios03.o glpios04.o glpios05.o glpios06.o glpios07.o > > > glpios08.o > > > glpios09.o glpios10.o glpios11.o glpios12.o glpipm.o glpk_support.o > > > glplib01.o glplib02.o glplib03.o glplpf.o glplpx01.o glplpx02.o glplpx03.o > > > glpluf.o glplux.o glpmat.o glpmpl01.o glpmpl02.o glpmpl03.o glpmpl04.o > > > glpmpl05.o glpmpl06.o glpmps.o glpnet01.o glpnet02.o glpnet03.o glpnet04.o > > > glpnet05.o glpnet06.o glpnet07.o glpnet08.o glpnet09.o glpnpp01.o > > > glpnpp02.o > > > glpnpp03.o glpnpp04.o glpnpp05.o glpqmd.o glprgr.o glprng01.o glprng02.o > > > glpscf.o glpscl.o glpsdf.o glpspm.o glpspx01.o glpspx02.o glpsql.o > > > glpssx01.o glpssx02.o glptsp.o gml_tree.o heap.o igraph_buckets.o > > > igraph_estack.o igraph_fixed_vectorlist.o igraph_grid.o igraph_hashtable.o > > > igraph_heap.o igraph_hrg.o igraph_hrg_types.o igraph_marked_queue.o > > > igraph_psumtree.o igraph_set.o igraph_stack.o igraph_strvector.o > > > igraph_trie.o infomap.o infomap_FlowGraph.o infomap_Greedy.o > > > infomap_Node.o > > > interrupt.o iterators.o ivout.o lapack.o layout.o matching.o math.o > > > matrix.o > > > memory.o microscopic_update.o mixing.o motifs.o operators.o > > > optimal_modularity.o other.o pottsmodel_2.o progress.o qsort.o qsort_r.o > > > random.o revolver_cit.o revolver_grow.o revolver_ml_cit.o rinterface.o > > > scg.o > > > scg_approximate_methods.o scg_exact_scg.o scg_kmeans.o > > > scg_optimal_method.o > > > scg_utils.o second.o separators.o spanning_trees.o sparsemat.o > > > spectral_properties.o spmatrix.o st-cuts.o statusbar.o > > > structural_properties.o structure_generators.o sugiyama.o topology.o > > > type_indexededgelist.o types.o vector.o vector_ptr.o version.o visitors.o > > > walktrap.o walktrap_communities.o walktrap_graph.o walktrap_heap.o > > > zeroin.o > > > -lxml2 -lz -lm -lgmp -lifport -lifcore -limf -lsvml -lm -lipgo -lirc > > > -lpthread -lirc_s -ldl -L/export/intel/Compiler/12.1/mkl/lib/intel64/ > > > -lmkl_intel_lp64 -lmkl_sequential -lmkl_lapack95_lp64 -lmkl_core -lifport > > > -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl > > > > > > foreign-lgl-parser.o: In function `stpcpy': > > > > > > /tmp/Rtmpp3Ocy4/R.INSTALL5871ca99a65/igraph/src/foreign-lgl-parser.y:63: > > > multiple definition of `stpcpy' > > > > > > foreign-gml-parser.o:/tmp/Rtmpp3Ocy4/R.INSTALL5871ca99a65/igraph/src/foreign-gml-parser.y:65: > > > first defined here > > > > > > foreign-ncol-parser.o: In function `stpcpy': > > > > > > /tmp/Rtmpp3Ocy4/R.INSTALL5871ca99a65/igraph/src/foreign-ncol-parser.y:65: > > > multiple definition of `stpcpy' > > > > > > foreign-gml-parser.o:/tmp/Rtmpp3Ocy4/R.INSTALL5871ca99a65/igraph/src/foreign-gml-parser.y:65: > > > first defined here > > > > > > foreign-pajek-parser.o: In function `stpcpy': > > > > > > /tmp/Rtmpp3Ocy4/R.INSTALL5871ca99a65/igraph/src/foreign-pajek-parser.y:67: > > > multiple definition of `stpcpy' > > > > > > foreign-gml-parser.o:/tmp/Rtmpp3Ocy4/R.INSTALL5871ca99a65/igraph/src/foreign-gml-parser.y:65: > > > first defined here > > > > > > make: *** [igraph.so] Error 1 > > > > > > ERROR: compilation failed for package ‘igraph’ > > > > > > * removing ‘/export/R-2.15.2/lib64/R/library/igraph’ > > > > > > Any suggestions? > > > > > > Malcolm > > > > > > -- > > > > > > Malcolm Tobias > > > > > > 314.362.1594 > > > > > > > > > _______________________________________________ > > > igraph-help mailing list > > > [email protected] > > > https://lists.nongnu.org/mailman/listinfo/igraph-help > > > > > > > > > > > > -- > Malcolm Tobias > 314.362.1594 > _______________________________________________ > igraph-help mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/igraph-help _______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
