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

Bug 634050

Summary: media-gfx/exact-image-0.8.1-r3 - Unknown SWIG preprocessor directive: manually (if this is a block of target language code, delimit it with %{ and %}
Product: Gentoo Linux Reporter: Juergen Rose <rose>
Component: Current packagesAssignee: Tupone Alfredo <tupone>
Severity: normal CC: plevine457, randy-andy-
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---
Attachments: build.log

Description Juergen Rose 2017-10-11 20:48:22 UTC
Created attachment 498404 [details]

'MAKEOPTS=-j1 emerge -v1 exact-image' fails with:
bardecode/Scanner.hh:136:32:   required from ‘BarDecode::BarcodeIterator<vertical>::BarcodeIterator(const Image*, BarDecode::threshold_t, BarDecode::codes_t, BarDecode::directions_t, int, int) [with bool vertical = false; BarDecode::threshold_t = int; BarDecode::codes_t = unsigned int]’
api/   required from here
bardecode/code39.hh:341:13: warning: case label value exceeds maximum value for type
             case (uint8_t) no_entry: return scanner_result_t();
bardecode/code39.hh:342:13: warning: case label value exceeds maximum value for type
             case (uint8_t) DELIMITER: at_end = true; break;
In file included from bardecode/Scanner.tcc:22:0,
                 from bardecode/Scanner.hh:186,
                 from api/
bardecode/code128.hh: In instantiation of ‘BarDecode::scanner_result_t BarDecode::code128_t::scan(TIT&, TIT, BarDecode::pos_t, BarDecode::pos_t, BarDecode::psize_t) const [with TIT = __gnu_cxx::__normal_iterator<const std::pair<bool, unsigned int>*, std::vector<std::pair<bool, unsigned int> > >; BarDecode::pos_t = int; BarDecode::psize_t = unsigned int]’:
bardecode/Scanner.tcc:127:47:   required from ‘void BarDecode::BarcodeIterator<vertical>::next() [with bool vertical = false]’
bardecode/Scanner.hh:136:32:   required from ‘BarDecode::BarcodeIterator<vertical>::BarcodeIterator(const Image*, BarDecode::threshold_t, BarDecode::codes_t, BarDecode::directions_t, int, int) [with bool vertical = false; BarDecode::threshold_t = int; BarDecode::codes_t = unsigned int]’
api/   required from here
bardecode/code128.hh:313:20: warning: variable ‘cur_code_set’ set but not used [-Wunused-but-set-variable]
         code_set_t cur_code_set;
In file included from bardecode/Scanner.tcc:20:0,
                 from bardecode/Scanner.hh:186,
                 from api/
bardecode/scanner_utils.hh:292:14: warning: ‘bool BarDecode::{anonymous}::scanner_utilities::get_parity(const BarDecode::bar_vector_t&, BarDecode::u_t)’ defined but not used [-Wunused-function]
         bool get_parity(const bar_vector_t& v, u_t u)
bardecode/scanner_utils.hh:121:14: warning: ‘uint BarDecode::{anonymous}::scanner_utilities::modules_count(const BarDecode::bar_vector_t&, BarDecode::u_t)’ defined but not used [-Wunused-function]
         uint modules_count(const bar_vector_t& v, u_t u)
bardecode/scanner_utils.hh:44:14: warning: ‘void BarDecode::{anonymous}::debug::print_bar_vector(const BarDecode::bar_vector_t&)’ defined but not used [-Wunused-function]
         void print_bar_vector(const bar_vector_t& b)
ld -r -o 'objdir/api/api.a' objdir/api/api.o
echo "  SWIG      objdir/api/lua/"
  SWIG      objdir/api/lua/
swig -lua -c++ -outdir objdir/api/lua/ -o 'objdir/api/lua/' api/python/../api-swig.hh
api/python/../api-swig.hh:25: Error: Unknown SWIG preprocessor directive: manually (if this is a block of target language code, delimit it with %{ and %})
make: *** [api/lua/Makefile:11: objdir/api/lua/] Error 1
rm objdir/frontends/bardecode.o objdir/frontends/edentify.o objdir/frontends/hocr2pdf.o objdir/frontends/e2mtiff.o objdir/frontends/econvert.o objdir/frontends/empty-page.o objdir/frontends/optimize2bw.o
 * ERROR: media-gfx/exact-image-0.8.1-r3::gentoo failed (compile phase):
 *   emake failed

root@lynx:/usr/local/portage/media-gfx(41)# emerge --info '=media-gfx/exact-image-0.8.1-r3::gentoo'
Portage 2.3.11 (python 3.4.6-final-0, default/linux/amd64/13.0/desktop, gcc-6.4.0, glibc-2.25-r7, 4.13.4-gentoo x86_64)
                         System Settings
System uname: Linux-4.13.4-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-gentoo-2.4.1
KiB Mem:    15914248 total,   1733444 free
KiB Swap:   50331644 total,  50232512 free
Timestamp of repository gentoo: Wed, 11 Oct 2017 07:00:01 +0000
Head commit of repository gentoo: 71c5ac90eae4a1c209fba8818ba7be815c2ea442
sh bash 4.4_p12
ld GNU ld (Gentoo 2.29.1 p1.0) 2.29.1
distcc[6761] (dcc_trace_version) distcc 3.2rc1 x86_64-pc-linux-gnu; built Aug 27 2017 19:27:46 [disabled]
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.26.1::gentoo
dev-lang/python:          2.7.14-r100::sage-on-gentoo, 3.4.6::gentoo, 3.5.4::gentoo, 3.6.3::gentoo
dev-util/cmake:           3.9.4::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.32.1::gentoo
sys-apps/sandbox:         2.12::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.9.6-r4::gentoo, 1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.15.1-r1::gentoo
sys-devel/binutils:       2.29.1::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo, 6.4.0::gentoo
sys-devel/gcc-config:     1.9.0::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r7::gentoo

    location: /usr/portage_lynx
    sync-type: rsync
    sync-uri: rsync://
    priority: -1000

    location: /usr/local/portage
    masters: gentoo
    priority: 0

    location: /var/lib/cpan
    masters: gentoo
    priority: 1

    location: /var/lib/g-octave
    masters: gentoo
    priority: 2

    location: /var/lib/layman/ago
    masters: gentoo
    priority: 50

    location: /var/lib/layman/sage-on-gentoo
    masters: gentoo science
    priority: 50

    location: /var/lib/layman/science
    masters: gentoo
    priority: 50

    location: /var/lib/layman/tlp
    masters: gentoo
    priority: 50

    location: /var/lib/layman/x11
    masters: gentoo
    priority: 50

Installed sets: @system
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL Intel-SDP dlj-1.1 skype-eula skype- googleearth AdobeFlash-11.x cadsoft Oracle-BCLA-JavaSE MakeMKV-EULA NVIDIA-CUDA Nero-AAC-EULA GIMPS"
CFLAGS="-march=broadwell -O2 -pipe"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/chromium/policies/managed/chrome-gnome-shell.json /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/opt/chrome/policies/managed/chrome-gnome-shell.json /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=broadwell -O2 -pipe"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=broadwell -O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
USE="64bit R X Xaw3d a52 aac acl acpi admin afs alsa amd64 amr ao apache2 apng applet archive armadillo arpack asf aspell assistant atlas audacious audiofile aufs automap automount barcode bash-completion berkdb blas blast bluetooth bluray boost branding btrfs bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cg cgi chm cilk clang cli cmake collada consolekit contrib cracklib crypt css cups curl cxx daap db dbi dbm dbus declarative designer devhelp device-mapper dga dia digitalradio djvu doc dot dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds egl elf emacs emboss emf encode epiphany evo examples excel exif expat extensions extra extras faac faad fam ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpm fpx ftp fuse gcj gd gdal gdbm gedit geoip geolocation geos gfortran gif gimp git glade glamor glib glpk gml gmp gnome gnome-keyring gnuplot gnutls gold gphoto2 gpm grammar graphics graphtft graphviz grass gsl gsm gstreamer gtk gtk3 gudev guile hdaps hddtemp hdf hdf5 hdri html http httpd hvm hwdb iconv icq icu id3tag ide imagemagick imap inotify introspection ipod ipv6 irda ithreads jadetex java jbig jit john jpeg jpeg2k kate kde kdepim kdrive kerberos keymap kpathsea kvm ladspa lame lapack latex lcms ldap lensfun libffi libgda libkms libnotify libsamplerate lirc live lm_sensors lua lzma lzo mad mail maildir mapnik math matroska media-library mercurial mikmod mkl mng mod modules mono motif mozilla mp3 mp4 mpeg mpi mpi-threads mplayer mtp multilib multimedia musepack musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking nfs nls nntp nptl nsplugin ntfs ntp numpy obex objc ocaml ocr octave odbc ofa ogdi ogg opencl opencv openexr opengl openmp openvg pam pango pcre pda pdf pdl2 perl plasma plotutils plugins png podcast policykit portaudio posix postgres postscript ppds ppp preview-latex proj projectm pstricks pulseaudio python q16 q32 qemu qhull qml qt3support qt4 qt5 quicktime raw readline reiserfs reports rle romio rpc rrdcgi rrdtool rtlsdr sage samba sasl schroedinger science sdk sdl seccomp secure-delete semantic-desktop server session shout sip slang slp smart smbclient smp sms sndfile snmp soap sockets sound soup sox speex spell sql sqlite ssl startup-notification stlport subtitles subversion sudo suexec svg svm swig systemd szip t1lib tbb tcl tcpd tex tex4ht theora thesaurus thinkpad threads thunderbird tidy tiff tk tools truetype udev udisks unicode upower usb utempter v4l v4l2 vaapi vala valgrind vdpau video vim-syntax virt-network virtualbox visio vorbis vpx vtk wav wayland webdav webdav-serf webkit wifi wmf wxwidgets x264 xa xattr xcb xen xetex xft xine xml xmlreader xmlrpc xpm xv xvid xvmc yaml youtube zlib zsh-completion zvbi" ABI_X86="64" ALSA_CARDS="intel8x0" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_byrequests log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon fuji ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog sensors thermal" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="nss" ELIBC="glibc" GPSD_PROTOCOLS="aivdm ashtech earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 navcom ntrip oceanserver oncore rtcm104v2 rtcm104v3 sirf superstar2 tnt tripmate tsip ublox nmea0183 nmea2000 passthrough" GRUB_PLATFORMS="emu efi-64 pc xen" INPUT_DEVICES="keyboard mouse evdev synaptics void" KERNEL="linux" L10N="de en fr ru" LCD_DEVICES="cfontz hd44780 mtxorb ncurses X lcd2usb lcdlinux png usblcd SureElec" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en fr ru" LIRC_DEVICES="devinput" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="nouveau intel i965 displaylink" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

root@lynx:/usr/local/portage/media-gfx(42)# emerge -pqv '=media-gfx/exact-image-0.8.1-r3::gentoo'
[ebuild   R   ] media-gfx/exact-image-0.8.1-r3 [0.8.1-r3] USE="X expat jpeg jpeg2k lua openexr perl png python swig tiff truetype -php -ruby" PYTHON_TARGETS="python2_7" 

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.
Comment 1 Juergen Rose 2017-10-14 05:58:52 UTC
This issue is blocking 'perlcleaner --reallyall', I had to remove pdfjam and exact-image to resolve it.
Comment 2 Peter Levine 2017-11-07 18:18:37 UTC
Created attachment 503058 [details, diff]

The bug can be reproduced either with USE="swig perl" or USE="swig python".

Swig is not treating a line starting with '#' as a comment.  Fixed by changing it to C/C++ style comment.  Similar to
Comment 3 Peter Levine 2017-11-11 02:39:59 UTC
(In reply to Peter Levine from comment #2)
> Similar to

Actually, more similar to
Comment 4 Juergen Rose 2017-11-28 11:20:41 UTC
(In reply to Peter Levine from comment #2)
> Created attachment 503058 [details, diff] [details, diff]
> exact-image-0.8.1-swig-comment.patch
> The bug can be reproduced either with USE="swig perl" or USE="swig python".
> Swig is not treating a line starting with '#' as a comment.  Fixed by
> changing it to C/C++ style comment.  Similar to

Thanks, Peter. The patch worked here.
Comment 5 Brian Evans Gentoo Infrastructure gentoo-dev 2018-03-21 13:36:22 UTC
Confirmed.  I hit this when USE="swig php" is enabled while testing PHP 7 support.
Comment 6 Larry the Git Cow gentoo-dev 2021-03-26 00:21:25 UTC
The bug has been closed via the following commit(s):

commit 3d8c5adfaa40d1bdebd43d3e432917f81e8394d6
Author:     Conrad Kostecki <>
AuthorDate: 2021-03-26 00:18:27 +0000
Commit:     Conrad Kostecki <>
CommitDate: 2021-03-26 00:21:21 +0000

    media-gfx/exact-image: drop old version
    Dropping all old versions, which do not support slotted lua.
    Package-Manager: Portage-3.0.16, Repoman-3.0.2
    Signed-off-by: Conrad Kostecki <>

 media-gfx/exact-image/Manifest                     |   1 -
 media-gfx/exact-image/exact-image-0.8.1-r3.ebuild  |  95 --------------
 media-gfx/exact-image/exact-image-1.0.2.ebuild     |  97 --------------
 .../files/exact-image-0.7.5-libpng14.patch         |  69 ----------
 .../exact-image/files/exact-image-0.8.1-gcc6.patch | 139 ---------------------
 .../files/exact-image-0.8.1-libpng15.patch         |  34 -----
 6 files changed, 435 deletions(-)