Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multilib support for jack-2.9999 was dropped #1

Open
nedko opened this issue Feb 2, 2023 · 4 comments
Open

Multilib support for jack-2.9999 was dropped #1

nedko opened this issue Feb 2, 2023 · 4 comments

Comments

@nedko
Copy link
Member

nedko commented Feb 2, 2023

Commit 41ab268 drops support for multilib in jack2.
This is of no issue on arm&arm64 but breaks lib32+lib64 deployments on x86_64.

Once https://bugs.gentoo.org/879353 is fixed for multlib setups, multilib support can be brought back for jack2/jackdbus.

@nedko nedko changed the title Multilib support for jack2.9999 was dropped Multilib support for jack-2.9999 was dropped Feb 2, 2023
@nedko
Copy link
Member Author

nedko commented May 28, 2023

32-bit libs should be installed into <PREFIX>/lib/

64-bit libs should be installed into <PREFIX>/lib64/

https://jackdbus.ladish.org/packaging.html#_libraries

nedko added a commit that referenced this issue Jul 10, 2023
@nedko
Copy link
Member Author

nedko commented Jul 10, 2023

Error 1, shebang:

 * Package:    media-sound/jack2-2.9999:2
 * Repository: ladi51
 * USE:        alsa arm64 elibc_glibc kernel_linux libsamplerate opus pam python_single_target_python3_11
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
 * Using python3.11 to build
>>> Unpacking source...
 * Repository id: LADI_jack2.git
 * To override fetched repository properties, use:
 *   EGIT_OVERRIDE_REPO_LADI_JACK2
 *   EGIT_OVERRIDE_BRANCH_LADI_JACK2
 *   EGIT_OVERRIDE_COMMIT_LADI_JACK2
 *   EGIT_OVERRIDE_COMMIT_DATE_LADI_JACK2
 * 
 * Fetching https://github.com/LADI/jack2.git ...
git fetch https://github.com/LADI/jack2.git +refs/heads/main:refs/heads/main
git symbolic-ref refs/git-r3/media-sound/jack2/2/__main__ refs/heads/main
 * Checking out https://github.com/LADI/jack2.git to /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999 ...
git checkout --quiet main
GIT update -->
   repository:               https://github.com/LADI/jack2.git
   at the commit:            d1041939964eb72a52b21b5053e472f85003b313
>>> Source unpacked in /var/tmp/portage/media-sound/jack2-2.9999/work
>>> Preparing source in /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999 ...
 * .arm64: running multilib-minimal_abi_src_configure
