<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">That's cool! We'd love to see those
improvements/suggestions.<br>
<br>
It is possible to develop with cerbero however the required steps
are a little bit more involved.<br>
<br>
For branches that track git (all GStreamer recipes and some
others), what I personally do is push a branch to the cerbero
local sources of the specific project (on linux by default is at
'$HOME/.cache/cerbero-sources/$project'). './cerbero-uninstalled
show-config' will tell you exactly where.<br>
<br>
Then either, change the branch in the recipe, or add a
'$HOME/.cerbero/cerbero.cfg' file (python syntax) with something
like the following (where the values are a git commit reference,
branch names in this case).<br>
<br>
```<br>
recipes_commits = {<br>
# "libusrsctp" : "hang-fix",<br>
"gst-plugins-base-1.0" : "egl-display-debug-cat",<br>
# "gstreamer-1.0" : "fail",<br>
"gst-plugins-bad-1.0" : "amcvideodec-gl-sync-meta-copy",<br>
# "gst-validate" : "android",<br>
# "gst-editing-services-1.0" : "android",<br>
}<br>
```<br>
<br>
For tarball-based sources, creating a patch in the local sources
directory and then adding the patch to the recipe is usually the
goto move.<br>
<br>
Cheers<br>
-Matt<br>
<br>
On 20/7/20 1:33 am, Ben Rush wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CANV0r97SJN8ZfCAAzGjk=1iOYe1rFSwSVCNLJbGZKk6uY3dCkg@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Thanks. I will take a look at your suggestions.
<div><br>
</div>
<div>On the Cerbero v. meson front: my company relies on windows
a lot, and so I'm doing a lot of use of GStreamer on Windows.
I've got a lot of suggestions / tweaks / etc. that I'd love to
be able to contribute to the project to better help people
such as myself who are doing things exclusively on Windows.
It's my understanding that cerbero is best for building what's
in master, but that if I want to do any sort of rapid
iteration / testing, meson is the route to go. So, that's my
driving force. <br>
<br>
And thanks again, mate. Your work on everything is appreciated
by a lot of people. </div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jul 19, 2020 at 10:21
AM Matthew Waters <<a href="mailto:ystreet00@gmail.com"
moz-do-not-send="true">ystreet00@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>You also need to be careful with constructing all of
the necessary paths and environment variables so that no
system libraries are found and that your custom build
versions are found instead. <a
href="https://gitlab.freedesktop.org/gstreamer/cerbero/-/blob/master/cerbero/config.py#L450"
target="_blank" moz-do-not-send="true">https://gitlab.freedesktop.org/gstreamer/cerbero/-/blob/master/cerbero/config.py#L450</a>
contains a non-exhaustive list. There are also
platform-specific configurations that may modify some of
those values: e.g. for windows: <a
href="https://gitlab.freedesktop.org/gstreamer/cerbero/-/blob/master/config/windows.config"
target="_blank" moz-do-not-send="true">https://gitlab.freedesktop.org/gstreamer/cerbero/-/blob/master/config/windows.config</a>
and then there may be recipe-specific workarounds, e.g.
for openssl: <a
href="https://gitlab.freedesktop.org/gstreamer/cerbero/-/blob/master/recipes/openssl.recipe#L150"
target="_blank" moz-do-not-send="true">https://gitlab.freedesktop.org/gstreamer/cerbero/-/blob/master/recipes/openssl.recipe#L150</a>.<br>
<br>
Generally we would recommend the cerbero route as it tries
takes care of all of this for you. If something doesn't
work, we can attempt to fix it.<br>
<br>
On 20/7/20 1:05 am, Ben Rush wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">I see, yes. That's a
distinct possibility given the fact my docker
container has libnice-dev, which made it in on
accident. However, what's odd is that I did do a
cross build of openssl as part of the docker
container. Is this not enough? <br>
<br>
<div dir="ltr">RUN git clone <a
href="https://github.com/openssl/openssl.git"
target="_blank" moz-do-not-send="true">https://github.com/openssl/openssl.git</a>
&& \</div>
<div dir="ltr"><span style="white-space:pre-wrap"> </span>cd
openssl && \</div>
<div dir="ltr"><span style="white-space:pre-wrap"> </span>./Configure
--cross-compile-prefix=x86_64-w64-mingw32- mingw64
&& \</div>
<div dir="ltr"><span style="white-space:pre-wrap"> </span>make
&& \</div>
<div dir="ltr"><span style="white-space:pre-wrap"> </span>make
install</div>
<div dir="ltr"><br>
</div>
<div>All of this ran before any of the output I
mentioned above. </div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jul 19, 2020
at 10:03 AM Matthew Waters <<a
href="mailto:ystreet00@gmail.com" target="_blank"
moz-do-not-send="true">ystreet00@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px
0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<div>You need to have a cross-build of openssl or
gnutls to be able to build libnice.<br>
<br>
I assume that the 'pkg-config --version openssl'
is only showing you the system versions which
would be built for linux, not mingw.<br>
<br>
On 20/7/20 12:16 am, Ben Rush wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">In particular, I'm having
trouble getting the webrtc library to build,
and it appears as though -- if I track it
back far enough -- the issue is with
libnice. The meson build output results in
the output at the end of this email (I'll
defer posting it now to make the email
reading easier). <br>
<br>
According to the error, the problem is that
pkg-config is unable to find openssl. But
running this at the command prompt (after
attaching to the container), results in what
appears to be a positive for finding
openssl: <br>
<br>
<div dir="ltr">root@b5f46e708137:/gst-build#
pkg-config --version openssl</div>
<div dir="ltr">0.29.1</div>
<div dir="ltr"><br>
</div>
<div>Ultimately I'm curious if someone has
been able to build webrtc and the like
cross compiled for Windows from Ubuntu,
etc. I'd love to have a nice, dockerized
system for building for Windows but after
about day of fighting, I've yet to get it
to work completely. </div>
<div><br>
</div>
<div>Here is the output: </div>
<br>
<div>|Executing subproject libnice method
meson</div>
<div>|</div>
<div>|Project name: libnice</div>
<div>|Project version: 0.1.17.1</div>
<div>|C compiler for the build machine: cc
(gcc 7.5.0 "cc (Ubuntu
7.5.0-3ubuntu1~18.04) 7.5.0")</div>
<div>|C linker for the build machine: cc
ld.bfd 2.30</div>
<div>|C compiler for the host machine:
x86_64-w64-mingw32-gcc (gcc 7.3.0
"x86_64-w64-mingw32-gcc (GCC) 7.3-win32
20180312")</div>
<div>|C linker for the host machine:
x86_64-w64-mingw32-gcc ld.bfd 2.30</div>
<div>|Library iphlpapi found: YES</div>
<div>|Library ws2_32 found: YES</div>
<div>|Checking for function "clock_gettime"
: NO (cached)</div>
<div>|Library rt found: NO</div>
<div>|Checking for function "clock_gettime"
with dependency -lrt: NO (cached)</div>
<div>|Has header "arpa/inet.h" : NO (cached)</div>
<div>|Has header "net/in.h" : NO</div>
<div>|Has header "netdb.h" : NO (cached)</div>
<div>|Has header "ifaddrs.h" : NO</div>
<div>|Has header "unistd.h" : YES (cached)</div>
<div>|Checking for function "poll" : NO
(cached)</div>
<div>|Checking for function "getifaddrs" :
NO</div>
<div>|Compiler for C supports arguments
-fno-strict-aliasing: YES</div>
<div>|Message: warning level: 1</div>
<div>|Message: werror enabled: false</div>
<div>|Dependency gio-2.0 found: YES 2.62.6
(cached)</div>
<div>|Dependency (anonymous) from subproject
subprojects/glib found: YES 2.62.6</div>
<div>|Dependency (anonymous) from subproject
subprojects/glib found: YES 2.62.6</div>
<div>|Dependency (anonymous) from subproject
subprojects/glib found: YES 2.62.6</div>
<div>|Dependency gthread-2.0 from subproject
subprojects/glib found: YES 2.62.6</div>
<div>|Message: Crypto library requested:
auto</div>
<div>|Run-time dependency gnutls found: NO
(tried pkgconfig and cmake)</div>
<div>|Run-time dependency openssl found: NO
(tried pkgconfig and cmake)</div>
<div>|Looking for a fallback subproject for
the dependency openssl</div>
<div>|Subproject directory not found and
openssl.wrap file not found</div>
<div>|Subproject subprojects/openssl is
buildable: NO (disabling)</div>
<div>|Dependency openssl from subproject
subprojects/openssl found: NO</div>
<div>|Library crypto found: NO</div>
<div>|Library eay32 found: NO</div>
<div>|</div>
<div>|subprojects/libnice/meson.build:249:4:
Exception: Problem encountered: Either
GnuTLS or OpenSSL is required as crypto
library, but neither was found</div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" moz-do-not-send="true">gstreamer-devel@lists.freedesktop.org</a>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank" moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
</body>
</html>