make --> duplicate symbol GDLArray

Help
2011-10-19
2013-06-03
  • Hi there,
    I am trying to install GDL on a MacPro under MacOS 10.7.1.
    For my machine spec :

    % uname -a
    Darwin loamp-nuag18.univ-lille1.fr 11.1.0 Darwin Kernel Version 11.1.0: Tue Jul 26 16:07:11 PDT 2011; root:xnu-1699.22.81~1/RELEASE_X86_64 x86_64 i386

    % sw_vers
    ProductName:    Mac OS X
    ProductVersion: 10.7.1
    BuildVersion:   11B26

    I installed successfully
    readline-6.2
    gsl-1.15
    cmake-2.8.6
    plplot-5.9.9

    I am using the CVS version retrieved yesterday (18 Oct 2011).

    I first do

    ./configure -with-plplotdir=/Users/compiegne/softs/gdl-0.9.1/required/plplot-5.9.9/Compilation -with-gsldir=/Users/compiegne/softs/gdl-0.9.1/required/gsl-1.15/Compilation -with-readlinedir=/Users/compiegne/softs/gdl-0.9.1/required/readline-6.2/Compilation -with-Magick=no -with-python=no -with-netcdf=no -with-hdf=no -with-hdf5=no -with-wxWidgets=no

    Then 'make' stops with the following message :

    /bin/sh ../libtool -tag=CXX   -mode=link g++  -g -O2  -fopenmp -o gdl gdl-allix.o gdl-assocdata.o gdl-basic_fun_cl.o gdl-basic_fun.o gdl-basic_fun_jmg.o gdl-basic_op.o gdl-basic_op_new.o gdl-basic_pro.o gdl-basic_pro_jmg.o gdl-CFMTLexer.o gdl-color.o gdl-convert2.o gdl-datatypes.o gdl-dcommon.o gdl-dcompiler.o gdl-default_io.o gdl-dinterpreter.o gdl-dnode.o gdl-dpro.o gdl-dstructdesc.o gdl-dstructgdl.o gdl-dvar.o gdl-envt.o gdl-extrat.o gdl-FMTIn.o gdl-FMTLexer.o gdl-fmtnode.o gdl-FMTOut.o gdl-FMTParser.o gdl-gdleventhandler.o gdl-gdlexception.o gdl-gdlgstream.o gdl-GDLInterpreter.o gdl-GDLLexer.o gdl-GDLParser.o gdl-gdlpsstream.o gdl-gdlsvgstream.o gdl-gdlpython.o gdl-GDLTreeParser.o gdl-gdlwinstream.o gdl-gdlxstream.o gdl-getfmtast.o gdl-graphics.o gdl-gsl_fun.o gdl-ifmt.o gdl-initct.o gdl-initsysvar.o gdl-io.o gdl-libinit_cl.o gdl-libinit.o gdl-libinit_jmg.o gdl-math_fun.o gdl-math_fun_jmg.o gdl-math_utl.o gdl-ncdf_att_cl.o gdl-ncdf_cl.o gdl-ncdf_dim_cl.o gdl-ncdf_var_cl.o gdl-new.o gdl-objects.o gdl-ofmt.o gdl-math_fun_ac.o gdl-libinit_ac.o gdl-math_fun_gm.o gdl-libinit_gm.o gdl-math_fun_ng.o gdl-libinit_ng.o gdl-plotting.o gdl-print.o gdl-print_tree.o gdl-read.o gdl-str.o gdl-terminfo.o gdl-topython.o gdl-typetraits.o gdl-hdf_fun.o gdl-hdf_pro.o gdl-magick_cl.o gdl-gdlwidget.o gdl-widget.o gdl-basegdl.o gdl-hdf5_fun.o gdl-libinit_mes.o gdl-file.o gdl-image.o gdl-gdljournal.o gdl-convol.o gdl-convol_inc0.o gdl-convol_inc1.o gdl-convol_inc2.o gdl-sigfpehandler.o gdl-gdlzstream.o gdl-arrayindex.o gdl-fftw.o gdl-mpi.o gdl-plot3d_nr.o gdl-grib.o gdl-prognode.o gdl-prognodeexpr.o gdl-datatypesref.o gdl-lapack.o gdl-gshhs.o gdl-newprognode.o gdl-plotting_plot.o gdl-plotting_oplot.o gdl-plotting_device.o gdl-plotting_cursor.o gdl-plotting_contour.o gdl-plotting_surface.o gdl-plotting_axis.o gdl-plotting_plots.o gdl-plotting_xyouts.o gdl-plotting_polyfill.o gdl-plotting_windows.o gdl-plotting_convert_coord.o gdl-plotting_map_proj.o gdl-plotting_misc.o gdl-plotting_erase.o gdl-semshm.o gdl-gdl.o gdl-lapack.o ../src/antlr/libantlr.a -L/usr/X11R6/lib64 -L/usr/X11R6/lib -lX11 -lgslcblas -lgsl -L/Users/compiegne/softs/gdl-0.9.1/required/readline-6.2/Compilation/lib -L/Users/compiegne/softs/gdl-0.9.1/required/readline-6.2/Compilation -lncurses  -lreadline -lz -L/Users/compiegne/softs/gdl-0.9.1/required/gsl-1.15/Compilation/lib -lgsl -lgslcblas -L/Users/compiegne/softs/gdl-0.9.1/required/plplot-5.9.9/Compilation/lib -lplplotd -lplplotcxxd
    libtool: link: g++ -g -O2 -fopenmp -o gdl gdl-allix.o gdl-assocdata.o gdl-basic_fun_cl.o gdl-basic_fun.o gdl-basic_fun_jmg.o gdl-basic_op.o gdl-basic_op_new.o gdl-basic_pro.o gdl-basic_pro_jmg.o gdl-CFMTLexer.o gdl-color.o gdl-convert2.o gdl-datatypes.o gdl-dcommon.o gdl-dcompiler.o gdl-default_io.o gdl-dinterpreter.o gdl-dnode.o gdl-dpro.o gdl-dstructdesc.o gdl-dstructgdl.o gdl-dvar.o gdl-envt.o gdl-extrat.o gdl-FMTIn.o gdl-FMTLexer.o gdl-fmtnode.o gdl-FMTOut.o gdl-FMTParser.o gdl-gdleventhandler.o gdl-gdlexception.o gdl-gdlgstream.o gdl-GDLInterpreter.o gdl-GDLLexer.o gdl-GDLParser.o gdl-gdlpsstream.o gdl-gdlsvgstream.o gdl-gdlpython.o gdl-GDLTreeParser.o gdl-gdlwinstream.o gdl-gdlxstream.o gdl-getfmtast.o gdl-graphics.o gdl-gsl_fun.o gdl-ifmt.o gdl-initct.o gdl-initsysvar.o gdl-io.o gdl-libinit_cl.o gdl-libinit.o gdl-libinit_jmg.o gdl-math_fun.o gdl-math_fun_jmg.o gdl-math_utl.o gdl-ncdf_att_cl.o gdl-ncdf_cl.o gdl-ncdf_dim_cl.o gdl-ncdf_var_cl.o gdl-new.o gdl-objects.o gdl-ofmt.o gdl-math_fun_ac.o gdl-libinit_ac.o gdl-math_fun_gm.o gdl-libinit_gm.o gdl-math_fun_ng.o gdl-libinit_ng.o gdl-plotting.o gdl-print.o gdl-print_tree.o gdl-read.o gdl-str.o gdl-terminfo.o gdl-topython.o gdl-typetraits.o gdl-hdf_fun.o gdl-hdf_pro.o gdl-magick_cl.o gdl-gdlwidget.o gdl-widget.o gdl-basegdl.o gdl-hdf5_fun.o gdl-libinit_mes.o gdl-file.o gdl-image.o gdl-gdljournal.o gdl-convol.o gdl-convol_inc0.o gdl-convol_inc1.o gdl-convol_inc2.o gdl-sigfpehandler.o gdl-gdlzstream.o gdl-arrayindex.o gdl-fftw.o gdl-mpi.o gdl-plot3d_nr.o gdl-grib.o gdl-prognode.o gdl-prognodeexpr.o gdl-datatypesref.o gdl-lapack.o gdl-gshhs.o gdl-newprognode.o gdl-plotting_plot.o gdl-plotting_oplot.o gdl-plotting_device.o gdl-plotting_cursor.o gdl-plotting_contour.o gdl-plotting_surface.o gdl-plotting_axis.o gdl-plotting_plots.o gdl-plotting_xyouts.o gdl-plotting_polyfill.o gdl-plotting_windows.o gdl-plotting_convert_coord.o gdl-plotting_map_proj.o gdl-plotting_misc.o gdl-plotting_erase.o gdl-semshm.o gdl-gdl.o gdl-lapack.o -Wl,-bind_at_load  ../src/antlr/libantlr.a -L/usr/X11R6/lib64 -L/usr/X11R6/lib -lX11 -L/Users/compiegne/softs/gdl-0.9.1/required/readline-6.2/Compilation/lib -L/Users/compiegne/softs/gdl-0.9.1/required/readline-6.2/Compilation -lncurses -lreadline -lz -L/Users/compiegne/softs/gdl-0.9.1/required/gsl-1.15/Compilation/lib /Users/compiegne/softs/gdl-0.9.1/required/gsl-1.15/Compilation/lib/libgsl.dylib /Users/compiegne/softs/gdl-0.9.1/required/gsl-1.15/Compilation/lib/libgslcblas.dylib -lm -L/Users/compiegne/softs/gdl-0.9.1/required/plplot-5.9.9/Compilation/lib -lplplotd -lplplotcxxd
    ld: duplicate symbol GDLArray<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::InitFrom(GDLArray<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)in gdl-assocdata.o and gdl-allix.o for architecture x86_64
    collect2: ld returned 1 exit status
    make: ***  Error 1
    make: ***  Error 1
    make: ***  Error 1
    make: ***  Error 2

    Thanks in advance,
    Mathieu

     
  • Alain C.
    Alain C.
    2011-10-20

    Thanks for the report. We know the problem. Unfortunately, we have no solutions now. Marc is making strong progress on the performance side (we are now close to or better than IDL running TIME_TEST3) but the other side we have few regressions and no more compilation on OSX. This is clearly temporary because we have success on OSX ;-)

    If you found a way to link, you are welcome. I spend some time on CMake lists and FAQ to find the equivalent of "-z -muldefs" we now need for Linux, but I did not find a solution.

    Did you try the "macport" way ?

     
  • Alain C.
    Alain C.
    2011-10-25

    problems around linking (not only on OSX) are now solved in the CVS.

     
  • Alain,
    That is working !
    Thanks a lot.
    I had to use  -with-pslib=no  and -with-openmp=no in addition to the other options I showed in my original post when running ./configure.
    Thanks again,
    Mathieu