Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 667476

Summary: dev-lang/polyml-5.6 : polyffi.cpp:100:14: error: FFI_SYSV was not declared in this scope
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Gentoo Team for the ML programming language family <ml>
Status: RESOLVED FIXED    
Severity: normal CC: Martin.vGagern, slyfox, toolchain, treecleaner
Priority: Normal Keywords: PMASKED
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 667508, 682406    
Deadline: 2019-05-03   
Attachments: emerge-info.txt
dev-lang:polyml-5.6:20181001-133551.log
emerge-history.txt
environment
etc.portage.tbz2
logs.tbz2

Description Toralf Förster gentoo-dev 2018-10-01 16:36:13 UTC
/bin/sh ../libtool  --tag=CXX   --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I..  -I/usr/lib64/libffi-3.3_rc0/include -O2 -pipe -march=native   -Wall -DMODULEDIR=/usr/lib64/polyml/modules   -O2 -pipe -march=native -c -o polyffi.lo polyffi.cpp
libtool: compile:  x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/lib64/libffi-3.3_rc0/include -O2 -pipe -march=native -Wall -DMODULEDIR=/usr/lib64/polyml/modules -O2 -pipe -march=native -c polyffi.cpp  -fPIC -DPIC -o .libs/polyffi.o
polyffi.cpp:100:14: error: ‘FFI_SYSV’ was not declared in this scope
     {"sysv", FFI_SYSV},
              ^~~~~~~~
polyffi.cpp:100:14: note: suggested alternative: ‘FFI_OK’

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.0-systemd_libressl_20180921-044716

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-7.3.1
 [2] x86_64-pc-linux-gnu-8.2.0 *

Available Python interpreters, in order of preference:
  [1]   python3.7
  [2]   python3.6
  [3]   python2.7 (fallback)
Available Ruby profiles:
  [1]   ruby23 (with Rubygems)
  [2]   ruby25 (with Rubygems) *



emerge -qpv dev-lang/polyml
[ebuild   R   ] dev-lang/polyml-5.6  USE="gmp threads -X -portable -test" 

!!! The following installed packages are masked:
- dev-python/python-msrplib-0.18.0::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Michał Górny <mgorny@gentoo.org> (30 Sep 2018)
# Poor quality NIH ebuilds with multiple issues and lack of test suites.
# They do not support Python 3 (even if somebody claimed otherwise,
# completely ignoring all the errors during install phase), depend
# on old Twisted packages and have no reverse dependencies in ::gentoo.
# Removal in 30 days.  Bug #667354.

- dev-python/tinydb-3.1.3::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Virgil Dupras <vdupras@gentoo.org> (27 Sep 2018)
# Outdated, unmaintained, no revdeps.
# Removal in 30 days, bug #623292

- dev-python/python-eventlib-0.2.1::gentoo (masked by: package.mask)
- dev-python/python-application-2.1.0::gentoo (masked by: package.mask)
- dev-python/python-xcaplib-1.1.0::gentoo (masked by: package.mask)
- dev-python/python-gnutls-3.1.1::gentoo (masked by: package.mask)
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
Comment 1 Toralf Förster gentoo-dev 2018-10-01 16:36:16 UTC
Created attachment 548684 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2018-10-01 16:36:18 UTC
Created attachment 548686 [details]
dev-lang:polyml-5.6:20181001-133551.log
Comment 3 Toralf Förster gentoo-dev 2018-10-01 16:36:21 UTC
Created attachment 548688 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2018-10-01 16:36:24 UTC
Created attachment 548690 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2018-10-01 16:36:27 UTC
Created attachment 548692 [details]
etc.portage.tbz2
Comment 6 Toralf Förster gentoo-dev 2018-10-01 16:36:30 UTC
Created attachment 548694 [details]
logs.tbz2
Comment 7 Sergei Trofimovich (RETIRED) gentoo-dev 2018-10-01 18:52:37 UTC
I haven't looked at the details yet but it looks like polyml bundles libffi (and maybe uses system's one instead?):

config.status: creating include/ffi.h
...
config.status: creating libffi.pc
config.status: creating fficonfig.h
config.status: linking src/x86/ffitarget.h to include/ffitarget.h
...
Comment 8 Sergei Trofimovich (RETIRED) gentoo-dev 2018-10-01 19:10:20 UTC
Let me investigate first why ffitarget does not export FFI_SYSV here.
Comment 9 Sergei Trofimovich (RETIRED) gentoo-dev 2018-10-01 19:15:45 UTC
https://github.com/libffi/libffi/commit/ef76205647bca77796882d31f6ab5e889f461f07 intentionally dropped 'FFI_SYSV' from X86_64 handling. As well as:

  FFI_SYSV,
  FFI_THISCALL,
  FFI_FASTCALL,
  FFI_STDCALL,
  FFI_PASCAL,
  FFI_REGISTER,

It should be FFI_UNIX64 instead. I'll write a tiny wiki page about this ABI breaker, create a tracker and send out ML announcement.
Comment 10 Sergei Trofimovich (RETIRED) gentoo-dev 2018-10-01 19:45:46 UTC
Added https://wiki.gentoo.org/wiki/Libffi_3.0_porting_notes/FFI_SYSV
Comment 11 Larry the Git Cow gentoo-dev 2019-04-03 08:53:41 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a50ebb55c5fa7be3dd487358effedc9ca7042ad

commit 6a50ebb55c5fa7be3dd487358effedc9ca7042ad
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2019-04-03 08:53:23 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2019-04-03 08:53:23 +0000

    package.mask: Last rite dev-lang/polyml
    
    Bug: https://bugs.gentoo.org/667476
    Signed-off-by: Michał Górny <mgorny@gentoo.org>

 profiles/package.mask | 6 ++++++
 1 file changed, 6 insertions(+)
Comment 12 Larry the Git Cow gentoo-dev 2019-04-05 21:15:03 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=890d180619f0e9262834d5d2e79f7fc0a24a394f

commit 890d180619f0e9262834d5d2e79f7fc0a24a394f
Author:     Tupone Alfredo <tupone@gentoo.org>
AuthorDate: 2019-04-05 21:14:49 +0000
Commit:     Tupone Alfredo <tupone@gentoo.org>
CommitDate: 2019-04-05 21:14:49 +0000

    dev-lang/polyml: Fix build with libffi3
    
    Closes: https://bugs.gentoo.org/667476
    Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
    Package-Manager: Portage-2.3.62, Repoman-2.3.11

 dev-lang/polyml/files/polyml-5.6-ffi3.patch | 18 ++++++++++++++++++
 dev-lang/polyml/polyml-5.6.ebuild           |  5 ++++-
 2 files changed, 22 insertions(+), 1 deletion(-)