find: ‘waf’: No such file or directory
 * ERROR: media-sound/jack2-2.9999::ladi51 failed (configure phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 3521:  Called multilib-minimal_src_configure
 *   environment, line 2442:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *   environment, line 2692:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2397:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2395:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *   environment, line  652:  Called multilib-minimal_abi_src_configure
 *   environment, line 2436:  Called multilib_src_configure
 *   environment, line 2917:  Called python_fix_shebang 'waf'
 *   environment, line 3123:  Called die
 * The specific snippet of code:
 *       for path in "$@";
 * 
 * If you need support, post the output of `emerge --info '=media-sound/jack2-2.9999::ladi51'`,
 * the complete build log and the output of `emerge -pqv '=media-sound/jack2-2.9999::ladi51'`.
 * The complete build log is located at '/var/tmp/portage/media-sound/jack2-2.9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/jack2-2.9999/temp/environment'.
 * Working directory: '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-.arm64'
 * S: '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999'

build.log

@nedko
Copy link
Member Author

nedko commented Jul 10, 2023

Error 2, wscript not found

 * Package:    media-sound/jack2-2.9999:2
 * Repository: ladi51
 * USE:        alsa arm64 elibc_glibc kernel_linux libsamplerate opus pam python_single_target_python3_11
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
 * Using python3.11 to build
>>> Unpacking source...
 * Repository id: LADI_jack2.git
 * To override fetched repository properties, use:
 *   EGIT_OVERRIDE_REPO_LADI_JACK2
 *   EGIT_OVERRIDE_BRANCH_LADI_JACK2
 *   EGIT_OVERRIDE_COMMIT_LADI_JACK2
 *   EGIT_OVERRIDE_COMMIT_DATE_LADI_JACK2
 * 
 * Fetching https://github.com/LADI/jack2.git ...
git fetch https://github.com/LADI/jack2.git +refs/heads/main:refs/heads/main
git symbolic-ref refs/git-r3/media-sound/jack2/2/__main__ refs/heads/main
 * Checking out https://github.com/LADI/jack2.git to /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999 ...
git checkout --quiet main
GIT update -->
   repository:               https://github.com/LADI/jack2.git
   at the commit:            d1041939964eb72a52b21b5053e472f85003b313
>>> Source unpacked in /var/tmp/portage/media-sound/jack2-2.9999/work
>>> Preparing source in /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999 ...
 * .arm64: running multilib-minimal_abi_src_configure
 * Will copy sources from /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-.arm64
 * .arm64: copying to /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-.arm64-.arm64
'PYTHONHASHSEED=1' 'CCFLAGS=-O2 -pipe' 'LINKFLAGS=-O2 -pipe -Wl,-O1 -Wl,--as-needed' 'PKGCONFIG=aarch64-unknown-linux-gnu-pkg-config' '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999/waf' '--jobs=1' '--prefix=/usr' '--libdir=/usr/lib64' '--mandir=/usr/share/man/man1' '--alsa=yes' '--celt=no' '--db=no' '--doxygen=no' '--firewire=no' '--iio=no' '--opus=yes' '--portaudio=no' '--samplerate=yes' '--systemd=no' '--winmme=no' 'configure'
Waf: Run from a folder containing a 'wscript' file (or try -h for the generic options)
 * ERROR: media-sound/jack2-2.9999::ladi51 failed (configure phase):
 *   configure failed
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 3520:  Called multilib-minimal_src_configure
 *   environment, line 2442:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *   environment, line 2692:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2397:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2395:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *   environment, line  652:  Called multilib-minimal_abi_src_configure
 *   environment, line 2436:  Called multilib_src_configure
 *   environment, line 2920:  Called waf-utils_src_configure '--mandir=/usr/share/man/man1' '--alsa=yes' '--celt=no' '--db=no' '--doxygen=no' '--firewire=no' '--iio=no' '--opus=yes' '--portaudio=no' '--samplerate=yes' '--systemd=no' '--winmme=no'
 *   environment, line 4538:  Called die
 * The specific snippet of code:
 *       env "${CMD[@]}" || die "configure failed"
 * 
 * If you need support, post the output of `emerge --info '=media-sound/jack2-2.9999::ladi51'`,
 * the complete build log and the output of `emerge -pqv '=media-sound/jack2-2.9999::ladi51'`.
 * The complete build log is located at '/var/tmp/portage/media-sound/jack2-2.9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/jack2-2.9999/temp/environment'.
 * Working directory: '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-.arm64'
 * S: '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999'

build.log

ls -la /var/tmp/portage/media-sound/jack2-2.9999/work/

total 20
drwx------ 5 portage portage 4096 Jul 10 19:10 .
drwx------ 9 portage portage 4096 Jul 10 19:10 ..
drwxr-xr-x 19 portage portage 4096 Jul 10 19:10 jack2-2.9999
drwxr-xr-x 2 portage portage 4096 Jul 10 19:10 jack2-2.9999-.arm64
drwxr-xr-x 2 portage portage 4096 Jul 10 19:10 jack2-2.9999-.arm64-.arm64

@nedko
Copy link
Member Author

nedko commented Jul 10, 2023

>>> Install media-sound/jack2-2.9999 into /var/tmp/portage/media-sound/jack2-2.9999/image
 * abi_x86_32.x86: running multilib-minimal_abi_src_install
"/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999/waf" --jobs=14 --destdir="/var/tmp/portage/media-sound/jack2-2.9999/image"  install
Waf: Entering directory `/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-abi_x86_32.x86/build'
[  1/170] Creating build/version.h
+ symlink /var/tmp/portage/media-sound/jack2-2.9999/image/usr/lib/libjackserver.so (to libjackserver.so.0.1.0)
+ symlink /var/tmp/portage/media-sound/jack2-2.9999/image/usr/lib/libjack.so (to libjack.so.0.1.0)
+ symlink /var/tmp/portage/media-sound/jack2-2.9999/image/usr/lib/libjackserver.so.0 (to libjackserver.so.0.1.0)
+ symlink /var/tmp/portage/media-sound/jack2-2.9999/image/usr/lib/libjack.so.0 (to libjack.so.0.1.0)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/lib/pkgconfig/jackserver.pc (from build/jackserver.pc)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/lib/pkgconfig/jack.pc (from build/jack.pc)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/control.h (from common/jack/control.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/intclient.h (from common/jack/intclient.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/jack.h (from common/jack/jack.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/jslist.h (from common/jack/jslist.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/metadata.h (from common/jack/metadata.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/midiport.h (from common/jack/midiport.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/net.h (from common/jack/net.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/ringbuffer.h (from common/jack/ringbuffer.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/session.h (from common/jack/session.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/statistics.h (from common/jack/statistics.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/systemdeps.h (from common/jack/systemdeps.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/thread.h (from common/jack/thread.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/transport.h (from common/jack/transport.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/types.h (from common/jack/types.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/uuid.h (from common/jack/uuid.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/weakjack.h (from common/jack/weakjack.h)
+ install /var/tmp/portage/media-sound/jack2-2.9999/image/usr/include/jack/weakmacros.h (from common/jack/weakmacros.h)
Waf: Leaving directory `/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-abi_x86_32.x86/build'
Build failed
Traceback (most recent call last):
  File "/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999/.waf3-2.0.25-767522112be77f8585812fcfaa08e805/waflib/Task.py", line 180, in process
    ret=self.run()
        ^^^^^^^^^^
  File "/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-abi_x86_32.x86/wscript", line 911, in git_ver
    self.ver = bld.cmd_and_log("LANG= git rev-parse HEAD", quiet=Context.BOTH).splitlines()[0]
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999/.waf3-2.0.25-767522112be77f8585812fcfaa08e805/waflib/Context.py", line 243, in cmd_and_log
    raise e
waflib.Errors.WafError: Command 'LANG= git rev-parse HEAD' returned 128

 * ERROR: media-sound/jack2-2.9999::ladi51 failed (install phase):
 *   Make install failed
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_install
 *   environment, line 3587:  Called multilib-minimal_src_install
 *   environment, line 2523:  Called multilib_foreach_abi 'multilib-minimal_abi_src_install'
 *   environment, line 2753:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
 *   environment, line 2435:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
 *   environment, line 2433:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_install'
 *   environment, line  690:  Called multilib-minimal_abi_src_install
 *   environment, line 2513:  Called multilib_src_install
 *   environment, line 2983:  Called waf-utils_src_install
 *   environment, line 4610:  Called die
 * The specific snippet of code:
 *       "${WAF_BINARY}" ${jobs} --destdir="${D}" "${@}" install || die "Make install failed";
 * 
 * If you need support, post the output of `emerge --info '=media-sound/jack2-2.9999::ladi51'`,
 * the complete build log and the output of `emerge -pqv '=media-sound/jack2-2.9999::ladi51'`.
 * The complete build log is located at '/var/log/portage/media-sound:jack2-2.9999:20230710-214422.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/media-sound/jack2-2.9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/jack2-2.9999/temp/environment'.
 * Working directory: '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-abi_x86_32.x86'
 * S: '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999'
 * Messages for package media-sound/jack2-2.9999:
 * Log file: /var/log/portage/media-sound:jack2-2.9999:20230710-214422.log
 * Package:    media-sound/jack2-2.9999:2
 * Repository: ladi51
 * USE:        abi_x86_32 abi_x86_64 alsa amd64 elibc_glibc kernel_linux pam python_single_target_python3_11
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
 * Using python3.11 to build
 * Repository id: LADI_jack2.git
 * To override fetched repository properties, use:
 *   EGIT_OVERRIDE_REPO_LADI_JACK2
 *   EGIT_OVERRIDE_BRANCH_LADI_JACK2
 *   EGIT_OVERRIDE_COMMIT_LADI_JACK2
 *   EGIT_OVERRIDE_COMMIT_DATE_LADI_JACK2
 * 
 * Fetching https://github.com/LADI/jack2.git ...
 * Checking out https://github.com/LADI/jack2.git to /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999 ...
 * Will copy sources from /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999
 * abi_x86_32.x86: copying to /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-abi_x86_32.x86
 * abi_x86_64.amd64: copying to /var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-abi_x86_64.amd64
 * abi_x86_32.x86: running multilib-minimal_abi_src_configure
 * abi_x86_64.amd64: running multilib-minimal_abi_src_configure
 * abi_x86_32.x86: running multilib-minimal_abi_src_compile
 * abi_x86_64.amd64: running multilib-minimal_abi_src_compile
 * abi_x86_32.x86: running multilib-minimal_abi_src_install
 * ERROR: media-sound/jack2-2.9999::ladi51 failed (install phase):
 *   Make install failed
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_install
 *   environment, line 3587:  Called multilib-minimal_src_install
 *   environment, line 2523:  Called multilib_foreach_abi 'multilib-minimal_abi_src_install'
 *   environment, line 2753:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
 *   environment, line 2435:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
 *   environment, line 2433:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_install'
 *   environment, line  690:  Called multilib-minimal_abi_src_install
 *   environment, line 2513:  Called multilib_src_install
 *   environment, line 2983:  Called waf-utils_src_install
 *   environment, line 4610:  Called die
 * The specific snippet of code:
 *       "${WAF_BINARY}" ${jobs} --destdir="${D}" "${@}" install || die "Make install failed";
 * 
 * If you need support, post the output of `emerge --info '=media-sound/jack2-2.9999::ladi51'`,
 * the complete build log and the output of `emerge -pqv '=media-sound/jack2-2.9999::ladi51'`.
 * The complete build log is located at '/var/log/portage/media-sound:jack2-2.9999:20230710-214422.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/media-sound/jack2-2.9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/jack2-2.9999/temp/environment'.
 * Working directory: '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999-abi_x86_32.x86'
 * S: '/var/tmp/portage/media-sound/jack2-2.9999/work/jack2-2.9999'

nedko added a commit that referenced this issue Jul 11, 2023
recent git implementations require safe.directory to work properly

https://bugs.gentoo.org/879353
gentoo/gentoo#28154

The current fix for #879353, commit 207a50da440b7c6bea060972a7684e792c2a84fc,
does not address the install, as observed in #1 (comment)

This is workaround for #1
The git eclass should handle this situation without ebuild workarounds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant