Hi I am trying to build the gstreamer in windows using visual studio terminal.
Initially checked with latest code and then moved to 1.22 branch, getting the same errors.
Do I need to install any specific packages/software before installing gstreamer?
Pasting the log
[965/4120] Linking target subprojects/gst-plugins-base/gst/videotestsrc/gstvideotestsrc.dll
Creating library subprojects\gst-plugins-base\gst\videotestsrc\gstvideotestsrc.lib and object subprojects\gst-plugins-base\gst\videotestsrc\gstvideotestsrc.exp
[966/4120] Linking target subprojects/gst-plugins-base/gst/volume/gstvolume.dll
Creating library subprojects\gst-plugins-base\gst\volume\gstvolume.lib and object subprojects\gst-plugins-base\gst\volume\gstvolume.exp
[1023/4120] Linking target subprojects/gst-plugins-base/ext/ogg/gstogg.dll
FAILED: subprojects/gst-plugins-base/ext/ogg/gstogg.dll subprojects/gst-plugins-base/ext/ogg/gstogg.pdb
“link” /MACHINE:x64 /OUT:subprojects/gst-plugins-base/ext/ogg/gstogg.dll subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/dirac_parse.c.obj subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/gstoggaviparse.c.obj subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/gstoggplugin.c.obj subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/gstoggdemux.c.obj subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/gstoggmux.c.obj subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/gstoggparse.c.obj subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/gstoggstream.c.obj subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/gstogmparse.c.obj subprojects/gst-plugins-base/ext/ogg/gstogg.dll.p/vorbis_parse.c.obj “/release” “/nologo” “/DEBUG” “/PDB:subprojects\gst-plugins-base\ext\ogg\gstogg.pdb” “/DLL” “/IMPLIB:subprojects\gst-plugins-base\ext\ogg\gstogg.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/gstreamer/libs/gst/base/gstbase-1.0.lib” “subprojects/gstreamer/gst/gstreamer-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/video/gstvideo-1.0.lib” “subprojects/gst-plugins-base/gst-libs/gst/riff/gstriff-1.0.lib” “/SAFESEH:NO” “/LIBPATH:C:/projects/repos/cerbero.git/1.22/build/dist/msvc_x86_64/lib” “ogg.lib” “C:/gstreamer/1.0/msvc_x86_64/lib/glib-2.0.lib” “C:/gstreamer/1.0/msvc_x86_64/lib/intl.lib” “C:/gstreamer/1.0/msvc_x86_64/lib/gobject-2.0.lib” “C:/gstreamer/1.0/msvc_x86_64/lib/gmodule-2.0.lib” “C:/gstreamer/1.0/msvc_x86_64/lib/z.lib” “kernel32.lib” “user32.lib” “gdi32.lib” “winspool.lib” “shell32.lib” “ole32.lib” “oleaut32.lib” “uuid.lib” “comdlg32.lib” “advapi32.lib”
LINK : fatal error LNK1181: cannot open input file ‘ogg.lib’
[1027/4120] Linking target subprojects/gst-plugins-base/ext/gl/gstopengl.dll
FAILED: subprojects/gst-plugins-base/ext/gl/gstopengl.dll subprojects/gst-plugins-base/ext/gl/gstopengl.pdb
“link” @subprojects /gst-plugins-base/ext/gl/gstopengl.dll.rsp
LINK : fatal error LNK1181: cannot open input file ‘jpeg.lib’
[1036/4120] Compiling C object subprojects/gst-plugins-base/ext/pango/gstpango.dll.p/gstbasetextoverlay.c.obj
ninja: build stopped: subcommand failed.
tpm
February 23, 2024, 10:34am
2
Could you attach your $builddir/meson-log/meson-log.txt
? (So we can check where your ogg library comes from and what version it is etc)
Alternatively you can pass -Dgst-plugins-base:ogg=disabled
to Meson and move on.
Hi I am unable to attach the text file. Pasting the ogg related info.
CMake binary for host machine is cached.
Preliminary CMake check failed. Aborting.
Run-time dependency libvisual-0.4 found: NO (tried pkgconfig and cmake)
Determining dependency ‘ogg’ with pkg-config executable ‘C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE’
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE
Called: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE --modversion ogg
→ 0
stdout:
1.3.5
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE
Called: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE --cflags ogg
→ 0
stdout:
-IC:/gstreamer/1.0/msvc_x86_64/include
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE
Called: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE --libs ogg
→ 0
stdout:
-LC:/projects/repos/cerbero.git/1.22/build/dist/msvc_x86_64/lib -logg
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE
Called: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE --libs ogg
→ 0
stdout:
-LC:/projects/repos/cerbero.git/1.22/build/dist/msvc_x86_64/lib -logg
Run-time dependency ogg found: YES 1.3.5
Determining dependency ‘opus’ with pkg-config executable ‘C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE’
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE
Called: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE --modversion opus
→ 0
stdout:
1.3.1
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE
Called: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE --cflags opus
→ 0
stdout:
-IC:/gstreamer/1.0/msvc_x86_64/include/opus
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE
Called: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE --libs opus
→ 0
stdout:
-LC:/gstreamer/1.0/msvc_x86_64/lib -lopus
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE
Called: C:\gstreamer\1.0\msvc_x86_64\bin\pkg-config.EXE --libs opus
→ 0
stdout:
-LC:/gstreamer/1.0/msvc_x86_64/lib -lopus
I will try with your option.
With that option, no ogg related errors, now getting different errors related to opengl
[1020/4110] Linking target subprojects/gst-plugins-base/ext/opus/gstopus.dll
Creating library subprojects\gst-plugins-base\ext\opus\gstopus.lib and object subprojects\gst-plugins-base\ext\opus\gstopus.exp
[1028/4110] Linking target subprojects/gst-plugins-base/ext/gl/gstopengl.dll
FAILED: subprojects/gst-plugins-base/ext/gl/gstopengl.dll subprojects/gst-plugins-base/ext/gl/gstopengl.pdb
“link” @subprojects /gst-plugins-base/ext/gl/gstopengl.dll.rsp
LINK : fatal error LNK1181: cannot open input file ‘jpeg.lib’
[1030/4110] Linking target subprojects/gst-plugins-base/ext/pango/gstpango.dll
Creating library subprojects\gst-plugins-base\ext\pango\gstpango.lib and object subprojects\gst-plugins-base\ext\pango\gstpango.exp
[1041/4110] Compiling C object subprojects/gst-plugins-base/tools/gst-play-1.0.exe.p/gst-play.c.obj
ninja: build stopped: subcommand failed.
Thank you, finally able to build after disabling the following
User defined options
gst-editing-services:ges : disabled
gst-plugins-bad:assrender : disabled
gst-plugins-bad:dash : disabled
gst-plugins-bad:kate : disabled
gst-plugins-bad:sbc : disabled
gst-plugins-bad:smoothstreaming: disabled
gst-plugins-bad:spandsp : disabled
gst-plugins-bad:ttmlsubs : disabled
gst-plugins-base:gl : disabled
gst-plugins-base:ogg : disabled
gst-plugins-base:vorbis : disabled
gst-plugins-good:adaptivedemux2: disabled
gst-plugins-good:directsound : disabled
gst-plugins-good:flac : disabled
gst-plugins-good:jpeg : disabled
gst-plugins-good:mpg123 : disabled
gst-plugins-good:speex : disabled
gst-plugins-good:waveform : disabled
gst-plugins-ugly:amrnb : disabled
gst-plugins-ugly:amrwbdec : disabled
Please don’t mix the gstreamer monorepo build with the official gstreamer binaries (which are generated by cerbero), you will get random build failures. It is not a supported build configuration.
Please remove C:\gstreamer\1.0\msvc_x86_64\bin
from PATH
when building the monorepo (or, better, don’t have it in PATH
by default at all!)
Hi Nirbheek, Thank you.
Earlier, I was surpised on the libpath “/LIBPATH:C:/projects/repos/cerbero.git/1.22/build/dist/msvc_x86_64/lib” “ogg.lib”
Now I understand, I will try with your suggestions.