igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] Compiling igraph with the Intel compilers


From: Tamás Nepusz
Subject: Re: [igraph] Compiling igraph with the Intel compilers
Date: Wed, 31 Oct 2012 20:49:37 +0100

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 <address@hidden> 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 <address@hidden> 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
> > > address@hidden
> > > https://lists.nongnu.org/mailman/listinfo/igraph-help
> > >
> > 
> > 
> > 
> > 
> -- 
> Malcolm Tobias
> 314.362.1594
> _______________________________________________
> igraph-help mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/igraph-help




reply via email to

[Prev in Thread] Current Thread [Next in Thread]