Meson build failing(not completing) on windows server 2019

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Meson build failing(not completing) on windows server 2019

Moiz
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
Reply | Threaded
Open this post in threaded view
|

Re: Meson build failing(not completing) on windows server 2019

David Ing
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

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

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Meson build failing(not completing) on windows server 2019

Moiz
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
Reply | Threaded
Open this post in threaded view
|

Re: Meson build failing(not completing) on windows server 2019

David Ing
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
Reply | Threaded
Open this post in threaded view
|

Re: Meson build failing(not completing) on windows server 2019

Moiz
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
Reply | Threaded
Open this post in threaded view
|

Re: Meson build failing(not completing) on windows server 2019

Nirbheek Chauhan
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
Reply | Threaded
Open this post in threaded view
|

Re: Meson build failing(not completing) on windows server 2019

Moiz
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
Reply | Threaded
Open this post in threaded view
|

Re: Meson build failing(not completing) on windows server 2019

Nirbheek Chauhan
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