View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0010210CMakeCMakepublic2010-01-31 09:502010-02-01 10:06
ReporterArtyom 
Assigned ToBrad King 
PrioritynormalSeverityfeatureReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0010210: CMake uses incorrect SONAME naming policy under Cygwin and MinGW standards
DescriptionDll platform do not have real "so-name" but however they are simulated
file with dll naming convention used under MinGW and Cygwin.

For example library "neon"

libneon.so installed under linux as:

   lib/libneon.so -> libneon.so.27.1.4
   lib/libneon.so.27 -> libneon.so.27.1.4
   lib/libneon.so.27.1.4

Where application is looking for lib/libneon.so.27 -- the current binary interface version -- 27 is actually the ABI version.

In parallel older version:

   lib/libneon.so.25 -> libneon.so.27.0.5
   lib/libneon.so.25.0.5

May be installed and not interfere older version of libneon.

Under Cygwin same is done as installing DLL with

   lib/libneon.dll.a
   bin/cygneon-27.dll

And older:

   bin/cygneon-25.dll

When the application is linked for cygneon-27.dll.

Similar CMake configuration for Neon would be:

set_target_properties(neon PROPERTIES
                     SOVERSION 27
                     VERSION 27.1.4)

However under Cygwin it would create:

    bin/cygneon-27.1.4.dll

Which contradicts Cygwin (and MinGW) naming conventions.
It is also does not allow applications upgrade to newer backward
compatible dll version as it expected to be done.

Artyom
Tagscygwin, soversion
Attached Files

 Relationships
related to 0010122closedBrad King Patches for Cygwin 

  Notes
(0019394)
Brad King (manager)
2010-02-01 10:05

This was recently addressed in CMake from CVS HEAD:

http://www.cmake.org/Bug/view.php?id=10122#c19117 [^]

Name Cygwin DLLs with SOVERSION, not VERSION
/cvsroot/CMake/CMake/Source/cmTarget.cxx,v <-- Source/cmTarget.cxx
new revision: 1.286; previous revision: 1.285
(0019395)
Brad King (manager)
2010-02-01 10:06

This fix was also placed on the CMake-2-8 branch in preparation of 2.8.1-rc1.

 Issue History
Date Modified Username Field Change
2010-01-31 09:50 Artyom New Issue
2010-01-31 09:57 Artyom Tag Attached: cygwin
2010-01-31 09:57 Artyom Tag Attached: soversion
2010-02-01 09:55 Bill Hoffman Status new => assigned
2010-02-01 09:55 Bill Hoffman Assigned To => Brad King
2010-02-01 10:04 Brad King Relationship added related to 0010122
2010-02-01 10:05 Brad King Note Added: 0019394
2010-02-01 10:06 Brad King Note Added: 0019395
2010-02-01 10:06 Brad King Status assigned => closed
2010-02-01 10:06 Brad King Resolution open => fixed


Copyright © 2000 - 2018 MantisBT Team