I am using gst-build repo to build gstreamer using meson and ninja
Most of it builds successfully however it doesn't complete the build, and as a result of this I am missing some plugins. After running ninja -C builddir, my build fails with the following errors [7/101] Linking target subprojects/gst-devtools/validate/tools/gst-validate-images-check-1.0.exe FAILED: subprojects/gst-devtools/validate/tools/gst-validate-images-check-1.0.exe subprojects/gst-devtools/validate/tools/gst-validate-images-check-1.0.pdb "link" /MACHINE:x86 /OUT:subprojects/gst-devtools/validate/tools/gst-validate-images-check-1.0.exe subprojects/gst-devtools/validate/tools/gst-validate-images-check-1.0.exe.p/gst-validate-images-check.c.obj "/nologo" "/release" "/nologo" "/DEBUG" "/PDB:subprojects\gst-devtools\validate\tools\gst-validate-images-check-1.0.pdb" "subprojects\gst-devtools\validate\gst-libs\gst\video\libgstvalidatevideo.a" "subprojects\gstreamer\gst\gstreamer-1.0.lib" "subprojects\glib\glib\glib-2.0.lib" "subprojects\proxy-libintl\intl.lib" "subprojects\glib\gobject\gobject-2.0.lib" "subprojects\glib\gmodule\gmodule-2.0.lib" "subprojects\gst-plugins-base\gst-libs\gst\video\gstvideo-1.0.lib" "subprojects\gstreamer\libs\gst\base\gstbase-1.0.lib" "subprojects\orc\orc\orc-0.4.lib" "subprojects\gst-plugins-base\gst-libs\gst\pbutils\gstpbutils-1.0.lib" "subprojects\gst-plugins-base\gst-libs\gst\audio\gstaudio-1.0.lib" "subprojects\gst-plugins-base\gst-libs\gst\tag\gsttag-1.0.lib" "subprojects\zlib\z.lib" "subprojects\cairo\src\cairo.lib" "subprojects\glib\gio\gio-2.0.lib" "subprojects\gst-devtools\validate\gst\validate\gstvalidate-1.0.lib" "subprojects\gstreamer\libs\gst\check\gstcheck-1.0.lib" "subprojects\gstreamer\libs\gst\controller\gstcontroller-1.0.lib" "subprojects\json-glib\json-glib\json-glib-1.0.lib" "/SUBSYSTEM:CONSOLE" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib" libgstvalidatevideo.a(gstvalidatessim.c.obj) : error LNK2019: unresolved external symbol _cairo_surface_write_to_png referenced in function _gst_validate_ssim_save_out libgstvalidatevideo.a(gstvalidatessim.c.obj) : error LNK2019: unresolved external symbol _cairo_image_surface_create_from_png referenced in function _gst_validate_ssim_get_frame_from_png subprojects/gst-devtools/validate/tools/gst-validate-images-check-1.0.exe : fatal error LNK1120: 2 unresolved externals [8/101] Linking target subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim.dll FAILED: subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim.dll subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim.pdb "link" /MACHINE:x86 /OUT:subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim.dll subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim.dll.p/gstvalidatessim.c.obj "/nologo" "/release" "/nologo" "/DEBUG" "/PDB:subprojects\gst-devtools\validate\plugins\ssim\gstvalidatessim.pdb" "/DLL" "/IMPLIB:subprojects\gst-devtools\validate\plugins\ssim\gstvalidatessim.lib" "subprojects\gst-devtools\validate\gst-libs\gst\video\libgstvalidatevideo.a" "subprojects\gstreamer\gst\gstreamer-1.0.lib" "subprojects\glib\glib\glib-2.0.lib" "subprojects\proxy-libintl\intl.lib" "subprojects\glib\gobject\gobject-2.0.lib" "subprojects\glib\gmodule\gmodule-2.0.lib" "subprojects\gst-plugins-base\gst-libs\gst\video\gstvideo-1.0.lib" "subprojects\gstreamer\libs\gst\base\gstbase-1.0.lib" "subprojects\orc\orc\orc-0.4.lib" "subprojects\gst-plugins-base\gst-libs\gst\pbutils\gstpbutils-1.0.lib" "subprojects\gst-plugins-base\gst-libs\gst\audio\gstaudio-1.0.lib" "subprojects\gst-plugins-base\gst-libs\gst\tag\gsttag-1.0.lib" "subprojects\zlib\z.lib" "subprojects\cairo\src\cairo.lib" "subprojects\glib\gio\gio-2.0.lib" "subprojects\gst-devtools\validate\gst\validate\gstvalidate-1.0.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib" Creating library subprojects\gst-devtools\validate\plugins\ssim\gstvalidatessim.lib and object subprojects\gst-devtools\validate\plugins\ssim\gstvalidatessim.exp gstvalidatessim.c.obj : error LNK2019: unresolved external symbol _cairo_surface_write_to_png referenced in function __save_frame libgstvalidatevideo.a(gstvalidatessim.c.obj) : error LNK2001: unresolved external symbol _cairo_surface_write_to_png libgstvalidatevideo.a(gstvalidatessim.c.obj) : error LNK2019: unresolved external symbol _cairo_image_surface_create_from_png referenced in function _gst_validate_ssim_get_frame_from_png subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim.dll : fatal error LNK1120: 2 unresolved externals [12/101] Compiling C object subprojects/gst-editing-services/ges/ges-1.0-0.dll.p/ges-audio-uri-source.c.obj ninja: build stopped: subcommand failed. As a result of this I am missing base plugins such as vorbis enc When I run python gst-env.py, then gst-inspect-1.0 vorbisenc I get no such element vorbisenc Is there any issues with my build, I have python3.9, tried with visual studio community 2017 and 2019, ninja 1.10, meson 0.55, Built using meson builddir & ninja -C builddir I am also on windows server 2019 -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I believe you need cerbero to run the build on Windows. On Tue, Oct 13, 2020 at 9:48 PM Moiz <[hidden email]> wrote: I am using gst-build repo to build gstreamer using meson and ninja _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I have tried cerbero, and it creates a bunch of msm files, I have converted
those msm files to msi and then ran the installer on all the msi files, however it only shows 20 or so plugins when I run gst-inspect-1.0 -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
The last I heard (around the time of Gstreamer 1.16), I think the following statements were true:
I am not sure if this has changed for Gstreamer 1.18. On Tue, Oct 13, 2020 at 10:08 PM Moiz <[hidden email]> wrote: I have tried cerbero, and it creates a bunch of msm files, I have converted _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanks for that, regarding the pre-built windows binaries that are built with
cerbero, I am missing wasapi2src, this exists when I run gst build using meson. Is there any reason for this, also how can I add wasapi2src if it doesn't exist in the pre-built binaries that use cerbero. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by David Ing
Hi,
Cerbero outputs both MSIs and MSM files. Same as what's on the download page. gst-build can be used on Windows, but you will get fewer plugins and things generally aren't as well-tested for deployment. Cerbero is the recommended way if all you want to do is build and deploy. Last I checked, Windows Server 2019 was missing a bunch of runtime DLLs for things like wasapi, d3d11, mediafoundation, etc. You may need to install VC runtimes for those. You should debug why plugins aren't getting loaded using https://github.com/lucasg/Dependencies which also has a commandline tool. When something doesn't work, you should try to figure out why before trying something different, otherwise you're probably just going to be hitting the same issue from different directions ;) Cheers, Nirbheek On Wed, Oct 14, 2020 at 12:00 PM David Ing <[hidden email]> wrote: > > The last I heard (around the time of Gstreamer 1.16), I think the following statements were true: > > gst-build is the recommended tool for building on Linux (not Windows) > cerbero is the recommended tool for building on Windows (and perhaps other platforms, but not Linux). > The pre-built Windows binaries (https://gstreamer.freedesktop.org/download/) are built with cerbero. > > I am not sure if this has changed for Gstreamer 1.18. > > On Tue, Oct 13, 2020 at 10:08 PM Moiz <[hidden email]> wrote: >> >> I have tried cerbero, and it creates a bunch of msm files, I have converted >> those msm files to msi and then ran the installer on all the msi files, >> however it only shows 20 or so plugins when I run gst-inspect-1.0 >> >> >> >> >> >> -- >> Sent from: http://gstreamer-devel.966125.n4.nabble.com/ >> _______________________________________________ >> 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 |
Thanks for the dependencies repo!
Just to confirm, manually building using cerbero will produce the same result as installing from the download page? Also, I was able to get wasapi2 to work when using meson build, would that suggest that there are no dll issues getting wasapi2 to work and it is just some issues loading the plugins? And yes I will spend more time figuring out why things aren't working before trying different methods :), thank you for the help -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Wed, Oct 14, 2020 at 2:30 PM Moiz <[hidden email]> wrote:
> > Thanks for the dependencies repo! > > Just to confirm, manually building using cerbero will produce the same > result as installing from the download page? > Yes, if you build the 1.18.0 tag of cerbero > Thanks for that, regarding the pre-built windows binaries that are built with > cerbero, I am missing wasapi2src, this exists when I run gst build using > meson. > > Is there any reason for this, also how can I add wasapi2src if it doesn't > exist in the pre-built binaries that use cerbero. The wasapi2 plugin needs to be built with WINVER set to Windows 10, which we can't do for the whole build because we still target Windows 7. So we need a way to set it for specific plugins. Once that is fixed we can ship wasapi2 with Cerbero too. > Also, I was able to get wasapi2 to work when using meson build, would that > suggest that there are no dll issues getting wasapi2 to work and it is just > some issues loading the plugins? > There isn't enough information at present to deduce why your other plugins fail to load. Cheers, Nirbheek _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |