[oi-dev] Gnu Data Language

Dariusz Sendkowski dsendkowski at gmail.com
Tue May 30 17:14:46 UTC 2017


UPDATE:

When building the component manually (unpacking, cmake and then gmake)
everything is as expected, i.e.:

dsend at oi-dev:/projects/oi-userland/components/scientific/gdl/build$ ldd
src/gdl | grep gsl
        libgsl.so.19 =>  /usr/lib/64/libgsl.so.19
        libgslcblas.so.0 =>      /usr/lib/64/libgslcblas.so.0

When building from the component package Makefile (gmake build)
libgslcblas.so.0 record in gdl is missing.

Am I missing something in the Makefile?




2017-05-30 15:32 GMT+02:00 Dariusz Sendkowski <dsendkowski at gmail.com>:

> Hi,
>
>
> I'm struggling with GDL <http://gnudatalanguage.sourceforge.net/> so that
> it can be added to oi-userland. Currently it builds successfully but 4 of
> 178 tests fail.
> The point is these tests fail due to missing symbols in gdl executable,
> e.g.:
>
>
> .....
> symbol not found: cblas_chemm           (/usr/lib/64/libgsl.so.19)
> .....
>
> Definitely it missing symbols because those symbols are located in the
> /usr/lib/64/libgslcblas.so library.
> Funny thing is, that CMake does attempt to link this library:
>
>
>
> [100%] Linking CXX executable gdl
> cd /projects/oi-userland/components/scientific/gdl/build/amd64/src &&
> /usr/bin/cmake -E cmake_link_script CMakeFiles/gdl.dir/link.txt --verbose=1
> /usr/gcc/4.9/bin/g++    -m64 -O3 -DNDEBUG   -m64
> CMakeFiles/gdl.dir/CFMTLexer.cpp.o CMakeFiles/gdl.dir/FMTIn.cpp.o
> CMakeFiles/gdl.dir/FMTLexer.cpp.o CMakeFiles/gdl.dir/FMTOut.cpp.o
> CMakeFiles/gdl.dir/FMTParser.cpp.o CMakeFiles/gdl.dir/GDLInterpreter.cpp.o
> CMakeFiles/gdl.dir/GDLLexer.cpp.o CMakeFiles/gdl.dir/GDLParser.cpp.o
> CMakeFiles/gdl.dir/GDLTreeParser.cpp.o CMakeFiles/gdl.dir/allix.cpp.o
> CMakeFiles/gdl.dir/arrayindex.cpp.o CMakeFiles/gdl.dir/assocdata.cpp.o
> CMakeFiles/gdl.dir/basegdl.cpp.o CMakeFiles/gdl.dir/basic_fun.cpp.o
> CMakeFiles/gdl.dir/basic_fun_cl.cpp.o CMakeFiles/gdl.dir/basic_fun_jmg.cpp.o
> CMakeFiles/gdl.dir/basic_op.cpp.o CMakeFiles/gdl.dir/color.cpp.o
> CMakeFiles/gdl.dir/convert2.cpp.o CMakeFiles/gdl.dir/convol.cpp.o
> CMakeFiles/gdl.dir/convol_inc0.cpp.o CMakeFiles/gdl.dir/convol_inc1.cpp.o
> CMakeFiles/gdl.dir/convol_inc2.cpp.o CMakeFiles/gdl.dir/datatypes.cpp.o
> CMakeFiles/gdl.dir/datatypesref.cpp.o CMakeFiles/gdl.dir/dcommon.cpp.o
> CMakeFiles/gdl.dir/dcompiler.cpp.o CMakeFiles/gdl.dir/default_io.cpp.o
> CMakeFiles/gdl.dir/dialog.cpp.o CMakeFiles/gdl.dir/dinterpreter.cpp.o
> CMakeFiles/gdl.dir/dnode.cpp.o CMakeFiles/gdl.dir/dpro.cpp.o
> CMakeFiles/gdl.dir/dstructdesc.cpp.o CMakeFiles/gdl.dir/dstructgdl.cpp.o
> CMakeFiles/gdl.dir/dvar.cpp.o CMakeFiles/gdl.dir/envt.cpp.o
> CMakeFiles/gdl.dir/extrat.cpp.o CMakeFiles/gdl.dir/fftw.cpp.o
> CMakeFiles/gdl.dir/file.cpp.o CMakeFiles/gdl.dir/fmtnode.cpp.o
> CMakeFiles/gdl.dir/gdleventhandler.cpp.o CMakeFiles/gdl.dir/gdlexception.cpp.o
> CMakeFiles/gdl.dir/gdlgstream.cpp.o CMakeFiles/gdl.dir/gdlxstream.cpp.o
> CMakeFiles/gdl.dir/gdljournal.cpp.o CMakeFiles/gdl.dir/gdlpsstream.cpp.o
> CMakeFiles/gdl.dir/gdlpython.cpp.o CMakeFiles/gdl.dir/gdlsvgstream.cpp.o
> CMakeFiles/gdl.dir/gdlwidget.cpp.o CMakeFiles/gdl.dir/gdlwidgeteventhandler.cpp.o
> CMakeFiles/gdl.dir/gdlwxstream.cpp.o CMakeFiles/gdl.dir/gdlzstream.cpp.o
> CMakeFiles/gdl.dir/getfmtast.cpp.o CMakeFiles/gdl.dir/graphicsdevice.cpp.o
> CMakeFiles/gdl.dir/basic_pro.cpp.o CMakeFiles/gdl.dir/basic_pro_jmg.cpp.o
> CMakeFiles/gdl.dir/grib.cpp.o CMakeFiles/gdl.dir/gshhs.cpp.o
> CMakeFiles/gdl.dir/gsl_fun.cpp.o CMakeFiles/gdl.dir/gsl_matrix.cpp.o
> CMakeFiles/gdl.dir/hash.cpp.o CMakeFiles/gdl.dir/hdf5_fun.cpp.o
> CMakeFiles/gdl.dir/hdf_fun.cpp.o CMakeFiles/gdl.dir/hdf_pro.cpp.o
> CMakeFiles/gdl.dir/ifmt.cpp.o CMakeFiles/gdl.dir/image.cpp.o
> CMakeFiles/gdl.dir/initct.cpp.o CMakeFiles/gdl.dir/initsysvar.cpp.o
> CMakeFiles/gdl.dir/io.cpp.o CMakeFiles/gdl.dir/lapack.cpp.o
> CMakeFiles/gdl.dir/least_squares.cpp.o CMakeFiles/gdl.dir/libinit.cpp.o
> CMakeFiles/gdl.dir/libinit_ac.cpp.o CMakeFiles/gdl.dir/libinit_cl.cpp.o
> CMakeFiles/gdl.dir/libinit_gm.cpp.o CMakeFiles/gdl.dir/libinit_jmg.cpp.o
> CMakeFiles/gdl.dir/libinit_mes.cpp.o CMakeFiles/gdl.dir/libinit_ng.cpp.o
> CMakeFiles/gdl.dir/libinit_jp.cpp.o CMakeFiles/gdl.dir/list.cpp.o
> CMakeFiles/gdl.dir/magick_cl.cpp.o CMakeFiles/gdl.dir/math_fun.cpp.o
> CMakeFiles/gdl.dir/math_fun_ac.cpp.o CMakeFiles/gdl.dir/math_fun_gm.cpp.o
> CMakeFiles/gdl.dir/math_fun_jmg.cpp.o CMakeFiles/gdl.dir/math_fun_ng.cpp.o
> CMakeFiles/gdl.dir/math_utl.cpp.o CMakeFiles/gdl.dir/matrix_cholesky.cpp.o
> CMakeFiles/gdl.dir/matrix_invert.cpp.o CMakeFiles/gdl.dir/mpi.cpp.o
> CMakeFiles/gdl.dir/ncdf_att_cl.cpp.o CMakeFiles/gdl.dir/ncdf_cl.cpp.o
> CMakeFiles/gdl.dir/ncdf_dim_cl.cpp.o CMakeFiles/gdl.dir/ncdf_var_cl.cpp.o
> CMakeFiles/gdl.dir/ncdf4_group.cpp.o CMakeFiles/gdl.dir/new.cpp.o
> CMakeFiles/gdl.dir/newprognode.cpp.o CMakeFiles/gdl.dir/nullgdl.cpp.o
> CMakeFiles/gdl.dir/objects.cpp.o CMakeFiles/gdl.dir/ofmt.cpp.o
> CMakeFiles/gdl.dir/overload.cpp.o CMakeFiles/gdl.dir/plotting_axis.cpp.o
> CMakeFiles/gdl.dir/plotting_contour.cpp.o CMakeFiles/gdl.dir/plotting_convert_coord.cpp.o
> CMakeFiles/gdl.dir/plotting_cursor.cpp.o CMakeFiles/gdl.dir/plotting_device.cpp.o
> CMakeFiles/gdl.dir/plotting_erase.cpp.o CMakeFiles/gdl.dir/plotting_image.cpp.o
> CMakeFiles/gdl.dir/plotting_map_proj.cpp.o CMakeFiles/gdl.dir/plotting_misc.cpp.o
> CMakeFiles/gdl.dir/plotting_oplot.cpp.o CMakeFiles/gdl.dir/plotting_plot.cpp.o
> CMakeFiles/gdl.dir/plotting_plots.cpp.o CMakeFiles/gdl.dir/plotting_polyfill.cpp.o
> CMakeFiles/gdl.dir/plotting_shade_surf.cpp.o CMakeFiles/gdl.dir/plotting_surface.cpp.o
> CMakeFiles/gdl.dir/plotting_windows.cpp.o CMakeFiles/gdl.dir/plotting_xyouts.cpp.o
> CMakeFiles/gdl.dir/plotting.cpp.o CMakeFiles/gdl.dir/print.cpp.o
> CMakeFiles/gdl.dir/print_tree.cpp.o CMakeFiles/gdl.dir/prognode.cpp.o
> CMakeFiles/gdl.dir/prognode_lexpr.cpp.o CMakeFiles/gdl.dir/prognodeexpr.cpp.o
> CMakeFiles/gdl.dir/read.cpp.o CMakeFiles/gdl.dir/semshm.cpp.o
> CMakeFiles/gdl.dir/sigfpehandler.cpp.o CMakeFiles/gdl.dir/str.cpp.o
> CMakeFiles/gdl.dir/terminfo.cpp.o CMakeFiles/gdl.dir/topython.cpp.o
> CMakeFiles/gdl.dir/typetraits.cpp.o CMakeFiles/gdl.dir/widget.cpp.o
> CMakeFiles/gdl.dir/gdl.cpp.o  -o gdl  -L/usr/openwin/lib/64
> antlr/libantlr.a -ldl /usr/lib/64/libncurses.so /usr/lib/64/libform.so
> /usr/lib/64/libreadline.so /usr/lib/64/libhistory.so /usr/lib/64/libz.so
> /usr/lib/64/libpng.so /usr/lib/64/libz.so -fopenmp */usr/lib/64/libgsl.so
> /usr/lib/64/libgslcblas.so* /usr/lib/64/libplplotd.so
> /usr/lib/64/libplplotcxxd.so /usr/lib/64/libGraphicsMagick.so
> /usr/lib/64/libGraphicsMagick++.so -L/usr/lib/amd64 -pthreads -m64 -m64
> -L/usr/openwin/lib/64 -lwx_baseu-2.8 -lwx_gtk2u_core-2.8 -lwx_gtk2u_adv-2.8
> -lnetcdf /usr/lib/64/libhdf5.so /usr/lib/64/libhdf5_hl.so
> /usr/lib/64/libhdf5.so /usr/lib/64/libz.so /usr/lib/64/libdl.so
> /usr/lib/64/libm.so /usr/lib/64/libfftw3.so /usr/lib/64/libfftw3f.so
> /usr/lib/64/libSM.so /usr/lib/64/libICE.so /usr/lib/64/libX11.so
> /usr/lib/64/libXext.so -lsocket -lnsl /usr/lib/64/libpng.so
> /usr/lib/64/libgsl.so /usr/lib/64/libgslcblas.so /usr/lib/64/libplplotd.so
> /usr/lib/64/libplplotcxxd.so /usr/lib/64/libGraphicsMagick.so
> /usr/lib/64/libGraphicsMagick++.so -lwx_baseu-2.8 -lwx_gtk2u_core-2.8
> -lwx_gtk2u_adv-2.8 -lnetcdf /usr/lib/64/libhdf5_hl.so /usr/lib/64/libdl.so
> /usr/lib/64/libm.so /usr/lib/64/libfftw3.so /usr/lib/64/libfftw3f.so
> /usr/lib/64/libSM.so /usr/lib/64/libICE.so /usr/lib/64/libX11.so
> /usr/lib/64/libXext.so -lsocket -lnsl -Wl,-R/usr/openwin/lib/64:/
> usr/lib/64:
>
> but no *libgslcblas.so* is recorded in the gdl executable:
>
> dsend at oi-dev:/projects/oi-userland/components/scientific/gdl$ ldd
> build/prototype/i386/usr/bin/gdl
>         libdl.so.1 =>    /usr/lib/64/libdl.so.1
>         libreadline.so.6 =>      /usr/lib/64/libreadline.so.6
>         libz.so.1 =>     /usr/lib/64/libz.so.1
>         libpng16.so.16 =>        /usr/lib/64/libpng16.so.16
>        * libgsl.so.19 =>  /usr/lib/64/libgsl.so.19*
>         libplplotd.so.11 =>      /usr/lib/64/libplplotd.so.11
>         libplplotcxxd.so.10 =>   /usr/lib/64/libplplotcxxd.so.10
>         libGraphicsMagick++.so.12 =>     /usr/lib/64/libGraphicsMagick+
> +.so.12
>         libwx_baseu-2.8.so.0 =>  /usr/lib/64/libwx_baseu-2.8.so.0
>         libwx_gtk2u_core-2.8.so.0 =>     /usr/lib/64/libwx_gtk2u_core-
> 2.8.so.0
>         libwx_gtk2u_adv-2.8.so.0 =>      /usr/lib/64/libwx_gtk2u_adv-2.
> 8.so.0
>         libnetcdf.so.11 =>       /usr/lib/64/libnetcdf.so.11
>         libhdf5.so.10 =>         /usr/lib/64/libhdf5.so.10
>         libm.so.2 =>     /usr/lib/64/libm.so.2
>         libfftw3.so.3 =>         /usr/lib/64/libfftw3.so.3
>         libfftw3f.so.3 =>        /usr/lib/64/libfftw3f.so.3
>         libX11.so.4 =>   /usr/openwin/lib/64/libX11.so.4
>         libsocket.so.1 =>        /usr/lib/64/libsocket.so.1
>         libnsl.so.1 =>   /usr/lib/64/libnsl.so.1
>         libstdc++.so.6 =>        /usr/lib/64/libstdc++.so.6
>         librt.so.1 =>    /usr/lib/64/librt.so.1
>         libgomp.so.1 =>  /usr/lib/64/libgomp.so.1
>         libgcc_s.so.1 =>         /usr/lib/64/libgcc_s.so.1
>         libpthread.so.1 =>       /usr/lib/64/libpthread.so.1
>         libc.so.1 =>     /usr/lib/64/libc.so.1
>         libtermcap.so.1 =>       /lib/64/libtermcap.so.1
>         libltdl.so.7 =>  /usr/lib/64/libltdl.so.7
>         libcsirocsa.so.0 =>      /usr/lib/64/libcsirocsa.so.0
>         libqsastime.so.0 =>      /usr/lib/64/libqsastime.so.0
>         libGraphicsMagick.so.3 =>        /usr/lib/amd64/
> libGraphicsMagick.so.3
>         libgtk-x11-2.0.so.0 =>   /usr/lib/64/libgtk-x11-2.0.so.0
>         libgdk-x11-2.0.so.0 =>   /usr/lib/64/libgdk-x11-2.0.so.0
>         libXinerama.so.1 =>      /usr/lib/64/libXinerama.so.1
>         libgdk_pixbuf-2.0.so.0 =>        /usr/lib/64/libgdk_pixbuf-2.0.
> so.0
>         libpango-1.0.so.0 =>     /usr/lib/64/libpango-1.0.so.0
>         libgobject-2.0.so.0 =>   /usr/lib/64/libgobject-2.0.so.0
>         libglib-2.0.so.0 =>      /usr/lib/64/libglib-2.0.so.0
>         libXxf86vm.so.1 =>       /usr/lib/64/libXxf86vm.so.1
>         libSM.so.6 =>    /usr/lib/64/libSM.so.6
>         libjpeg.so.62 =>         /usr/lib/64/libjpeg.so.62
>         libtiff.so.5 =>  /usr/lib/64/libtiff.so.5
>         libSDL-1.2.so.0 =>       /usr/lib/64/libSDL-1.2.so.0
>         libhdf5_hl.so.10 =>      /usr/lib/64/libhdf5_hl.so.10
>         libcurl.so.4 =>  /usr/lib/64/libcurl.so.4
>         libxcb.so.1 =>   /usr/lib/64/libxcb.so.1
>         libXext.so.0 =>  /usr/lib/64/libXext.so.0
>         libmp.so.2 =>    /lib/64/libmp.so.2
>         libmd.so.1 =>    /lib/64/libmd.so.1
>         libwebp.so.5 =>  /usr/lib/64/libwebp.so.5
>         liblcms2.so.2 =>         /usr/lib/64/liblcms2.so.2
>         libfreetype.so.6 =>      /usr/lib/64/libfreetype.so.6
>         libjasper.so.1 =>        /usr/lib/64/libjasper.so.1
>         libjpeg.so.8 =>  /usr/lib/libjpeg8-turbo/lib/amd64/libjpeg.so.8
>         libbz2.so.1 =>   /usr/lib/64/libbz2.so.1
>         libxml2.so.2 =>  /usr/lib/64/libxml2.so.2
>         libgmodule-2.0.so.0 =>   /usr/lib/amd64/libgmodule-2.0.so.0
>         libpangocairo-1.0.so.0 =>        /usr/lib/amd64/libpangocairo-
> 1.0.so.0
>         libXfixes.so.1 =>        /usr/lib/amd64/libXfixes.so.1
>         libatk-1.0.so.0 =>       /usr/lib/amd64/libatk-1.0.so.0
>         libcairo.so.2 =>         /usr/lib/amd64/libcairo.so.2
>         libgio-2.0.so.0 =>       /usr/lib/amd64/libgio-2.0.so.0
>         libpangoft2-1.0.so.0 =>  /usr/lib/amd64/libpangoft2-1.0.so.0
>         libfontconfig.so.1 =>    /usr/lib/amd64/libfontconfig.so.1
>         libXrender.so.1 =>       /usr/lib/64/libXrender.so.1
>         libXrandr.so.2 =>        /usr/lib/64/libXrandr.so.2
>         libXcursor.so.1 =>       /usr/lib/64/libXcursor.so.1
>         libXcomposite.so.1 =>    /usr/lib/64/libXcomposite.so.1
>         libXdamage.so.1 =>       /usr/lib/64/libXdamage.so.1
>         libffi.so.6 =>   /usr/lib/amd64/libffi.so.6
>         libICE.so.6 =>   /usr/lib/64/libICE.so.6
>         liblzma.so.5 =>  /usr/lib/64/liblzma.so.5
>         libnghttp2.so.14 =>      /usr/lib/64/libnghttp2.so.14
>         libssh2.so.1 =>  /usr/lib/64/libssh2.so.1
>         libssl.so.1.0.0 =>       /lib/64/libssl.so.1.0.0
>         libcrypto.so.1.0.0 =>    /lib/64/libcrypto.so.1.0.0
>         libgss.so.1 =>   /usr/lib/64/libgss.so.1
>         liblber-2.4.so.2 =>      /usr/lib/64/liblber-2.4.so.2
>         libldap_r-2.4.so.2 =>    /usr/lib/64/libldap_r-2.4.so.2
>         libXau.so.6 =>   /usr/lib/amd64/libXau.so.6
>         libXdmcp.so.6 =>         /usr/lib/amd64/libXdmcp.so.6
>         libharfbuzz.so.0 =>      /usr/lib/64/libharfbuzz.so.0
>         libpixman-1.so.0 =>      /usr/lib/64/libpixman-1.so.0
>         libEGL.so.1 =>   /usr/lib/64/libEGL.so.1
>         libX11-xcb.so.1 =>       /usr/lib/64/libX11-xcb.so.1
>         libxcb-render.so.0 =>    /usr/lib/64/libxcb-render.so.0
>         libGL.so.1 =>    /usr/lib/64/libGL.so.1
>         libresolv.so.2 =>        /usr/lib/amd64/libresolv.so.2
>         libexpat.so.1 =>         /usr/lib/64/libexpat.so.1
>         libsasl.so.1 =>  /usr/lib/amd64/libsasl.so.1
>         libgraphite2.so.3 =>     /usr/lib/64/libgraphite2.so.3
>         libxcb-dri2.so.0 =>      /usr/lib/64/libxcb-dri2.so.0
>         libxcb-xfixes.so.0 =>    /usr/lib/64/libxcb-xfixes.so.0
>         libxcb-dri3.so.0 =>      /usr/lib/64/libxcb-dri3.so.0
>         libxcb-present.so.0 =>   /usr/lib/64/libxcb-present.so.0
>         libxcb-sync.so.1 =>      /usr/lib/64/libxcb-sync.so.1
>         libxshmfence.so.1 =>     /usr/lib/64/libxshmfence.so.1
>         libdrm.so.2 =>   /usr/lib/xorg/amd64/libdrm.so.2
>         libglapi.so.0 =>         /usr/lib/amd64/libglapi.so.0
>         libxcb-glx.so.0 =>       /usr/lib/amd64/libxcb-glx.so.0
>         libdevinfo.so.1 =>       /lib/64/libdevinfo.so.1
>         libnvpair.so.1 =>        /lib/64/libnvpair.so.1
>         libsec.so.1 =>   /lib/64/libsec.so.1
>         libgen.so.1 =>   /lib/64/libgen.so.1
>         libavl.so.1 =>   /lib/64/libavl.so.1
>         libidmap.so.1 =>         /usr/lib/64/libidmap.so.1
>         libuutil.so.1 =>         /lib/64/libuutil.so.1
>         libcurses.so.1 =>        /lib/64/libcurses.so.1
>         libXevie.so.1 =>         /usr/lib/64/libXevie.so.1
>         libXss.so.1 =>   /usr/lib/64/libXss.so.1
>
> But that's not the end. When I copy the very same linking command executed
> by CMake and execute it manually I get what I expect:
>
> dsend at oi-dev:/projects/oi-userland/components/scientific/gdl/build/amd64/src$
> ldd gdl
>         libdl.so.1 =>    /usr/lib/64/libdl.so.1
>         libncurses.so.5 =>       /usr/lib/64/libncurses.so.5
>         libform.so.1 =>  /usr/lib/64/libform.so.1
>         libreadline.so.6 =>      /usr/lib/64/libreadline.so.6
>         libhistory.so.6 =>       /usr/lib/64/libhistory.so.6
>         libz.so.1 =>     /usr/lib/64/libz.so.1
>         libpng16.so.16 =>        /usr/lib/64/libpng16.so.16
>         *libgsl.so.19 =>  /usr/lib/64/libgsl.so.19*
>        * libgslcblas.so.0 =>      /usr/lib/64/libgslcblas.so.0*
>         libplplotd.so.11 =>      /usr/lib/64/libplplotd.so.11
>         libplplotcxxd.so.10 =>   /usr/lib/64/libplplotcxxd.so.10
>
>
> and boom!  *libgslcblas.so *appears as expected and tests pass.
>
> I ran out of ideas why this happens. Maybe I spent too much time on this
> problem and cannot see anything right now.
> Maybe I'm missing something obvious so another pair of eyes would be great
> :)
> Any ideas?
>
> You can find the component package files here: https://github.com/
> dsendkowski/oi-userland/tree/gdl
>
>
>
> regards,
> Darek
>
>
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20170530/e0e6e062/attachment-0005.html>


More information about the oi-dev mailing list