gdl icon indicating copy to clipboard operation
gdl copied to clipboard

Error during make install when installing gdl 1.0.1 in Ubuntu from source files

Open isaacdl opened this issue 3 years ago • 4 comments

Hi, tried to install gdl 1.0.1 from source files in Ubuntu. I'm handling some error during the make install command:

Gonna write the prints in previous commands:

cmake -DCMAKE_CXX_FLAGS="-std=c++11" ../gdl

'''-- INFO: will use GNU extensions for STDIO (useful for compressed I/O) since it seems accepted by your c++ compiler. Use fuzzy detection for PLplot lib. (e.g. in /usr/lib) -- Warning, if you have plplot version > 5.11 and wxWidgets enabled, please read carefully file README -- Using a plplot library without private functions - workarounds will be used. -- INFO: We prefer to use GraphicsMagick than ImageMagick -- HDF5: Using hdf5 compiler wrapper to determine C configuration -- Summary

GDL - GNU DATA LANGUAGE [Standalone] System Linux-5.11.0-43-generic Files generated Unix Makefiles Installation prefix /usr/local C++ compiler /usr/bin/c++ -O3 -DNDEBUG

-- Options

Interactive plots: ON Widgets support: TRUE

OpenMP support ON (flag: -fopenmp) WxWidgets ON (libs:-L/usr/lib/x86_64-linux-gnu;-pthread;;;-lwx_baseu-3.0;-lwx_gtk3u_core-3.0;-lwx_gtk3u_adv-3.0; headers:/usr/lib/x86_64-linux-gnu/wx/include/gtk3-unicode-3.0;/usr/include/wx-3.0) GRAPHICSMAGICK ON (libs:/usr/lib/libGraphicsMagick.so;/usr/lib/libGraphicsMagick++.so; headers:/usr/include/GraphicsMagick) TIFF ON (libs:/usr/lib/x86_64-linux-gnu/libtiff.so; headers:/usr/include/x86_64-linux-gnu) GeoTIFF ON (libs:/usr/lib/x86_64-linux-gnu/libgeotiff.so; headers:/usr/include/geotiff) NetCDF ON (libs:netcdf; headers:/usr/include/hdf5/serial) HDF4 ON (libs:/usr/lib/libmfhdfalt.so;/usr/lib/libdfalt.so;z;/usr/lib/x86_64-linux-gnu/libjpeg.so; headers:/usr/include/hdf) HDF5 ON (libs:/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so; headers:/usr/include/hdf5/serial) FFTW ON (libs:/usr/lib/x86_64-linux-gnu/libfftw3.so;/usr/lib/x86_64-linux-gnu/libfftw3f.so; headers:/usr/include) MPI OFF PROJ ON (libs:/usr/lib/x86_64-linux-gnu/libproj.so; headers:/usr/include) Python ON (libs:/usr/lib/x86_64-linux-gnu/libpython3.8.so; headers:/usr/include/python3.8) UDUNITS-2 ON (libs:/usr/lib/x86_64-linux-gnu/libudunits2.so; headers:/usr/include) EIGEN3 ON (libs:; headers:/usr/include/eigen3) GRIB ON (libs:/usr/lib/x86_64-linux-gnu/libeccodes.so; headers:/usr/include/x86_64-linux-gnu) GLPK ON (libs:/usr/lib/x86_64-linux-gnu/libglpk.so; headers:/usr/include) SHAPELIB ON (libs:/usr/lib/x86_64-linux-gnu/libshp.so; headers:/usr/include) EXPAT ON (libs:/usr/lib/x86_64-linux-gnu/libexpat.so; headers:/usr/include) Xlib OFF libpng ON (libs:/usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libz.so; headers:/usr/include;/usr/include)

-- Mandatory modules Plplot ON (libs:/usr/lib/x86_64-linux-gnu/libplplot.so;/usr/lib/x86_64-linux-gnu/libplplotcxx.so; headers:/usr/include) GNU Readline ON (libs:/usr/lib/x86_64-linux-gnu/libreadline.so;/usr/lib/x86_64-linux-gnu/libhistory.so; headers:/usr/include) GSL ON (libs:/usr/lib/x86_64-linux-gnu/libgsl.so;/usr/lib/x86_64-linux-gnu/libgslcblas.so; headers:/usr/include) Zlib ON (libs:/usr/lib/x86_64-linux-gnu/libz.so; headers:/usr/include) (N)curses ON (libs:/usr/lib/x86_64-linux-gnu/libncurses.so;/usr/lib/x86_64-linux-gnu/libform.so; headers:/usr/include) RPC ON (libs:; headers:/usr/include)

GDLDEV mode: OFF (use -DGDLDEV=ON to enable work-in-progress tests)

-- Configuring done -- Generating done -- Build files have been written to: /home/isaac/gdl '''

make -j 4

'''[ 15%] Built target antlr make[2]: stat: src/gdl: Too many levels of symbolic links [ 15%] Linking CXX executable gdl /usr/bin/ld: cannot open output file gdl: Too many levels of symbolic links collect2: error: ld returned 1 exit status make[2]: *** [src/CMakeFiles/gdl.dir/build.make:2409: src/gdl] Error 1 make[1]: *** [CMakeFiles/Makefile2:192: src/CMakeFiles/gdl.dir/all] Error 2 make: *** [Makefile:141: all] Error 2 '''

In the first time running make -j 4 I hadn't obtained this error. I got it in the make install one. What I am doing wrong?

Merry christmas and thanks for the help.

isaacdl avatar Dec 22 '21 19:12 isaacdl

@isaacdl There is a strange inconsistency in the way CMake creates the gdl executable, as it leaves a link to it in the source tree. Example, if you build gdl on /home/me/test with sources in /home/me/gdl/ then there is a symbolic link created:

ls /home/me/gdl/src/gdl
lrwxrwxrwx 1 giloo giloo 29 déc.  22 21:44  /home/me/gdl/src/gdl --> /home/me/test/src/gdl 

This is a bug of our CMake files, in dire need of a Cmake specialist. I fail to see why a link woudl be created ina s source tree that must remain without spurious files.

Anyway, your problem may come from the /home/me/gdl/src/gdl that may have been already present and infinite recursion whan you build gdl. Try removing this link and just make again.

GillesDuvert avatar Dec 22 '21 20:12 GillesDuvert

I fail to see why a link woudl be created ina s source tree that must remain without spurious files.

https://github.com/gnudatalanguage/gdl/pull/1247

slayoo avatar Dec 29 '21 10:12 slayoo

For me #1247 created a real problem in the way I frequently test GDL, using quick_start_GDL.sh, and I do not see how to correct the situation in this script, as long as the path we can compile GDL is not known (except when running build_gdl.sh)

Please consider also I do compilations of a given Git version in some sub-dirs (make_no_wx, make_no_eigen, make_with_eigen ...) to inter-compare some changes around ... It would be great to copy quick_start_GDL.sh in those sub-dirs then being able to run thos various GDL without having to make changes or to specify the GDL_PATH at every startup.

Thanks any idea who will improve easy access to gdl executable + good setup of GDL_PATH !

A.

alaingdl avatar Jan 03 '22 23:01 alaingdl

Personally I've no clue as to why it stopped to work.

GillesDuvert avatar Jan 04 '22 10:01 GillesDuvert