pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 2025Q3: gstreamer1 linker error on Slackware 15




To: Greg Troxel <gdt%lexort.com@localhost>

Subject: Re: 2025Q3: gstreamer1 linker error on Slackware 15

From: Fekete Zoltán <fekete.zoltan%minux.hu@localhost>

Date: Mon, 01 Dec 2025 07:42:34 +0100


2025-11-30 15:10 időpontban Greg Troxel ezt írta:

Fekete Zoltán <fekete.zoltan%minux.hu@localhost> writes:


I'm using pkgsrc with a minimal Slackware 15, amd64.

2025Q3/multimedia/gstreamer1 does not link because it finds the OS's
/lib64/libtirpc.so.3. And, that one does not contain some symbols.

I found the solution is as simple as adding a new dependency
(devel/libtirpc) to the Makefile in gstreamer1. See the patch below.


--- a/multimedia/gstreamer1/Makefile
+++ b/multimedia/gstreamer1/Makefile
@@ -43,6 +43,9 @@ MAKE_ENV+=
LD_LIBRARY_PATH=${WRKSRC}/output/gst:${WRKSRC}/output/libs/gst/check

 .include "../../lang/python/application.mk"
 .include "../../devel/meson/build.mk"
+.if ${OPSYS} == "Linux"
+.include "../../devel/libtirpc/buildlink3.mk"
+.endif
 # test framework, only needed at test time
 BUILDLINK_DEPMETHOD.check=     build
 .include "../../devel/check/buildlink3.mk"


Generally, we have the concept of builtin.mk for a package that decides
if the OS-provided version is good enough, and if so bl3s it, and if
not, depends on and then bl3s the package itself.

My somewhat fuzzy impression is that tirpc is in base on many systems
and has been ejected on many GNU/Linux systems.

Thus the questions are
  - how does pkgsrc view tirpc - part of base, or a packaget to be
    depended on
  - does gstreamer1 need tirpc (the implementation, not a particular
    library name) on all platforms, or special for Linux?
  - if gstreamer1 is using tirpc, then why isn't it buildlinked all the
    time?
  - does a bl3 line on libtirpc on e.g. NetBSD result in no additional
    dependencies, because it's built in?


So while you are on the right track and we should figure out how to
solve your problem, I'd like to see it done in sound way that maximizes
the odds of also fixing this, and not breaking anything, on all the
platforms not tested on.


A bit oudtaed answer, but for the sake of completeness:

[162/523] Generating gst/Gst-1.0.
gir with a custom command (wrapped by  meson to set env)
FAILED: [code=1] gst/Gst-1.0.gir
env  PKG_C
ONFIG_PATH=/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/meson-uninstalled  PKG_CONFIG=/usr/pkgsrc/multimedia/gstreamer1/work/.tools/bin/pkg-config  CC=cc 'CFLAGS=-L/usr/pkg/gcc12/lib/gcc/x86_64-slackware-linux/12.5.0  -Wl,-R/usr/pkg/gcc12/lib/gcc/x86_64-slackware-linux/12.5.0  -L/usr/pkg/gcc12/lib64 -Wl,-R/usr/pkg/gcc12/lib64 -Wl,-zrelro  -L/usr/lib64 -Wl,-R/usr/lib64 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -O2  -march=native -mtune=native -I/usr/include -I/usr/pkg/include/python3.12  -I/usr/pkg/include -I/usr/pkg/include/glib-2.0  -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include  -I/usr/include -I/usr/pkg/include/python3.12 -I/usr/pkg/include  -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0  -I/usr/pkg/lib/glib-2.0/include' /usr/pkg/bin/g-ir-scanner --quiet  --no-libtool --namespace=Gst --nsversion=1.0 --warn-all --output  gst/Gst-1.0.gir '--add-init-section=extern void  gst_init(gint*,gchar**);g_setenv("GST_REGISTRY_DISABLE", "yes",  TRUE);g_setenv("GST_REGISTRY_1.0", "/no/way/this/exists.reg",  TRUE);g_setenv("GST_PLUGIN_PATH_1_0", "",  TRUE);g_setenv("GST_PLUGIN_SYSTEM_PATH_1_0", "",  TRUE);g_setenv("GST_TRACERS", "", TRUE);gst_init(NULL,NULL);' --quiet  --c-include=gst/gst.h  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/gst  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/gst  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/.  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/.  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/gst/parse  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/gst/parse  --filelist=/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/gst/libgstreamer-1.0.so.0.2605.0.p/Gst_1.0_gir_filelist  --include=GLib-2.0 --include=GObject-2.0 --include=GModule-2.0  --symbol-prefix=gst --identifier-prefix=Gst --pkg-export=gstreamer-1.0  --cflags-begin -DG_DISABLE_CAST_CHECKS  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/.  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/.  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/gst/parse  -I/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/gst/parse  -I/usr/pkg/include -I/usr/pkg/include/glib-2.0  -I/usr/pkg/lib/glib-2.0/include  -I/usr/pkg/include/gobject-introspection-1.0 -I/usr/include  -I/usr/pkg/include/python3.12 -I/usr/pkg/include  -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0  -I/usr/pkg/lib/glib-2.0/include -I/usr/include  -I/usr/pkg/include/python3.12 -I/usr/pkg/include  -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0  -I/usr/pkg/lib/glib-2.0/include --cflags-end  --add-include-path=/usr/pkg/share/gir-1.0  -L/usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/gst  --library gstreamer-1.0  -L/usr/pkg/gcc12/lib/gcc/x86_64-slackware-linux/12.5.0  -L/usr/pkg/gcc12/lib64 -L/usr/lib64 -L/usr/pkg/lib -L/usr/pkg/lib  --extra-library=gobject-2.0 --extra-library=glib-2.0  --extra-library=gmodule-2.0 --extra-library=m --extra-library=dl  --extra-library=atomic --extra-library=nsl  --extra-library=girepository-1.0 --sources-top-dirs  /usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/  --sources-top-dirs  /usr/pkgsrc/multimedia/gstreamer1/work/gstreamer-1.26.5/output/ /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_release_name@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `GSS_C_NT_HOSTBASED_SERVICE@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_pname_to_uid@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_accept_sec_context@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_get_mic@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_verify_mic@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_export_name@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `GSS_C_NT_USER_NAME@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_acquire_cred@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_unwrap@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_release_cred@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_wrap_size_limit@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_init_sec_context@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_release_buffer@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_duplicate_name@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_sign@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_delete_sec_context@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_import_name@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_display_name@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_wrap@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_display_status@gssapi_krb5_2_MIT' /usr/bin/ld: /lib64/libtirpc.so.3: undefined reference to  `gss_canonicalize_name@gssapi_krb5_2_MIT'
collect2: error: ld returned 1 exit status


Follow-Ups:

Re: 2025Q3: gstreamer1 linker error on Slackware 15
From: Greg Troxel


References:

2025Q3: gstreamer1 linker error on Slackware 15
From: Fekete Zoltán

Re: 2025Q3: gstreamer1 linker error on Slackware 15
From: Greg Troxel




Prev by Date: Re: 2025Q3: gstreamer1 linker error on Slackware 15

Next by Date: diff from 2025-11-24 07:18 to 2025-11-27 14:32

Previous by Thread: Re: 2025Q3: gstreamer1 linker error on Slackware 15

Next by Thread: Re: 2025Q3: gstreamer1 linker error on Slackware 15

Indexes:

reverse Date

reverse Thread

Old Index



Home | Main Index | Thread Index | Old Index