Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 667476 - dev-lang/polyml-5.6 : polyffi.cpp:100:14: error: FFI_SYSV was not declared in this scope
Summary: dev-lang/polyml-5.6 : polyffi.cpp:100:14: error: FFI_SYSV was not declared in...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Deadline: 2019-05-03
Assignee: Gentoo Team for the ML programming language family
URL:
Whiteboard:
Keywords: PMASKED
Depends on:
Blocks: libffi-3.3 682406
  Show dependency tree
 
Reported: 2018-10-01 16:36 UTC by Toralf Förster
Modified: 2019-04-05 21:15 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,18.28 KB, text/plain)
2018-10-01 16:36 UTC, Toralf Förster
Details
dev-lang:polyml-5.6:20181001-133551.log (dev-lang:polyml-5.6:20181001-133551.log,48.10 KB, text/plain)
2018-10-01 16:36 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,320.25 KB, text/plain)
2018-10-01 16:36 UTC, Toralf Förster
Details
environment (environment,61.67 KB, text/plain)
2018-10-01 16:36 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,30.00 KB, application/x-bzip)
2018-10-01 16:36 UTC, Toralf Förster
Details
logs.tbz2 (logs.tbz2,22.49 KB, application/x-bzip)
2018-10-01 16:36 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
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 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 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 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 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(-)