octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #59373] Don't link liboctinterp with "-Wl, --e


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #59373] Don't link liboctinterp with "-Wl, --export-all-symbols"
Date: Wed, 28 Oct 2020 14:06:47 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Follow-up Comment #10, bug #59373 (project octave):

Markus: If we link using -lhdf5, then the linker for MinGW systems is looking
for a file with a name like libhdf5.a or libhdf5.dll.a.  But with the current
rules, we are generating libhdf5.a but not libhdf5.dll.a.

In 5.2.0, we had these files:



   136704  2020-02-03 20:14   octave-5.2.0-w64/mingw64/bin/libhdf5_hl-9.dll
  3704832  2020-02-03 20:14   octave-5.2.0-w64/mingw64/bin/libhdf5-9.dll
      938  2020-02-03 20:13   octave-5.2.0-w64/mingw64/lib/libhdf5_hl.la
      906  2020-02-03 20:13   octave-5.2.0-w64/mingw64/lib/libhdf5.la
   107986  2020-02-03 17:04   octave-5.2.0-w64/mingw64/lib/libhdf5_hl.dll.a
  1552544  2020-02-03 17:04   octave-5.2.0-w64/mingw64/lib/libhdf5.dll.a


Now we have


   289792  2020-10-24 02:26   octave-6.0.92-w64/mingw64/bin/hdf5_tools.dll
  4311552  2020-10-24 02:26   octave-6.0.92-w64/mingw64/bin/hdf5.dll
   132096  2020-10-24 02:26   octave-6.0.92-w64/mingw64/bin/hdf5_hl.dll
   457344  2020-10-23 14:00   octave-6.0.92-w64/mingw64/lib/libhdf5_tools.a
   194468  2020-10-23 14:00   octave-6.0.92-w64/mingw64/lib/libhdf5_hl.a
  8151460  2020-10-23 14:00   octave-6.0.92-w64/mingw64/lib/libhdf5.a
   109526  2020-10-23 14:00   octave-6.0.92-w64/mingw64/lib/libhdf5_tools.lib
  2248250  2020-10-23 14:00   octave-6.0.92-w64/mingw64/lib/libhdf5.lib
   114440  2020-10-23 14:00   octave-6.0.92-w64/mingw64/lib/libhdf5_hl.lib


I see now that we are also generating a lot of '.a' libraries where before I
think we weren't generating them because of our rules to enable shared and
disable static libraries.

In the log files for libraries that we build with cmake, I am now seeing the
following info:


CMake Warning (dev) at CMakeLists.txt:444 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'BUILD_STATIC_LIBS'.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at CMakeLists.txt:446 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'BUILD_SHARED_LIBS'.
This warning is for project developers.  Use -Wno-dev to suppress it.


I'm not sure how best to fix this, but the problem is not specific to HDF5 and
there should be a single fix that we can make for all of the libraries that we
build using cmake.  They should all be using the


set(BUILD_SHARED_LIBS ON)
set(BUILD_STATIC_LIBS OFF)


settings in the CMAKE_TOOLCHAIN_FILE that we generate.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?59373>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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