Bug 274517 - multimedia/makemkv: does not build with CPUTYPE=znver1 in /etc/make.conf
Summary: multimedia/makemkv: does not build with CPUTYPE=znver1 in /etc/make.conf
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Felix Palmen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-16 15:43 UTC by Matthias Andree
Modified: 2024-03-19 08:19 UTC (History)
0 users

See Also:
zirias: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Andree freebsd_committer freebsd_triage 2023-10-16 15:43:36 UTC
1. add CPUTYPE?=znver1 to /etc/make.conf and /usr/local/etc/poudriere.d/make.conf
2. try to build multimedia/makemkv.

This fails in the "configure" stage when configuring ffmpeg:

Console output:

[00:00:18] ===>  Configuring for makemkv-1.17.5
[00:00:18] cd /wrkdirs/usr/ports/multimedia/makemkv/work/ffmpeg-6.0;  PKG_CONFIG_PATH=/wrkdirs/usr/ports/multimedia/makemkv/work/gnuroot/lib/pkgconfig MAKE=gmake PKG_CONFIG=pkgconf XDG_DATA_HOME=/wrkdirs/usr/ports/multimedia/makemkv/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/multimedia/makemkv/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/multimedia/makemkv/work/.cache  HOME=/wrkdirs/usr/ports/multimedia/makemkv/work TMPDIR="/tmp" PATH=/usr/local/libexec/ccache:/wrkdirs/usr/ports/multimedia/makemkv/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/multimedia/makemkv/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh CCACHE_DIR="/root/.ccache" CFLAGS="-D_linux_ -DFORCE_OPENSSL_NO_EC   -O2 -pipe -march=znver1  -fstack-protector-strong -fno-strict-aliasing -std=c11 " ./configure --prefix=/wrkdirs/usr/ports/multimedia/makemkv/work/gnuroot --pkg-config=pkg-config  --disable-shared --enable-static --enable-pic  --target-os=linux --cc=/compat/linux/bin/gcc  ;  XDG_DATA_HOME=/wrkdirs/usr/ports/multimedia/makemkv/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/multimedia/makemkv/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/multimedia/makemkv/work/.cache  HOME=/wrkdirs/usr/ports/multimedia/makemkv/work TMPDIR="/tmp" PATH=/usr/local/libexec/ccache:/wrkdirs/usr/ports/multimedia/makemkv/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/multimedia/makemkv/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  CC="/compat/linux/bin/gcc" CFLAGS="-O2 -pipe -march=znver1  -fstack-protector-strong -fno-strict-aliasing -std=c11 "  CPP="cpp" CPPFLAGS="-D_linux_ -DFORCE_OPENSSL_NO_EC  "  LDFLAGS=" -fstack-protector-strong " LIBS=""  CXX="/compat/linux/bin/g++" CXXFLAGS="-O2 -pipe -march=znver1  -fstack-protector-strong -fno-strict-aliasing   -std=c++11 "  MANPREFIX="/usr/local" CCACHE_DIR="/root/.ccache" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444" gmake   V=1 ARCH=x86 all install 
[00:00:19] /compat/linux/bin/gcc is unable to create an executable file.
[00:00:19] If /compat/linux/bin/gcc is a cross-compiler, use the --enable-cross-compile option.
[00:00:19] Only do this if you know what cross compiling means.
[00:00:19] C compiler test failed.
[00:00:19] 
[00:00:19] If you think configure made a mistake, make sure you are using the latest
[00:00:19] version from Git.  If the latest version fails, report the problem to the
[00:00:19] ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat.
[00:00:19] Include the log file "ffbuild/config.log" produced by configure as this will help
[00:00:19] solve the problem.
[00:00:19] *** Error code 1
[00:00:19] 
[00:00:19] Stop.
[00:00:19] make: stopped in /usr/ports/multimedia/makemkv
[00:00:21] =>> Cleaning up wrkdir
[00:00:21] ===>  Cleaning for makemkv-1.17.5
[00:00:22] build of multimedia/makemkv | makemkv-1.17.5 ended at Mon Oct 16 17:20:42 CEST 2023


$ tail -n12 /usr/ports/multimedia/makemkv/work/ffmpeg-6.0/ffbuild/config.log
mktemp -u XXXXXX
ikGgnh
test_ld cc
test_cc
BEGIN /tmp/ffconf.YaJAm1wS/test.c
    1	int main(void){ return 0; }
END /tmp/ffconf.YaJAm1wS/test.c
/compat/linux/bin/gcc -D_linux_ -DFORCE_OPENSSL_NO_EC -O2 -pipe -march=znver1 -fstack-protector-strong -fno-strict-aliasing -std=c11 -c -o /tmp/ffconf.YaJAm1wS/test.o /tmp/ffconf.YaJAm1wS/test.c
/tmp/ffconf.YaJAm1wS/test.c:1:0: error: bad value (znver1) for -march= switch
 int main(void){ return 0; }
 ^
C compiler test failed.


→ This port should erase those -march= arguments that FreeBSD's cc handles but Linux-gcc cannot handle.
Comment 1 Felix Palmen freebsd_committer freebsd_triage 2023-10-17 05:58:19 UTC
(In reply to Matthias Andree from comment #0)
> → This port should erase those -march= arguments that FreeBSD's cc handles
> but Linux-gcc cannot handle.
I don't think maintaining a list of -march supported in the ancient gcc from linux-c7 in this port would be a good option, especially given that c7 must be replaced sooner or later anyways.

I see two options:

- Force CPUTYPE empty
- Do nothing (users can still fix it in their make.conf)
Comment 2 Matthias Andree freebsd_committer freebsd_triage 2024-03-18 21:25:50 UTC
ping?
Comment 3 Felix Palmen freebsd_committer freebsd_triage 2024-03-19 08:19:09 UTC
(In reply to Matthias Andree from comment #2)
Well, I certainly prefer the "do nothing" option ;) Actually I was waiting for maybe discussing the "force it empty" alternative... I certainly won't start maintaining a list of gcc-from-linux-c7 capabilities :)