Re: [Evolution-hackers] Checking installation of header files for data service components
> Evolution depends on the evolution-data-server, not only as a usual > library dependency, but also because things are just split into the two > projects and to fix a problem in Evolution can mean to touch the > evolution-data-server code, sometimes only there, sometimes on both places. Thanks for such background information. > Thus when you develop for Evolution, you should build it into > the same CMAKE_INSTALL_PREFIX as you built the evolution-data-server with. Such a software build configuration can make the dependency resolution a bit easier. But I am trying to achieve that the service and client implementation can be built separately. There can be also several installation locations be considered for required libraries on demand. > It seems it's not understandable from the copy tutorial of > "how to build from sources" for you for some reason, from a link I gave > you I guess like tenth times: > https://wiki.gnome.org/Apps/Evolution/Building > Read it carefully. Follow it closely. Things will work. This version of the installation instructions work only together with some constraints. > I said it to you elsewhere already: if you do nasty things (using the > DESTDIR and expect that you can build against such "copied" > (they are not *installed*, The software components get installed into an alternative location. > because DESTDIR != CMAKE_INSTALL_PREFIX) sources, The software installation gets redirected to an other destination (if such an environment variable is supported on a system). > then you are in it on your own. I hope that the software development attention and interests can grow for this purpose. >It doesn't mean the code base doesn't > support other environments, it only means that there is no intention to > make the Building page too complicated, to rise the barrier to the > newcomers, from my point of view unnecessary. I suggest to reconsider corresponding concerns. > You do not seem to be a newbie, That is right. - This can be easily determined from published development activities. > you seem to be able to make things work on your own, I am trying also to reduce limitations occasionally. > with your nasty workarounds. I am curious under which circumstances proper solutions will be applied. > Which is good. For you. I imagine that more people can benefit from the presentation of an evolving build script adjustment. Further implementation details can be improved accordingly, can't they? Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
Hi, On Mon, 2020-11-23 at 21:00 +0100, Markus Elfring via evolution-hackers wrote: > This build parameter can trigger also further development challenges. No, as long as you use it properly. Evolution depends on the evolution-data-server, not only as a usual library dependency, but also because things are just split into the two projects and to fix a problem in Evolution can mean to touch the evolution-data-server code, sometimes only there, sometimes on both places. Thus when you develop for Evolution, you should build it into the same CMAKE_INSTALL_PREFIX as you built the evolution-data-server with. That's all. It seems it's not understandable from the copy tutorial of "how to build from sources" for you for some reason, from a link I gave you I guess like tenth times: https://wiki.gnome.org/Apps/Evolution/Building Read it carefully. Follow it closely. Things will work. I said it to you elsewhere already: if you do nasty things (using the DESTDIR and expect that you can build against such "copied" (they are not *installed*, because DESTDIR != CMAKE_INSTALL_PREFIX) sources, then you are in it on your own. It doesn't mean the code base doesn't support other environments, it only means that there is no intention to make the Building page too complicated, to rise the barrier to the newcomers, from my point of view unnecessary. You do not seem to be a newbie, you seem to be able to make things work on your own, with your nasty workarounds. Which is good. For you. Bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
> … Instead, use DESTDIR properly I find that this happening here. > (aka not at all, I am using such an environment variable for intended purposes, > because you are not a packager, Such a view can be appropriate at the moment. > and configure the project properly, Such an expectation can be fine (in principle). > by using expected CMAKE_INSTALL_PREFIX, not some artificial. This build parameter can trigger also further development challenges. The chosen installation approach influences which storage locations can be reused for libraries from the GNOME Evolution data service, doesn't it? > That's at least my understanding from this lengthy thread. Our software usage seems to differ in specific aspects. Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
On Mon, 2020-11-23 at 17:15 +0100, Markus Elfring via evolution-hackers wrote: > How do you think about to take further software extension > possibilities into account here? Hi, no, I'm sorry. Instead, use DESTDIR properly (aka not at all, because you are not a packager, you are not building a package) and configure the project properly, by using expected CMAKE_INSTALL_PREFIX, not some artificial. That's at least my understanding from this lengthy thread. Bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
> In file included from > /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/e-util.h:266, > from > /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/test-proxy-preferences.c:18: > /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/e-webdav-browser.h:26:10: > fatal error: libedataserverui/libedataserverui.h: No such file or directory >26 | #include > | ^ > compilation terminated. > ninja: build stopped: subcommand failed. > > > Now I imagine that the header file inclusion parameters can be extended > somehow. > Would you like to clarify corresponding adjustment possibilities? > > How should a path like the following be automatically chosen to resolve > such a software dependency? > ~/Projekte/Test/Evolution/Service/current/home/elfring/Projekte/Test/Evolution/Service/current/include/evolution-data-server/libedataserverui/libedataserverui.h Now I suggest to extend a build script like the following. https://gitlab.gnome.org/GNOME/evolution/-/blob/d1f4010751c65a3ac5de3919905e2f14f5f4744f/CMakeLists.txt#L271 add_printable_variable(EVOLUTION_DATA_SERVER_LIBRARY_SUBDIR "Choose a subdirectory for library files of the GNOME Evolution data server on demand" "evolution-data-server") add_printable_variable_path(EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX "Choose an installation prefix for the GNOME Evolution data server on demand" "${CMAKE_INSTALL_PREFIX}") if(EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX) if(PKG_CONFIG_USE_CMAKE_PREFIX_PATH OR CMAKE_VERSION VERSION_GREATER_EQUAL 3.1) option(EVOLUTION_DATA_SERVER_USE_STATIC_LIBRARIES "Should a configuration be used according to static libraries from the GNOME Evolution data server?" ON) cmake_policy(SET CMP0057 NEW) set(EVOLUTION_DATA_SERVER_INSTALLATION_DIR "${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}${CMAKE_BINARY_DIR}") if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST CMAKE_PREFIX_PATH) list(APPEND CMAKE_PREFIX_PATH "${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}") endif() if(CMAKE_HOST_SYSTEM_NAME EQUAL "Darwin") if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST CMAKE_FRAMEWORK_PATH) list(APPEND CMAKE_FRAMEWORK_PATH "${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}") endif() if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST CMAKE_APPBUNDLE_PATH) list(APPEND CMAKE_APPBUNDLE_PATH "${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}") endif() endif() endif() endif() pkg_check_modules(EVOLUTION_DATA_SERVER REQUIRED camel-1.2>=${eds_minimum_version} libebook-1.2>=${eds_minimum_version} libecal-2.0>=${eds_minimum_version} libedataserver-1.2>=${eds_minimum_version} libedataserverui-1.2>=${eds_minimum_version} libebackend-1.2>=${eds_minimum_version} ) if(EVOLUTION_DATA_SERVER_INSTALLATION_DIR) set(subdir "/${EVOLUTION_DATA_SERVER_LIBRARY_SUBDIR}") if(EVOLUTION_DATA_SERVER_USE_STATIC_LIBRARIES) set(pattern "(.*/include${subdir})") list(TRANSFORM EVOLUTION_DATA_SERVER_INCLUDE_DIRS REPLACE "^${pattern}$" "${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}\\1" OUTPUT_VARIABLE x) message(STATUS "Static transformation approach:\n${x}") list(TRANSFORM EVOLUTION_DATA_SERVER_CFLAGS REPLACE "^-I${pattern}$" "-I${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}\\1" OUTPUT_VARIABLE y) else() set(pattern # "(${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}.*/include(?!${subdir}))" "(${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}.*/include)" ) list(TRANSFORM EVOLUTION_DATA_SERVER_INCLUDE_DIRS REPLACE "^${pattern}$" "\\1${subdir}" OUTPUT_VARIABLE x) message(STATUS "Dynamic transformation approach:\n${x}") list(TRANSFORM EVOLUTION_DATA_SERVER_CFLAGS REPLACE "^-I${pattern}$" "-I\\1${subdir}" OUTPUT_VARIABLE y) endif() if(EVOLUTION_DATA_SERVER_INCLUDE_DIRS EQUAL x) message(FATAL_ERROR "An adjustment approach failed for the variable “EVOLUTION_DATA_SERVER_INCLUDE_DIRS”.\nPlease check the corresponding dependencies once more.") endif() if(EVOLUTION_DATA_SERVER_CFLAGS EQUAL y) message(FATAL_ERROR "An adjustment approach failed for the variable
Re: [Evolution-hackers] Checking installation of header files for data service components
> When you tell the software that the files will be located in /a/b (in > this case by using -DCMAKE_INSTALL_PREFIX=/a/b) and then you install it > into /g/h (by using DESTDIR=/g/h make install) then it does exactly > what you told it. This part should usually be fine. > b) you do not need to (mis-)use DESTDIR at all. I am using this variable in the intended way. > If you are going to object that you intentionally want to use different > install directory in configure and then install files elsewhere and > then you intentionally want to use the files from the other location > than for which the software was configured, then you did not understand > what the DESTDIR is for. I am pointing out that there are further development and configuration challenges to consider for reuse of such installed data. The build scripts can be extended to look for software dependencies in additional storage locations according to related applications. Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
On Mon, 2020-11-16 at 15:45 +0100, Markus Elfring via evolution-hackers wrote: > It seems that this is not directly supported so far with the provided > version. Hi, no, no, no, I do not think so. When you tell the software that the files will be located in /a/b (in this case by using -DCMAKE_INSTALL_PREFIX=/a/b) and then you install it into /g/h (by using DESTDIR=/g/h make install) then it does exactly what you told it. Use -DCMAKE_INSTALL_PREFIX=/g/h and: a) you'll install files where you want them to be installed b) you do not need to (mis-)use DESTDIR at all. If you are going to object that you intentionally want to use different install directory in configure and then install files elsewhere and then you intentionally want to use the files from the other location than for which the software was configured, then you did not understand what the DESTDIR is for. Or I did not understand it, but, from my point of view, the [1] (for which I gave a link to earlier) tells its intention very clearly. I consider this "discussion" over. Thanks and bye, Milan [1] https://www.gnu.org/prep/standards/html_node/DESTDIR.html ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
> I did not notice any limitation. A build system configuration limitation was demonstrated by missing a known header file which is available in another selected storage location. >> I would like to reuse software components directly from a “staged” >> (test) installation. > > Sure, then do configure it as such. It seems that this is not directly supported so far with the provided version. Thus I am also trying again to make you more aware of possible adjustments for affected build scripts. Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
On Mon, 2020-11-16 at 14:52 +0100, Markus Elfring via evolution-hackers wrote: > I noticed specific limitations. Hi, I did not notice any limitation. > I would like to reuse software components directly from a “staged” > (test) installation. Sure, then do configure it as such. Bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
> https://www.gnu.org/prep/standards/html_node/DESTDIR.html I have read the document section “7.2.4 DESTDIR: Support for Staged Installs” once more. > Hint: You misuse the DESTDIR variable. I got obviously an other impression. > Hence, there's nothing to be changed in the build process. I am still trying to propose extensions for the affected build scripts. > I mean, on the project side. It works perfectly fine and as expected I noticed specific limitations. I would like to reuse software components directly from a “staged” (test) installation. > by the rest of the world. I am curious if the corresponding expectations will evolve further. Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
On Fri, 2020-11-13 at 22:03 +0100, Markus Elfring via evolution-hackers wrote: > > Make sure you provide precise commands to reproduce the problem. > > The provided build data show helpful information for the failure > to include a special header file. Hi, pity you denied to do the above. > (with the help of the environment variable “DESTDIR”). Oh, here's a little tiny bit of requested information. Please, read this: https://www.gnu.org/prep/standards/html_node/DESTDIR.html and think what you've done wrong. Hint: You misuse the DESTDIR variable. Hence, there's nothing to be changed in the build process. I mean, on the project side. It works perfectly fine and as expected by the rest of the world. There are things to be changed on your side, though. Bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
> could you use bug tracker to fill bugs, please? I hope that the clarification will be continued with the bug report “Make selection of installation contexts configurable for software build components”. https://gitlab.gnome.org/GNOME/evolution/-/issues/1226 Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
On Fri, 2020-11-13 at 22:32 +0100, Markus Elfring via evolution-hackers wrote: > > and also always provided actual problem descriptions and use cases > > in > > your GitLab tickets (as requested many times before). > > Do you find my experience report acceptable and reasonable for the > desired > clarification of a compilation failure? See Milan's reply in this thread plus my previous replies. Cheers, andre -- Andre Klapper | ak...@gmx.net https://blogs.gnome.org/aklapper/ ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
> and also always provided actual problem descriptions and use cases in > your GitLab tickets (as requested many times before). Do you find my experience report acceptable and reasonable for the desired clarification of a compilation failure? Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
On Fri, 2020-11-13 at 22:23 +0100, Markus Elfring via evolution-hackers wrote: > > Not if you finally decided to follow the scheme and guidelines in > > https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines > > (as requested many times before). > > Would you get into the mood to achieve further improvements for the > affected > software build system Possibly, if you finally decided to follow the scheme and guidelines in https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines and also always provided actual problem descriptions and use cases in your GitLab tickets (as requested many times before). andre -- Andre Klapper | ak...@gmx.net https://blogs.gnome.org/aklapper/ ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
> Not if you finally decided to follow the scheme and guidelines in > https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines > (as requested many times before). Would you get into the mood to achieve further improvements for the affected software build system (eventually also without the questionable issue tracker)? Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
On Fri, 2020-11-13 at 22:03 +0100, Markus Elfring via evolution-hackers wrote: > > There can be a risk that the communication will evolve in ways > so that such an issue would be locked again before a desirable result > would be achieved. Not if you finally decided to follow the scheme and guidelines in https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines (as requested many times before). Cheers, andre -- Andre Klapper | ak...@gmx.net https://blogs.gnome.org/aklapper/ ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Checking installation of header files for data service components
> could you use bug tracker to fill bugs, please? I can register another clarification request also in an issue tracker. > Apart of it being much easier to track the issues, There can be a risk that the communication will evolve in ways so that such an issue would be locked again before a desirable result would be achieved. > and the infrastructure being made to handle such things properly, The known information system can be helpful to some degree. > it's also much harder to lost track of such issues > than when it's lost in a mailing list. I hope that technical aspects can be clarified also here. > Make sure you provide precise commands to reproduce the problem. The provided build data show helpful information for the failure to include a special header file. > I do not see how this could fail. A pattern can be identified here. The development version of the software “GNOME Evolution Data Server” was installed into the directory “~/Projekte/Test/Evolution/Service/current” (with the help of the environment variable “DESTDIR”). This detail was not preserved by the tool “pkgconf” for reuse then. Will the build system need any further software extensions? Regards, Markus ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers