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 > -- Gabor Csardi <[email protected]> MTA KFKI RMKI _______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
