Opened 5 years ago

Closed 5 years ago

#3718 closed task (wontfix)

wingrass: include also unversioned libraries

Reported by: martinl Owned by: martinl
Priority: normal Milestone: 7.6.0
Component: Packaging Version: svn-trunk
Keywords: wingrass Cc: grass-dev@…
CPU: Unspecified Platform: MSWindows

Description

Currently WinGRASS builds contain only versioned GRASS libs, eg. libgrass_gis.x.y.z.dll. This makes QGIS GRASS broken in OSGeo4W framework everytime when a new GRASS point version is released and QGIS GRASS plugin is still compiled against old point version. WinGRASS could contain also copy of unversioned libs to avoid such problem (creating symlinks as done on non-mingw platform cannot work here).

Attachments (1)

unversioned-libs.png (93.4 KB ) - added by martinl 5 years ago.

Download all attachments as: .zip

Change History (17)

comment:1 by martinl, 5 years ago

Cc: grass-dev@… added
Owner: changed from grass-dev@… to martinl
Status: newassigned

comment:2 by martinl, 5 years ago

GRASS 7.7 (trunk) has been modified in r73864 to produce also unversioned libs on Windows. Can be tested with build no. 357+ from (1) or directly from OSGeo4W framework (grass-daily package).

(1) https://wingrass.fsv.cvut.cz/grass77/x86_64/

comment:3 by martinl, 5 years ago

In 73865:

remove extra line in Shlib.make, see #3718

by martinl, 5 years ago

Attachment: unversioned-libs.png added

comment:4 by martinl, 5 years ago

Result tested with GRASS 7.7svn.

comment:5 by neteler, 5 years ago

May I release or is anything still open here?

in reply to:  5 comment:6 by martinl, 5 years ago

Replying to neteler:

May I release or is anything still open here?

yes, still open.

in reply to:  7 ; comment:8 by hellik, 5 years ago

Replying to martinl:

See related discussion, https://lists.osgeo.org/pipermail/grass-dev/2018-December/090823.html

around 7 years ago there was a thread about versioned/unversioned dlls/libs in winGRASS, see

https://lists.osgeo.org/pipermail/grass-dev/2010-June/050757.html

see mails before and after.

in reply to:  7 ; comment:9 by hellik, 5 years ago

Replying to martinl:

See related discussion, https://lists.osgeo.org/pipermail/grass-dev/2018-December/090823.html

Is it acceptable solution? If so I will do backport to g76 a g74
branches ASAP.

what is the reason to backport it to g74?

QGIS 2.18.x reaches its EOL and AFAIU our focus will be on (7.6)/7.8.

it seems there will be a little chance that QGIS 2.18.x/g74 will change.

in reply to:  9 comment:10 by martinl, 5 years ago

Milestone: 7.4.47.6.0

Replying to hellik:

it seems there will be a little chance that QGIS 2.18.x/g74 will change.

you are right, changing milestone

comment:11 by martinl, 5 years ago

In 73905:

Shlib.make: MinGW's 'ln' just copies the file, see #3718

in reply to:  8 ; comment:12 by martinl, 5 years ago

Replying to hellik:

see mails before and after.

my comment

> Should the ctypes wrappers be changed to use the versioned library
> name?

Probably yes, just to avoid having copy of unversioned library names.

sounds nice from GRASS POV. On the other hand would be nice not to break QGIS GRASS plugin on each GRASS point version ;-)

in reply to:  12 comment:13 by hellik, 5 years ago

Replying to martinl:

Replying to hellik:

see mails before and after.

my comment

> Should the ctypes wrappers be changed to use the versioned library
> name?

Probably yes, just to avoid having copy of unversioned library names.

sounds nice from GRASS POV. On the other hand would be nice not to break QGIS GRASS plugin on each GRASS point version ;-)

it's more about

However: on Windows, the name used to create the DLL (e.g. 
libgrass_gis.7.0.svn.dll) is stored in the DLL, and this is preserved
when the file is copied. When linking against a DLL, the name which is
stored in the target (library or executable) is the name stored in the
library, not the name of the file. So linking with -lgrass_gis links
against libgrass_gis.dll, but the resulting executable or library
depends upon libgrass_gis.7.0.svn.dll.

comment:14 by martinl, 5 years ago

ah, I see, reverted in r73921

comment:15 by martinl, 5 years ago

Another option would be to remove at least point version from lib names, see related discussion at https://lists.osgeo.org/pipermail/grass-dev/2019-January/090920.html

comment:16 by martinl, 5 years ago

Resolution: wontfix
Status: assignedclosed

Closing issue as wontfix, see #3728

Note: See TracTickets for help on using tickets.