[jira] [Commented] (XERCESC-2176) Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
[ https://issues.apache.org/jira/browse/XERCESC-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17073755#comment-17073755 ] Brent Davis commented on XERCESC-2176: -- I gave the 3.2 PR a test drive on both Linux and MacOS for static and shared library builds. The created library names and symlinks now look like what one would expect to see on those platforms. Nice. Thanks for the fix! > Incorrect symbolic links created for Linux static library and MacOS static > and shared libraries > --- > > Key: XERCESC-2176 > URL: https://issues.apache.org/jira/browse/XERCESC-2176 > Project: Xerces-C++ > Issue Type: Bug > Components: Build >Affects Versions: 3.2.0, 3.2.1, 3.2.2 > Environment: Linux, MacOS >Reporter: Brent Davis >Assignee: Roger Leigh >Priority: Minor > Fix For: 3.2.3 > > > We build Xerces-C++ for both the Linux and MacOS platforms, with both static > and shared libraries. There are arguably some dubiously named symbolic links > created by src/CMakeLists.txt. The symlinks are always named > 'libxerces-c.so' regardless or library type, or use of the .dylib extension > on MacOS. > ||Platform||Library Type||Symbolic Link||Comment|| > |{color:#de350b}Linux{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#00875a} > {color}|{color:#00875a}shared{color}|{color:#00875a}libxerces-c.so -> > libxerces-c-3.2.so{color}|{color:#00875a}good{color}| > |{color:#de350b}MacOS{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#de350b} > {color}|{color:#de350b}shared{color}|{color:#de350b}libxerces-c.so -> > libxerces-c-3.2.dylib{color}|{color:#de350b}symbolic link should best be > named libxerces-c.dylib{color}| > Curiously, the Microsoft _vcpkg_ folks just recently ran into the Linux > static library portion of this issue and elected to not create the symlink in > that case. See [[xerces-c] produces strange files in > installed/x64-linux/lib|[https://github.com/microsoft/vcpkg/issues/7490]]. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[jira] [Commented] (XERCESC-2176) Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
[ https://issues.apache.org/jira/browse/XERCESC-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17073687#comment-17073687 ] Roger Leigh commented on XERCESC-2176: -- [~brentd] Please could you give one of the PRs a try and confirm if it addresses the issue to your satisfaction? Thanks, Roger > Incorrect symbolic links created for Linux static library and MacOS static > and shared libraries > --- > > Key: XERCESC-2176 > URL: https://issues.apache.org/jira/browse/XERCESC-2176 > Project: Xerces-C++ > Issue Type: Bug > Components: Build >Affects Versions: 3.2.0, 3.2.1, 3.2.2 > Environment: Linux, MacOS >Reporter: Brent Davis >Assignee: Roger Leigh >Priority: Minor > Fix For: 3.2.3 > > > We build Xerces-C++ for both the Linux and MacOS platforms, with both static > and shared libraries. There are arguably some dubiously named symbolic links > created by src/CMakeLists.txt. The symlinks are always named > 'libxerces-c.so' regardless or library type, or use of the .dylib extension > on MacOS. > ||Platform||Library Type||Symbolic Link||Comment|| > |{color:#de350b}Linux{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#00875a} > {color}|{color:#00875a}shared{color}|{color:#00875a}libxerces-c.so -> > libxerces-c-3.2.so{color}|{color:#00875a}good{color}| > |{color:#de350b}MacOS{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#de350b} > {color}|{color:#de350b}shared{color}|{color:#de350b}libxerces-c.so -> > libxerces-c-3.2.dylib{color}|{color:#de350b}symbolic link should best be > named libxerces-c.dylib{color}| > Curiously, the Microsoft _vcpkg_ folks just recently ran into the Linux > static library portion of this issue and elected to not create the symlink in > that case. See [[xerces-c] produces strange files in > installed/x64-linux/lib|[https://github.com/microsoft/vcpkg/issues/7490]]. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[jira] [Commented] (XERCESC-2176) Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
[ https://issues.apache.org/jira/browse/XERCESC-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17073686#comment-17073686 ] Roger Leigh commented on XERCESC-2176: -- PRs opened for dev and 3.2: https://github.com/apache/xerces-c/pull/9 and https://github.com/apache/xerces-c/pull/10 > Incorrect symbolic links created for Linux static library and MacOS static > and shared libraries > --- > > Key: XERCESC-2176 > URL: https://issues.apache.org/jira/browse/XERCESC-2176 > Project: Xerces-C++ > Issue Type: Bug > Components: Build >Affects Versions: 3.2.0, 3.2.1, 3.2.2 > Environment: Linux, MacOS >Reporter: Brent Davis >Assignee: Roger Leigh >Priority: Minor > Fix For: 3.2.3 > > > We build Xerces-C++ for both the Linux and MacOS platforms, with both static > and shared libraries. There are arguably some dubiously named symbolic links > created by src/CMakeLists.txt. The symlinks are always named > 'libxerces-c.so' regardless or library type, or use of the .dylib extension > on MacOS. > ||Platform||Library Type||Symbolic Link||Comment|| > |{color:#de350b}Linux{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#00875a} > {color}|{color:#00875a}shared{color}|{color:#00875a}libxerces-c.so -> > libxerces-c-3.2.so{color}|{color:#00875a}good{color}| > |{color:#de350b}MacOS{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#de350b} > {color}|{color:#de350b}shared{color}|{color:#de350b}libxerces-c.so -> > libxerces-c-3.2.dylib{color}|{color:#de350b}symbolic link should best be > named libxerces-c.dylib{color}| > Curiously, the Microsoft _vcpkg_ folks just recently ran into the Linux > static library portion of this issue and elected to not create the symlink in > that case. See [[xerces-c] produces strange files in > installed/x64-linux/lib|[https://github.com/microsoft/vcpkg/issues/7490]]. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[jira] [Commented] (XERCESC-2176) Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
[ https://issues.apache.org/jira/browse/XERCESC-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17073671#comment-17073671 ] Roger Leigh commented on XERCESC-2176: -- The CMake logic we have is buggy, and should only be applied to shared libraries, not static. That aspect should be trivial to change. The root cause of the problem is that we're trying to match the GNU libtool versioning *exactly* for strict compatibility, and while CMake itself can handle library VERSION and SONAME properties perfectly on all supported platforms, the semantics and library names differ which would make the CMake build of Xerces-C not be directly substitutable for the Autotools build. libtool is pretty terrible, and it's SOVERSION versioning support is nonsensical. Like many projects using libtool, Xerces-C is using libtool's "-release" option to avoid the worst brokenness: {noformat} (libxerces_c_la_LDFLAGS = -release @INTERFACE_VERSION_D@) {noformat} which is a shorthand for "encode the release version into the library name as a suffix", because the real SONAME versioning is so woeful. The behaviour difference is this: - libtool produces libxerces-c-3.2.so and a libxerces.so symlink. And also libxerces-c.so.3 symlink (both useless and nonsensical since we never actually set a SOVERSION) - CMake (with VERSION property) produces libxerces-c.so.3.2 and a libxerces.so symlink What we're doing right now is making CMake generate "libxerces-c-3.2" as the library name. But that makes CMake skip symlink generation because we've avoided using any of the versioning options. So we're creating the symlink manually. We don't bother with the libxerces-c.so.3 because it doesn't serve any useful or meaningful purpose in the absence of proper SOVERSION usage. > Incorrect symbolic links created for Linux static library and MacOS static > and shared libraries > --- > > Key: XERCESC-2176 > URL: https://issues.apache.org/jira/browse/XERCESC-2176 > Project: Xerces-C++ > Issue Type: Bug > Components: Build >Affects Versions: 3.2.0, 3.2.1, 3.2.2 > Environment: Linux, MacOS >Reporter: Brent Davis >Assignee: Roger Leigh >Priority: Minor > Fix For: 3.2.3 > > > We build Xerces-C++ for both the Linux and MacOS platforms, with both static > and shared libraries. There are arguably some dubiously named symbolic links > created by src/CMakeLists.txt. The symlinks are always named > 'libxerces-c.so' regardless or library type, or use of the .dylib extension > on MacOS. > ||Platform||Library Type||Symbolic Link||Comment|| > |{color:#de350b}Linux{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#00875a} > {color}|{color:#00875a}shared{color}|{color:#00875a}libxerces-c.so -> > libxerces-c-3.2.so{color}|{color:#00875a}good{color}| > |{color:#de350b}MacOS{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#de350b} > {color}|{color:#de350b}shared{color}|{color:#de350b}libxerces-c.so -> > libxerces-c-3.2.dylib{color}|{color:#de350b}symbolic link should best be > named libxerces-c.dylib{color}| > Curiously, the Microsoft _vcpkg_ folks just recently ran into the Linux > static library portion of this issue and elected to not create the symlink in > that case. See [[xerces-c] produces strange files in > installed/x64-linux/lib|[https://github.com/microsoft/vcpkg/issues/7490]]. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[jira] [Commented] (XERCESC-2176) Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
[ https://issues.apache.org/jira/browse/XERCESC-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17072992#comment-17072992 ] Scott Cantor commented on XERCESC-2176: --- It's not an issue for me, I'm just trying to get people to stop banging their heads against it. FWIW, I'm probably going to just shoot for a 3.2.3 patch very shortly with the small set of current changes. I don't need any CMake fixes for that but obviously if you want to do more you can. > Incorrect symbolic links created for Linux static library and MacOS static > and shared libraries > --- > > Key: XERCESC-2176 > URL: https://issues.apache.org/jira/browse/XERCESC-2176 > Project: Xerces-C++ > Issue Type: Bug > Components: Build >Affects Versions: 3.2.0, 3.2.1, 3.2.2 > Environment: Linux, MacOS >Reporter: Brent Davis >Assignee: Roger Leigh >Priority: Minor > Fix For: 3.2.3 > > > We build Xerces-C++ for both the Linux and MacOS platforms, with both static > and shared libraries. There are arguably some dubiously named symbolic links > created by src/CMakeLists.txt. The symlinks are always named > 'libxerces-c.so' regardless or library type, or use of the .dylib extension > on MacOS. > ||Platform||Library Type||Symbolic Link||Comment|| > |{color:#de350b}Linux{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#00875a} > {color}|{color:#00875a}shared{color}|{color:#00875a}libxerces-c.so -> > libxerces-c-3.2.so{color}|{color:#00875a}good{color}| > |{color:#de350b}MacOS{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#de350b} > {color}|{color:#de350b}shared{color}|{color:#de350b}libxerces-c.so -> > libxerces-c-3.2.dylib{color}|{color:#de350b}symbolic link should best be > named libxerces-c.dylib{color}| > Curiously, the Microsoft _vcpkg_ folks just recently ran into the Linux > static library portion of this issue and elected to not create the symlink in > that case. See [[xerces-c] produces strange files in > installed/x64-linux/lib|[https://github.com/microsoft/vcpkg/issues/7490]]. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[jira] [Commented] (XERCESC-2176) Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
[ https://issues.apache.org/jira/browse/XERCESC-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17072988#comment-17072988 ] Roger Leigh commented on XERCESC-2176: -- Sorry I've not had time to devote to this yet, I've had a very busy couple of months. > Incorrect symbolic links created for Linux static library and MacOS static > and shared libraries > --- > > Key: XERCESC-2176 > URL: https://issues.apache.org/jira/browse/XERCESC-2176 > Project: Xerces-C++ > Issue Type: Bug > Components: Build >Affects Versions: 3.2.0, 3.2.1, 3.2.2 > Environment: Linux, MacOS >Reporter: Brent Davis >Assignee: Roger Leigh >Priority: Minor > Fix For: 3.2.3 > > > We build Xerces-C++ for both the Linux and MacOS platforms, with both static > and shared libraries. There are arguably some dubiously named symbolic links > created by src/CMakeLists.txt. The symlinks are always named > 'libxerces-c.so' regardless or library type, or use of the .dylib extension > on MacOS. > ||Platform||Library Type||Symbolic Link||Comment|| > |{color:#de350b}Linux{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#00875a} > {color}|{color:#00875a}shared{color}|{color:#00875a}libxerces-c.so -> > libxerces-c-3.2.so{color}|{color:#00875a}good{color}| > |{color:#de350b}MacOS{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#de350b} > {color}|{color:#de350b}shared{color}|{color:#de350b}libxerces-c.so -> > libxerces-c-3.2.dylib{color}|{color:#de350b}symbolic link should best be > named libxerces-c.dylib{color}| > Curiously, the Microsoft _vcpkg_ folks just recently ran into the Linux > static library portion of this issue and elected to not create the symlink in > that case. See [[xerces-c] produces strange files in > installed/x64-linux/lib|[https://github.com/microsoft/vcpkg/issues/7490]]. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[jira] [Commented] (XERCESC-2176) Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
[ https://issues.apache.org/jira/browse/XERCESC-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17072968#comment-17072968 ] Scott Cantor commented on XERCESC-2176: --- Strongly suggest you use the autoconf build for any non-Windows project. If that's also broken I can look at it. > Incorrect symbolic links created for Linux static library and MacOS static > and shared libraries > --- > > Key: XERCESC-2176 > URL: https://issues.apache.org/jira/browse/XERCESC-2176 > Project: Xerces-C++ > Issue Type: Bug > Components: Build >Affects Versions: 3.2.0, 3.2.1, 3.2.2 > Environment: Linux, MacOS >Reporter: Brent Davis >Assignee: Roger Leigh >Priority: Minor > Fix For: 3.2.3 > > > We build Xerces-C++ for both the Linux and MacOS platforms, with both static > and shared libraries. There are arguably some dubiously named symbolic links > created by src/CMakeLists.txt. The symlinks are always named > 'libxerces-c.so' regardless or library type, or use of the .dylib extension > on MacOS. > ||Platform||Library Type||Symbolic Link||Comment|| > |{color:#de350b}Linux{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#00875a} > {color}|{color:#00875a}shared{color}|{color:#00875a}libxerces-c.so -> > libxerces-c-3.2.so{color}|{color:#00875a}good{color}| > |{color:#de350b}MacOS{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#de350b} > {color}|{color:#de350b}shared{color}|{color:#de350b}libxerces-c.so -> > libxerces-c-3.2.dylib{color}|{color:#de350b}symbolic link should best be > named libxerces-c.dylib{color}| > Curiously, the Microsoft _vcpkg_ folks just recently ran into the Linux > static library portion of this issue and elected to not create the symlink in > that case. See [[xerces-c] produces strange files in > installed/x64-linux/lib|[https://github.com/microsoft/vcpkg/issues/7490]]. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org