Hello,
please correct me if there is a better or more up-to-date location for documentation how to build gstreamer under Windows 64 bit for Windows 64 bit with Visual Studio/MSVC. Looking on https://github.com/centricular/cerbero-docs/blob/master/start.md there is mentioned a file win64-mixed-msvc From the fact that perhaps extension ".cbc" is missing and I can't find such a file in https://github.com/GStreamer/cerbero/tree/master/config (same for https://anongit.freedesktop.org/git/gstreamer/cerbero.git and d89232e5644dff8f5206d9970b2626fa57c5958d from Freitag, 21. April 2017 15:45:50) at all. Do I need to look somewhere different? What is the suggested way to compile for/with Win64 with Visual Studio/MSVC? Or is it still too early and MSVC build cannot be used yet? Many thanks! Best regards, Martin _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Martin,
The MSVC patches those docs refer to haven't been merged into upstream Cerbero yet. You can find gstreamer 1.8 and 1.10 here: https://github.com/centricular/cerbero (meson-1.8 and meson-1.10 branches). I haven't gotten around to porting it to 1.12 yet and the master branch doesn't build because of that, but it's on my list. Hope that helps! On Sun, Apr 23, 2017 at 3:58 PM, Martin Maurer <[hidden email]> wrote: > Hello, > > please correct me if there is a better or more up-to-date location for > documentation how to build gstreamer under Windows 64 bit for Windows 64 bit > with Visual Studio/MSVC. > > Looking on > > https://github.com/centricular/cerbero-docs/blob/master/start.md > > there is mentioned a file > > win64-mixed-msvc > > From the fact that perhaps extension ".cbc" is missing and I can't find such > a file in > > https://github.com/GStreamer/cerbero/tree/master/config > > (same for https://anongit.freedesktop.org/git/gstreamer/cerbero.git and > d89232e5644dff8f5206d9970b2626fa57c5958d from Freitag, 21. April 2017 > 15:45:50) > > at all. Do I need to look somewhere different? > > What is the suggested way to compile for/with Win64 with Visual Studio/MSVC? > > Or is it still too early and MSVC build cannot be used yet? > > Many thanks! > > Best regards, > > Martin > > > > > > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Nirbheek,
many thanks for your answer. How big is such an action? Just copying a few file or endless merging? Just to get a feeling... Do you think it still could be inside official release of 1.12 to save you effort to merge it again and again? Or is it already too late for such an action? Is "time" the only blocking point, or still other things which must be clarified before it can go into an official release? I meanwhile went back to branch meson-1.10 and use this for initial (learning) steps. When 1.12 is ready for meson I can move to the new version. I have an additional question: Do I need to call > cerbero-uninstalled -c config/win64-mixed-msvc.cbc bootstrap before something else (in every case) or can I directly call > cerbero-uninstalled -c config/win64-mixed-msvc.cbc package gstreamer-1.0 (because it is doing the bootstrap automatically here)? When building e.g. a 64 bit and a 32 version, do I need some kind of a clean? Or would a clean be even a bad thing, because in second build some steps can be skipped, because it was already built in first build? The meson 1.10 reports some errors. Are you interested to collect such errors? Here via email? Or in the bug-tracker? Best regards, Martin Am 23.04.2017 um 13:54 schrieb Nirbheek Chauhan: > Hi Martin, > > > The MSVC patches those docs refer to haven't been merged into upstream > Cerbero yet. You can find gstreamer 1.8 and 1.10 here: > https://github.com/centricular/cerbero (meson-1.8 and meson-1.10 > branches). I haven't gotten around to porting it to 1.12 yet and the > master branch doesn't build because of that, but it's on my list. > > Hope that helps! > > On Sun, Apr 23, 2017 at 3:58 PM, Martin Maurer > <[hidden email]> wrote: >> Hello, >> >> please correct me if there is a better or more up-to-date location for >> documentation how to build gstreamer under Windows 64 bit for Windows 64 bit >> with Visual Studio/MSVC. >> >> Looking on >> >> https://github.com/centricular/cerbero-docs/blob/master/start.md >> >> there is mentioned a file >> >> win64-mixed-msvc >> >> From the fact that perhaps extension ".cbc" is missing and I can't find such >> a file in >> >> https://github.com/GStreamer/cerbero/tree/master/config >> >> (same for https://anongit.freedesktop.org/git/gstreamer/cerbero.git and >> d89232e5644dff8f5206d9970b2626fa57c5958d from Freitag, 21. April 2017 >> 15:45:50) >> >> at all. Do I need to look somewhere different? >> >> What is the suggested way to compile for/with Win64 with Visual Studio/MSVC? >> >> Or is it still too early and MSVC build cannot be used yet? >> >> Many thanks! >> >> Best regards, >> >> Martin >> >> >> >> >> >> >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Sun, Apr 23, 2017 at 11:52 PM, Martin Maurer
<[hidden email]> wrote: > many thanks for your answer. How big is such an action? > Just copying a few file or endless merging? Just to get a feeling... > Do you think it still could be inside official release of 1.12 > to save you effort to merge it again and again? > Or is it already too late for such an action? > Is "time" the only blocking point, or still other things which must be > clarified > before it can go into an official release? > It's just a matter of getting the time to do it. It won't be in the 1.12 upstream release, but I hope to get it ready for the next one. > I meanwhile went back to branch meson-1.10 and use this for initial > (learning) steps. > When 1.12 is ready for meson I can move to the new version. > > I have an additional question: > > Do I need to call > >> cerbero-uninstalled -c config/win64-mixed-msvc.cbc bootstrap > > before something else (in every case) > Bootstrap only needs to be called once. You may need to call it again after updating Cerbero itself. > or can I directly call > >> cerbero-uninstalled -c config/win64-mixed-msvc.cbc package gstreamer-1.0 > > (because it is doing the bootstrap automatically here)? > No command will automatically run bootstrap for you. > When building e.g. a 64 bit and a 32 version, do I need some kind of a > clean? > Or would a clean be even a bad thing, because in second build some steps can > be skipped, > because it was already built in first build? > 64-bit and 32-bit versions are completely independent. They build inside separate subdirs of the cerbero build directory. > The meson 1.10 reports some errors. Are you interested to collect such > errors? > Here via email? Or in the bug-tracker? > I looked at the log in your email. The main issue seems to be that you did not run a `clean` command when you switched branches to meson-1.10. Please do that so that stale files built by the previous Cerbero branch you were using are removed. I was recently told by someone that they ran it all from scratch and built both 32-bit and 64-bit successfully, and also used it in their application, so it should work. Cheers, Nirbheek _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hello Nirbheek,
I am doing some progress. I meanwhile was able to build the x86_64 (win64) release with meson-1.10. The missing command was the "wipe" (to clean build directory). Now afterwards I directly tried the x86 (win32) build in same directories. But again got compile errors. Now executed the wipe again and trying the win32 build (still running, reached already 18 from 80) I have my files on e: and starting the build there. When calling the wipe for win32 I see the following: $ /c/Python27/python2.exe ./cerbero-uninstalled -c config/win32-mixed-msvc.cbc wipe WARNING!!! This command will delete cerbero's build cache, the sources directory, and the builds directory to reset the build system to its initial state. The following paths will be removed: e:/gstreamer-cerbero-meson-1.10/build/windows_x86.cache c:/gstreamer/1.0/x86_64 *** Here it is using x86_64 instead of x86? Is it correct? What does it do out-of-build-tree on c:\? *** Could this location be influences somehow to move it also to somewhere under e:/gstreamer-cerbero-meson-1.10? *** Finally our build server does support out-of-tree-content outside the working directory. Any idea? *** Where is this location defined? Single or multiple places? e:/gstreamer-cerbero-meson-1.10/build/logs/windows_x86 e:/gstreamer-cerbero-meson-1.10/build/sources/windows_x86 Do you want to continue? [yes/no] yes Are you sure? [yes/no] yes -----> Removing path: e:/gstreamer-cerbero-meson-1.10/build/windows_x86.cache -----> Removing path: c:/gstreamer/1.0/x86_64 -----> Removing path: e:/gstreamer-cerbero-meson-1.10/build/logs/windows_x86 -----> Removing path: e:/gstreamer-cerbero-meson-1.10/build/sources/windows_x86 Just for my understanding: A full build (the ~80 steps...) without meson takes a long time (multiple hours). Do you have a comparison, how long it does take with/without meson, on same machine, with same sources/version? Only a few packages can be built with MSVC, so the others still take hours? Or is time saving only available when doing a partial build for a single package, like during debugging/fixing some problem, but no real great advantage when only building complete package? And of course the big advantage to be able to debug with Visual Studio IDE, use breakpoints and so on. Many thanks! Best regards, Martin Am 24.04.2017 um 12:07 schrieb Nirbheek Chauhan: > On Sun, Apr 23, 2017 at 11:52 PM, Martin Maurer > <[hidden email]> wrote: >> many thanks for your answer. How big is such an action? >> Just copying a few file or endless merging? Just to get a feeling... >> Do you think it still could be inside official release of 1.12 >> to save you effort to merge it again and again? >> Or is it already too late for such an action? >> Is "time" the only blocking point, or still other things which must be >> clarified >> before it can go into an official release? >> > It's just a matter of getting the time to do it. It won't be in the > 1.12 upstream release, but I hope to get it ready for the next one. > >> I meanwhile went back to branch meson-1.10 and use this for initial >> (learning) steps. >> When 1.12 is ready for meson I can move to the new version. >> >> I have an additional question: >> >> Do I need to call >> >>> cerbero-uninstalled -c config/win64-mixed-msvc.cbc bootstrap >> before something else (in every case) >> > Bootstrap only needs to be called once. You may need to call it again > after updating Cerbero itself. > >> or can I directly call >> >>> cerbero-uninstalled -c config/win64-mixed-msvc.cbc package gstreamer-1.0 >> (because it is doing the bootstrap automatically here)? >> > No command will automatically run bootstrap for you. > >> When building e.g. a 64 bit and a 32 version, do I need some kind of a >> clean? >> Or would a clean be even a bad thing, because in second build some steps can >> be skipped, >> because it was already built in first build? >> > 64-bit and 32-bit versions are completely independent. They build > inside separate subdirs of the cerbero build directory. > >> The meson 1.10 reports some errors. Are you interested to collect such >> errors? >> Here via email? Or in the bug-tracker? >> > I looked at the log in your email. The main issue seems to be that you > did not run a `clean` command when you switched branches to > meson-1.10. Please do that so that stale files built by the previous > Cerbero branch you were using are removed. > > I was recently told by someone that they ran it all from scratch and > built both 32-bit and 64-bit successfully, and also used it in their > application, so it should work. > > Cheers, > Nirbheek > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Nirbheek Chauhan
Hello, in release notes of 1.12, meson is mentioned as new/additional build system: "Meson build files are now disted in tarballs, for jhbuild and so distro packagers can start using it. Note that the Meson-based build system is not 100% feature-equivalent with the autotools-based one yet." I assume according to reply I got from Nirbheek (see below) that Meson is not usable in release 1.12? Or were there some late changes for 1.12 to be able to use it? Best regards, Martin -------- Weitergeleitete Nachricht --------
On Sun, Apr 23, 2017 at 11:52 PM, Martin Maurer [hidden email] wrote: > many thanks for your answer. How big is such an action? > Just copying a few file or endless merging? Just to get a feeling... > Do you think it still could be inside official release of 1.12 > to save you effort to merge it again and again? > Or is it already too late for such an action? > Is "time" the only blocking point, or still other things which must be > clarified > before it can go into an official release? > It's just a matter of getting the time to do it. It won't be in the 1.12 upstream release, but I hope to get it ready for the next one. > I meanwhile went back to branch meson-1.10 and use this for initial > (learning) steps. > When 1.12 is ready for meson I can move to the new version. > > I have an additional question: > > Do I need to call > >> cerbero-uninstalled -c config/win64-mixed-msvc.cbc bootstrap > > before something else (in every case) > Bootstrap only needs to be called once. You may need to call it again after updating Cerbero itself. > or can I directly call > >> cerbero-uninstalled -c config/win64-mixed-msvc.cbc package gstreamer-1.0 > > (because it is doing the bootstrap automatically here)? > No command will automatically run bootstrap for you. > When building e.g. a 64 bit and a 32 version, do I need some kind of a > clean? > Or would a clean be even a bad thing, because in second build some steps can > be skipped, > because it was already built in first build? > 64-bit and 32-bit versions are completely independent. They build inside separate subdirs of the cerbero build directory. > The meson 1.10 reports some errors. Are you interested to collect such > errors? > Here via email? Or in the bug-tracker? > I looked at the log in your email. The main issue seems to be that you did not run a `clean` command when you switched branches to meson-1.10. Please do that so that stale files built by the previous Cerbero branch you were using are removed. I was recently told by someone that they ran it all from scratch and built both 32-bit and 64-bit successfully, and also used it in their application, so it should work. Cheers, Nirbheek _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, May 5, 2017 at 12:09 PM, Martin Maurer
<[hidden email]> wrote: > > Hello, > > in release notes of 1.12, meson is mentioned as new/additional build system: > > "Meson build files are now disted in tarballs, for jhbuild and so distro packagers can start using it. Note that the Meson-based build system is not 100% feature-equivalent with the autotools-based one yet." > > I assume according to reply I got from Nirbheek (see below) that Meson is not usable in release 1.12? > The meson build files in 1.12 (and in git master since 1.10) have been tested on Linux via gst-build[1]. Linux distro packagers and gstreamer developers can use that, with the caveat that options for enabling/disabling plugins are still missing from the build files. That requires me to review https://github.com/mesonbuild/meson/pull/1330 first so we have nicer disable/enable options. My reply was about Cerbero, and that still does not support building with the meson build files yet on any platform (in the upstream repository[2]). Merging that feature from the Centricular Cerbero repository[3] to the upstream Cerbero repository is still on my TODO list, and I should be able to at least get it working for Linux soon. Windows/MSVC and Windows/MinGW will come after that. It's taking a while because the way I added it is somewhat hacky, cannot coexist with the Autotools build (i.e., you cannot switch between meson and autotools), and does not work for static plugins yet. I need to set aside a significant amount of time to work on it. However, we really want that, so it'll happen soon. 1. https://cgit.freedesktop.org/gstreamer/gst-build -- Thiblahute and Scott have it working on MSYS2/MinGW as well 2. https://cgit.freedesktop.org/gstreamer/cerbero 3. https://github.com/centricular/cerbero Hope that clarifies things. Cheers, Nirbheek _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le vendredi 05 mai 2017 à 12:38 +0530, Nirbheek Chauhan a écrit :
> On Fri, May 5, 2017 at 12:09 PM, Martin Maurer > <[hidden email]> wrote: > > > > Hello, > > > > in release notes of 1.12, meson is mentioned as new/additional > > build system: > > > > "Meson build files are now disted in tarballs, for jhbuild and so > > distro packagers can start using it. Note that the Meson-based > > build system is not 100% feature-equivalent with the autotools- > > based one yet." > > > > I assume according to reply I got from Nirbheek (see below) that > > Meson is not usable in release 1.12? > > > > The meson build files in 1.12 (and in git master since 1.10) have > been > tested on Linux via gst-build[1]. Linux distro packagers and > gstreamer > developers can use that, with the caveat that options for > enabling/disabling plugins are still missing from the build files. > That requires me to review > https://github.com/mesonbuild/meson/pull/1330 first so we have nicer > disable/enable options. when built with Meson. This is because ABI regex are not usable in meson (not easy at least). I do hope we will finish fixing this for the next major release, but don't hold your breath. > > My reply was about Cerbero, and that still does not support building > with the meson build files yet on any platform (in the upstream > repository[2]). Merging that feature from the Centricular Cerbero > repository[3] to the upstream Cerbero repository is still on my TODO > list, and I should be able to at least get it working for Linux soon. > Windows/MSVC and Windows/MinGW will come after that. It's taking a > while because the way I added it is somewhat hacky, cannot coexist > with the Autotools build (i.e., you cannot switch between meson and > autotools), and does not work for static plugins yet. I need to set > aside a significant amount of time to work on it. However, we really > want that, so it'll happen soon. > > 1. https://cgit.freedesktop.org/gstreamer/gst-build -- Thiblahute and > Scott have it working on MSYS2/MinGW as well > 2. https://cgit.freedesktop.org/gstreamer/cerbero > 3. https://github.com/centricular/cerbero > > Hope that clarifies things. > > Cheers, > Nirbheek > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (188 bytes) Download Attachment |
On Sun, May 7, 2017 at 6:06 AM, Nicolas Dufresne <[hidden email]> wrote:
> Be aware that exported symbols in shared object are still unfiltered > when built with Meson. This is because ABI regex are not usable in > meson (not easy at least). I do hope we will finish fixing this for the > next major release, but don't hold your breath. > I believe Tim plans to add proper symbol visibility macros in our headers so that we get that for free. This is already the case for libgstgl because it's needed for DLL symbol and constant exporting. But yes, you're right that distros shouldn't ship this till that happens. Cheers, Nirbheek _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |