[jira] [Resolved] (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:all-tabpanel ] Roger Leigh resolved XERCESC-2176. -- Fix Version/s: 3.3.0 Resolution: Fixed > 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, 3.3.0 > > > 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
[GitHub] [xerces-c] rleigh-codelibre merged pull request #10: cmake: Correct shared library name and symlink creation (3.2)
rleigh-codelibre merged pull request #10: cmake: Correct shared library name and symlink creation (3.2) URL: https://github.com/apache/xerces-c/pull/10 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[xerces-c] branch master updated: cmake: Correct shared library name and symlink creation
This is an automated email from the ASF dual-hosted git repository. rleigh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/xerces-c.git The following commit(s) were added to refs/heads/master by this push: new 84395e5 cmake: Correct shared library name and symlink creation new 03fee10 Merge pull request #9 from rleigh-codelibre/cmake-libname-fixes 84395e5 is described below commit 84395e5a61188ed05efb668661f5e2aad17c3a7b Author: Roger Leigh AuthorDate: Thu Apr 2 13:21:06 2020 +0100 cmake: Correct shared library name and symlink creation --- src/CMakeLists.txt | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c29aa25..344851f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1289,11 +1289,13 @@ elseif(UNIX) # set the version in the filename, and create the symlink at install # time. Note: could be dropped when the SONAME is updated and # libtool compatibility is no longer required. - set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") - file(GENERATE -OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" -CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c.so\")") - install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") + if(BUILD_SHARED_LIBS) +set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") +file(GENERATE + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" + CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c${CMAKE_SHARED_LIBRARY_SUFFIX}\")") +install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") + endif() else() # Not used for the common cases, though this would be the default if # not for libtool compatibility. - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[xerces-c] branch xerces-3.2 updated: cmake: Correct shared library name and symlink creation
This is an automated email from the ASF dual-hosted git repository. rleigh pushed a commit to branch xerces-3.2 in repository https://gitbox.apache.org/repos/asf/xerces-c.git The following commit(s) were added to refs/heads/xerces-3.2 by this push: new 44a039f cmake: Correct shared library name and symlink creation new 575717d Merge pull request #10 from rleigh-codelibre/cmake-libname-fixes-3.2 44a039f is described below commit 44a039f61e1a27ecd5bfb45007fc9cbb0c2acfc9 Author: Roger Leigh AuthorDate: Thu Apr 2 13:21:06 2020 +0100 cmake: Correct shared library name and symlink creation --- src/CMakeLists.txt | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c29aa25..344851f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1289,11 +1289,13 @@ elseif(UNIX) # set the version in the filename, and create the symlink at install # time. Note: could be dropped when the SONAME is updated and # libtool compatibility is no longer required. - set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") - file(GENERATE -OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" -CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c.so\")") - install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") + if(BUILD_SHARED_LIBS) +set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") +file(GENERATE + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" + CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c${CMAKE_SHARED_LIBRARY_SUFFIX}\")") +install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") + endif() else() # Not used for the common cases, though this would be the default if # not for libtool compatibility. - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[GitHub] [xerces-c] rleigh-codelibre merged pull request #9: cmake: Correct shared library name and symlink creation
rleigh-codelibre merged pull request #9: cmake: Correct shared library name and symlink creation URL: https://github.com/apache/xerces-c/pull/9 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[jira] [Commented] (XERCESC-2193) Validation error for prefix declaration on element whose value uses a prefix
[ https://issues.apache.org/jira/browse/XERCESC-2193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17074148#comment-17074148 ] Scott Cantor commented on XERCESC-2193: --- I was able to validate an example more or less equivalent to what you posted originally, so I think you're mistaken in some way. > Validation error for prefix declaration on element whose value uses a prefix > > > Key: XERCESC-2193 > URL: https://issues.apache.org/jira/browse/XERCESC-2193 > Project: Xerces-C++ > Issue Type: Bug > Components: Validating Parser (XML Schema) >Affects Versions: 3.2.2 > Environment: Linux >Reporter: Herm Fischer >Priority: Major > > Xerces schema validation reports the prefix is undefined when QName content > of an element is using a prefix defined on the element (works fine with > Xerces-J, etc). > http://example.com/this";>this:someArc > validation message: undefined prefix in QName value 'this:someArc' > Is there a parameter, usage pattern, or code patch which will make this > validate cleanly? (isPrefixUnknown seems to look in element stack instead of > looking first at current element?) -- 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&focusedCommentId=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&focusedCommentId=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&focusedCommentId=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
[GitHub] [xerces-c] rleigh-codelibre opened a new pull request #10: cmake: Correct shared library name and symlink creation
rleigh-codelibre opened a new pull request #10: cmake: Correct shared library name and symlink creation URL: https://github.com/apache/xerces-c/pull/10 Fixes XERCESC-2176 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[GitHub] [xerces-c] rleigh-codelibre opened a new pull request #9: cmake: Correct shared library name and symlink creation
rleigh-codelibre opened a new pull request #9: cmake: Correct shared library name and symlink creation URL: https://github.com/apache/xerces-c/pull/9 Fixes XERCESC-2176 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - 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&focusedCommentId=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
Re: Xerces-C 3.2.3 timeline
Cantor, Scott writes: > I have external constraints such that if I'm going to do this patch release > it needs to be done next week, so any remaining work would need to be in > this week so I can do a build for vote early next. > > There is nothing I would expect is getting done that I think is essential so > I'm not asking for anything, just a heads up in case somebody wants to do > something. Of course if somebody else wants to do a release later, that's > fine also. Sounds good to me. Nice bug cleaning spree! - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org