Opened 14 months ago
Closed 14 months ago
#68313 closed defect (fixed)
vorbis-tools @1.4.2: opportunistic use of opusfile
Reported by: | RobK88 | Owned by: | RobK88 |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | RobK88 | |
Port: | vorbis-tools |
Description (last modified by RobK88)
I am unable to upgrade the +universal
variant of vorbis-tools
to version 1.4.2 on High Sierra -- Undefined symbols for architecture i386
.
P.S. I am able to build the non-universal x86_64 version of vorbis-tools
.
See the attached main.log
or below for the errors:
bash-3.2$ port installed vorbis-tools The following ports are currently installed: vorbis-tools @1.4.0_2+universal bash-3.2$ bash-3.2$ sudo port clean vorbis-tools ---> Cleaning vorbis-tools bash-3.2$ bash-3.2$ sudo port -v upgrade vorbis-tools ---> Computing dependencies for vorbis-tools. ---> Fetching archive for vorbis-tools etc.. etc.. 4 warnings generated. CC vorbis_comments.o CC opus_format.o CC vgfilter.o CCLD ogg123 ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking. ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS) ld: warning: ignoring file /opt/local/lib/libopusfile.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/libopusfile.dylib Undefined symbols for architecture i386: "_op_bitrate", referenced from: _opf_statistics in opus_format.o "_op_bitrate_instant", referenced from: _opf_statistics in opus_format.o "_op_free", referenced from: _opf_cleanup in opus_format.o "_op_head", referenced from: _opf_read in opus_format.o "_op_open_callbacks", referenced from: _opf_init in opus_format.o "_op_pcm_seek", referenced from: _opf_seek in opus_format.o "_op_pcm_tell", referenced from: _opf_seek in opus_format.o _opf_statistics in opus_format.o "_op_pcm_total", referenced from: _opf_statistics in opus_format.o "_op_read", referenced from: _opf_read in opus_format.o "_op_tags", referenced from: _opf_read in opus_format.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [ogg123] Error 1 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_vorbis-tools/vorbis-tools/work/vorbis-tools-1.4.2/ogg123' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_vorbis-tools/vorbis-tools/work/vorbis-tools-1.4.2' make: *** [all] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_vorbis-tools/vorbis-tools/work/vorbis-tools-1.4.2' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_vorbis-tools/vorbis-tools/work/vorbis-tools-1.4.2" && /usr/bin/make -j2 -w all Exit code: 2 Error: Failed to build vorbis-tools: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_vorbis-tools/vorbis-tools/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. bash-3.2$
Attachments (2)
Change History (17)
Changed 14 months ago by RobK88
comment:1 Changed 14 months ago by RobK88
Summary: | vorbis-tools @1.4.2 - Unable to upgrade +unversal variant - Undefined symbols for architecture i386 → vorbis-tools @1.4.2 - Unable to upgrade +universal variant - Undefined symbols for architecture i386 |
---|
comment:2 Changed 14 months ago by RobK88
Description: | modified (diff) |
---|
comment:3 Changed 14 months ago by RobK88
Description: | modified (diff) |
---|
comment:4 Changed 14 months ago by RobK88
Summary: | vorbis-tools @1.4.2 - Unable to upgrade +universal variant - Undefined symbols for architecture i386 → vorbis-tools @1.4.2 - Unable to upgrade +universal variant - Undefined symbols for architecture i386 - The i386 architecture is deprecated for macOS |
---|
comment:5 Changed 14 months ago by RobK88
Description: | modified (diff) |
---|---|
Summary: | vorbis-tools @1.4.2 - Unable to upgrade +universal variant - Undefined symbols for architecture i386 - The i386 architecture is deprecated for macOS → vorbis-tools @1.4.2 - Unable to upgrade +universal variant - Undefined symbols for architecture i386 |
comment:6 Changed 14 months ago by RobK88
comment:7 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)
Summary: | vorbis-tools @1.4.2 - Unable to upgrade +universal variant - Undefined symbols for architecture i386 → vorbis-tools @1.4.2: opportunistic use of opusfile |
---|
Sounds like vorbis-tools might need a dependendy on opusfile:
:info:configure checking for opusfile >= 0.2... yes :info:configure checking OPUSFILE_CFLAGS... -I/opt/local/include/opus :info:configure checking OPUSFILE_LIBS... -L/opt/local/lib -lopusfile
% port provides /opt/local/lib/libopusfile.dylib /opt/local/lib/libopusfile.dylib is provided by: opusfile
Is opusfile installed with the universal variant?
comment:8 Changed 14 months ago by RobK88
You are right!! vorbis-tools
depends on opusfile
. The following needs to be added to the portfile for vorbis-tools
:
depends_lib port: opusfile
I only had the regular non-universal x86-64
build of opusfile
installed.
I installed the +universal
variant for opusfile
and now the +universal
variant for vorbis-tools
builds.
See below:
bash-3.2$ port installed opusfile The following ports are currently installed: opusfile @0.12_1 (active) bash-3.2$ bash-3.2$ bash-3.2$ sudo port install opusfile +universal Password: ---> Fetching archive for libopus ---> Attempting to fetch libopus-1.4_0+universal.darwin_17.i386-x86_64.tbz2 from http://packages.macports.org/libopus ---> Attempting to fetch libopus-1.4_0+universal.darwin_17.i386-x86_64.tbz2.rmd160 from http://packages.macports.org/libopus ---> Installing libopus @1.4_0+universal ---> Cleaning libopus ---> Deactivating libopus @1.4_0 ---> Cleaning libopus ---> Activating libopus @1.4_0+universal ---> Cleaning libopus ---> Computing dependencies for opusfile ---> Fetching archive for opusfile ---> Attempting to fetch opusfile-0.12_1+universal.darwin_17.i386-x86_64.tbz2 from http://packages.macports.org/opusfile ---> Attempting to fetch opusfile-0.12_1+universal.darwin_17.i386-x86_64.tbz2 from http://ywg.ca.packages.macports.org/mirror/macports/packages/opusfile ---> Attempting to fetch opusfile-0.12_1+universal.darwin_17.i386-x86_64.tbz2 from http://mirror.fcix.net/macports/packages/opusfile ---> Fetching distfiles for opusfile ---> Attempting to fetch opusfile-0.12.tar.gz from http://distfiles.macports.org/opusfile ---> Verifying checksums for opusfile ---> Extracting opusfile ---> Configuring opusfile ---> Building opusfile ---> Staging opusfile into destroot ---> Installing opusfile @0.12_1+universal ---> Deactivating opusfile @0.12_1 ---> Cleaning opusfile ---> Activating opusfile @0.12_1+universal ---> Cleaning opusfile ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. bash-3.2$ bash-3.2$ bash-3.2$ port installed vorbis-tools The following ports are currently installed: vorbis-tools @1.4.0_2+universal bash-3.2$ bash-3.2$ sudo port upgrade vorbis-tools ---> Computing dependencies for vorbis-tools ---> Fetching archive for vorbis-tools ---> Attempting to fetch vorbis-tools-1.4.2_0+universal.darwin_17.i386-x86_64.tbz2 from http://packages.macports.org/vorbis-tools ---> Attempting to fetch vorbis-tools-1.4.2_0+universal.darwin_17.i386-x86_64.tbz2 from http://ywg.ca.packages.macports.org/mirror/macports/packages/vorbis-tools ---> Attempting to fetch vorbis-tools-1.4.2_0+universal.darwin_17.i386-x86_64.tbz2 from http://mirror.fcix.net/macports/packages/vorbis-tools ---> Fetching distfiles for vorbis-tools ---> Verifying checksums for vorbis-tools ---> Extracting vorbis-tools ---> Applying patches to vorbis-tools ---> Configuring vorbis-tools Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled: _NL_LOCALE_NAME: found in vorbis-tools-1.4.2/config.log ---> Building vorbis-tools ---> Staging vorbis-tools into destroot ---> Installing vorbis-tools @1.4.2_0+universal ---> Cleaning vorbis-tools ---> Computing dependencies for vorbis-tools ---> Activating vorbis-tools @1.4.2_0+universal ---> Cleaning vorbis-tools ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. bash-3.2$ bash-3.2$ port installed vorbis-tools The following ports are currently installed: vorbis-tools @1.4.0_2+universal vorbis-tools @1.4.2_0+universal (active) bash-3.2$
comment:9 Changed 14 months ago by RobK88
Cc: | RobK88 added |
---|
comment:10 Changed 14 months ago by jmroot (Joshua Root)
If flac and speex are variants, surely opus should be too.
comment:11 Changed 14 months ago by RobK88
Opus is supposed to be the new codec that replaces both vorbis and speex for new applications. (see https://en.wikipedia.org/wiki/Opus_(audio_format) )
Does it really make sense to make opus a variant for vorbis-tools
?
comment:12 Changed 14 months ago by RobK88
Attached is the CHANGELOG for vorbis-tools
. It looks like ogg123
added support opus files in version 1.4.1 of vorbis-tools
. No wonder, the updated port (from version 1.4.0 to version 1.4.2) for vorbis-tools
failed. The github website has no mention of opus. You need to look at the CHANGELOG.
Changed 14 months ago by RobK88
comment:13 Changed 14 months ago by RobK88
P.S. It does not look like there is an easy way to create an +opus
variant for vorbis-tools
. To create variants for +speex
and +flac
, the portfile used the --without-speex
and --without-flac
configure flags. But I do not see an --without-opus
configure flag. See below.
It is probably best to just include opus
audio support with all installations of vorbis-tools
.
rob$ ./configure --help `configure' configures vorbis-tools 1.4.2 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc. You can specify an installation prefix other than `/usr/local' using `--prefix', for instance `--prefix=$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/vorbis-tools] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --disable-maintainer-mode disable make rules and dependencies not useful (and sometimes confusing) to the casual installer --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --enable-threads={posix|solaris|pth|win32} specify multithreading API --disable-threads build without multithread safety --disable-rpath do not hardcode runtime library paths --disable-largefile omit support for large files --disable-ogg123 Skip building ogg123 --disable-oggdec Skip building oggdec --disable-oggenc Skip building oggenc --disable-ogginfo Skip building ogginfo --disable-vcut Skip building vcut --disable-vorbiscomment Skip building vorbiscomment --disable-oggtest Do not try to compile and run a test Ogg program --disable-vorbistest Do not try to compile and run a test Vorbis program --disable-curltest Do not try to compile and run a test libcurl program Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both shared library versioning (aka "SONAME") variant to provide on AIX, [default=aix]. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib --without-libpth-prefix don't search for libpth in includedir and libdir --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib --with-included-gettext use the GNU gettext library included here --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --without-flac Do not compile FLAC support --without-speex Do not compile Speex support --without-kate Do not compile Kate support --with-ogg=PFX Prefix where libogg is installed (optional) --with-ogg-libraries=DIR Directory where libogg library is installed (optional) --with-ogg-includes=DIR Directory where libogg header files are installed (optional) --with-vorbis=PFX Prefix where libvorbis is installed (optional) --with-vorbis-libraries=DIR Directory where libvorbis library is installed (optional) --with-vorbis-includes=DIR Directory where libvorbis header files are installed (optional) --with-curl=PFX Prefix where libcurl is installed (optional) --with-curl-libraries=DIR Directory where libcurl library is installed (optional) --with-curl-includes=DIR Directory where libcurl header files are installed (optional) Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> LT_SYS_LIBRARY_PATH User-defined run-time library search path. CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to <vorbis-dev@xiph.org>. Grinchs-Mac-Pro-2:vorbis-tools-1.4.2 rob$
comment:14 Changed 14 months ago by RobK88
I have submitted a Pull Request (PR) to fix the +universal
build.
See https://github.com/macports/macports-ports/pull/20700
I did not add a new variant for opus. As stated above, the developer did not create a config option for opus. This make sense since opus is supposed to be the replacement for vorbis ogg audio files and speex audio files.
comment:15 Changed 14 months ago by RobK88
Owner: | set to RobK88 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
hmmm.. I do not understand why the compiler is throwing this warning message --
libvorbis
is installed with the+universal
variant.