Opened 10 years ago

Closed 10 years ago

#28162 closed defect (fixed)

mlt @0.5.10, Revision 1 fails to compile with "Undefined symbols: "_libiconv_close", referenced from:" _iconv_utf8 in producer_pango.o

Reported by: mail@… Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: ddennedy (Dan Dennedy)
Port: mlt

Description

Short and painfull: mlt fails to compile with the error message below. Even switching to ffmpeg-devel does not help at all (which was the solution some month before). Heres the build log:

:msg:main --->  Computing dependencies for mlt:info:main .:debug:main Searching for dependency: pkgconfig
:debug:main Found Dependency: receipt exists for pkgconfig
:debug:main Searching for dependency: git-core
:debug:main Found Dependency: receipt exists for git-core
:debug:main Searching for dependency: doxygen
:debug:main Found Dependency: receipt exists for doxygen
:debug:main Searching for dependency: qt4-mac
:debug:main Found Dependency: receipt exists for qt4-mac
:debug:main Searching for dependency: atk
:debug:main Found Dependency: receipt exists for atk
:debug:main Searching for dependency: frei0r-plugins
:debug:main Found Dependency: receipt exists for frei0r-plugins
:debug:main Searching for dependency: ffmpeg
:debug:main Found Dependency: receipt exists for ffmpeg
:debug:main Searching for dependency: gtk2
:debug:main Found Dependency: receipt exists for gtk2
:debug:main Searching for dependency: libdv
:debug:main Found Dependency: receipt exists for libdv
:debug:main Searching for dependency: libsamplerate
:debug:main Found Dependency: receipt exists for libsamplerate
:debug:main Searching for dependency: libsdl
:debug:main Found Dependency: receipt exists for libsdl
:debug:main Searching for dependency: libvorbis
:debug:main Found Dependency: receipt exists for libvorbis
:debug:main Searching for dependency: sox
:debug:main Found Dependency: receipt exists for sox
:msg:main
:debug:main Executing org.macports.main (mlt)
:debug:main Skipping completed org.macports.fetch (mlt)
:debug:main Skipping completed org.macports.checksum (mlt)
:debug:main Skipping completed org.macports.extract (mlt)
:debug:main Skipping completed org.macports.patch (mlt)
:debug:main Skipping completed org.macports.configure (mlt)
:msg:main --->  Building mlt:debug:build build phase started at Wed Jan 26 08:58:56 CET 2011:debug:build Executing org.macports.build (mlt)
:debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_rel
ease_ports_multimedia_mlt/work/.CC_PRINT_OPTIONS' CFLAGS='-O2 -I/opt/local/include -I/opt/local/include' QTDIR='/opt/local' LIBRARY_PATH='/opt/local/lib' CC_PRI
NT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6' LDFLAGS='-L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multi
media_mlt/work/mlt-0.5.10/src/framework -L/opt/local/lib' MOC='/opt/local/bin/moc' QMAKE='/opt/local/bin/qmake'
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_mlt/work/mlt-0.5.
10" && /usr/bin/make -j2 all CC="/usr/bin/gcc-4.2" CXX="/usr/bin/g++-4.2" CPP="/usr/bin/cpp-4.2"'
:info:build list='src/framework src/mlt++ src/melt src/modules src/swig profiles'; \
:info:build     for subdir in $list; do \
:info:build             /usr/bin/make -s -C $subdir depend || exit 1; \
:info:build             /usr/bin/make -C $subdir all || exit 1; \
:info:build     done
:info:build make[1]: Nothing to be done for `all'.
:info:build make[1]: Nothing to be done for `all'.:info:build make[1]: Nothing to be done for `all'.
:info:build list='avformat core dgraft dv effectv feeds frei0r gtk2 jackrack kdenlive kino linsys lumas melt motion_est normalize oldfilm plus qimage resample s
dl sox vmfx vorbis xine xml'; \
:info:build     for subdir in $list; do \
:info:build             if [ -f $subdir/Makefile -a ! -f disable-$subdir ] ; \
:info:build             then /usr/bin/make -C $subdir all || exit 1; \
:info:build             fi \
:info:build     done
:info:build make[2]: Nothing to be done for `all'.
:info:build make[2]: Nothing to be done for `all'.
:info:build make[2]: Nothing to be done for `all'.
:info:build make[2]: Nothing to be done for `all'.
:info:build make[2]: Nothing to be done for `all'.
:info:build make[2]: Nothing to be done for `all'.
:info:build make[2]: Nothing to be done for `all'.
:info:build /usr/bin/gcc-4.2 -dynamiclib -o ../libmltgtk2.dylib factory.o consumer_gtk2.o producer_pixbuf.o pixops.o filter_rescale.o producer_pango.o  -L/opt/l
ocal/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_mlt/work/mlt-0.5.10/src/framework -L/opt/local/lib -L/opt/lo
cal/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -L../../framework -lmlt -lpthread -lm -L/opt/local/lib -lSDLm
ain -lSDL -Wl,-framework,Cocoa `pkg-config gtk+-2.0 --libs` `pkg-config gdk-pixbuf-2.0 --libs` -L/opt/local/lib -lexif `pkg-config pangoft2 --libs`
:info:build Undefined symbols:
:info:build   "_libiconv_close", referenced from:
:info:build       _iconv_utf8 in producer_pango.o
:info:build   "_libiconv", referenced from:
:info:build       _iconv_utf8 in producer_pango.o
:info:build   "_libiconv_open", referenced from:
:info:build       _iconv_utf8 in producer_pango.o
:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status
:info:build make[2]: *** [../libmltgtk2.dylib] Error 1
:info:build make[1]: *** [all] Error 1
:info:build make: *** [all] Error 1
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_mlt/work/mlt-0.5.10" &
& /usr/bin/make -j2 all CC="/usr/bin/gcc-4.2" CXX="/usr/bin/g++-4.2" CPP="/usr/bin/cpp-4.2" " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for mlt): org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Log for mlt is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_mlt/main.log

Attachments (2)

Portfile-mlt.diff (409 bytes) - added by ddennedy (Dan Dennedy) 10 years ago.
patch-src-modules-gtk2-Makefile.diff (394 bytes) - added by ddennedy (Dan Dennedy) 10 years ago.
patchfile to put in files/

Download all attachments as: .zip

Change History (11)

comment:1 Changed 10 years ago by mail@…

Additional information: its snow leopard / all latest updates with these ports installed:

  aircrack-ng @1.1_0 (active)
  aquaterm @1.0.1_5 (active)
  arpack @1_4+gcc44 (active)
  aspell @0.60.6_4+nonls (active)
  aspell-dict-en @6.0_0 (active)
  atk @1.30.0_0 (active)
  atlas @3.8.3_4+gcc44 (active)
  attica @0.2.0_1 (active)
  autoconf @2.68_1 (active)
  automake @1.11.1_0 (active)
  automoc @0.9.88_3 (active)
  avahi @0.6.28_3 (active)
  bison @2.4.3_0 (active)
  bzip2 @1.0.6_0+universal (active)
  c-ares @1.7.4_0 (active)
  cairo @1.10.2_2+universal (active)
  cdrtools @3.00_1 (active)
  clucene @0.9.21b_0 (active)
  cmake @2.8.3_1 (active)
  coreutils @8.5_1 (active)
  cppunit @1.12.1_0 (active)
  curl @7.21.2_2+ssl (active)
  curl-ca-bundle @7.21.2_4 (active)
  cyrus-sasl2 @2.1.23_3+kerberos (active)
  db46 @4.6.21_6+universal (active)
  dbus @1.2.24_1+universal (active)
  dbus-glib @0.92_0 (active)
  dbus-python26 @0.83.2_0 (active)
  dbusmenu-qt @0.6.2_2 (active)
  dirac @1.0.2_1 (active)
  docbook-xml @5.0_0 (active)
  docbook-xml-4.1.2 @4.1.2_1 (active)
  docbook-xml-4.2 @4.2_0 (active)
  docbook-xml-4.3 @4.3_0 (active)
  docbook-xml-4.4 @4.4_0 (active)
  docbook-xml-4.5 @4.5_0 (active)
  docbook-xml-5.0 @5.0_0 (active)
  docbook-xsl @1.76.1_0 (active)
  doxygen @1.7.2_1 (active)
  dvdauthor @0.6.14_1 (active)
  easytag @2.1_2 (active)
  enchant @1.6.0_0 (active)
  exiv2 @0.21_0 (active)
  expat @2.0.1_1+universal (active)
  faac @1.28_2 (active)
  faad2 @2.7_0 (active)
  ffmpeg @0.6.1_0 (active)
  fftw-3 @3.2.2_0 (active)
  fftw-3-single @3.2.2_0 (active)
  file @5.05_0 (active)
  flac @1.2.1_0 (active)
  flex @2.5.35_0 (active)
  fontconfig @2.8.0_0+universal (active)
  fontforge @20100501_1 (active)
  freetype @2.4.4_0+universal (active)
  frei0r-plugins @1.2_1 (active)
  ftgl @2.1.3-rc5_0 (active)
  gavl @1.2.0_0 (active)
  gawk @3.1.8_1+universal (active)
  gcc43 @4.3.5_2 (active)
  gcc44 @4.4.5_0 (active)
  gd2 @2.0.35_9 (active)
  gdbm @1.8.3_3+universal (active)
  gdk-pixbuf2 @2.22.1_1 (active)
  getopt @1.1.4_1 (active)
  gettext @0.18.1.1_2+universal (active)
  ghostscript @9.00_5 (active)
  giflib @4.1.6_1+universal (active)
  git-core @1.7.3.5_0+doc+python26 (active)
  glib2 @2.26.1_0+universal (active)
  glpk @4.41_0 (active)
  gmake @3.82_0 (active)
  gmp @5.0.1_0 (active)
  gnome-common @2.28.0_0 (active)
  gnome-doc-utils @0.20.4_0 (active)
  gnupg @1.4.11_0 (active)
  gnuplot @4.4.2_1 (active)
  gperf @3.0.4_0+universal (active)
  grantlee @0.1.6_1 (active)
  GraphicsMagick @1.3.12_2+q8 (active)
  graphviz @2.26.3_4 (active)
  groff @1.20.1_1 (active)
  gsed @4.2.1_1 (active)
  gtk-doc @1.16_0+python27 (active)
  gtk2 @2.22.1_1+x11 (active)
  gzip @1.4_0 (active)
  hdf5-18 @1.8.5-patch1_0 (active)
  help2man @1.38.4_0+universal (active)
  hicolor-icon-theme @0.12_0 (active)
  hunspell @1.2.12_0 (active)
  icu @4.6_0 (active)
  id3lib @3.8.3_3 (active)
  ilmbase @1.0.2_0 (active)
  ImageMagick @6.6.7-1_0+q16 (active)
  intltool @0.40.6_0 (active)
  iso-codes @3.24_0 (active)
  jasper @1.900.1_7 (active)
  jpeg @8b_0+universal (active)
  kdebase4-runtime @4.5.5_0 (active)
  kdelibs4 @4.5.5_3 (active)
  kerberos5 @1.7.1_1 (active)
  kismet @2011-01-R1_0 (active)
  lame @3.98.4_0 (active)
  lcms @1.19_2 (active)
  libao @1.0.0_0 (active)
  libart_lgpl @2.3.21_0 (active)
  libassuan @2.0.1_1 (active)
  libdaemon @0.14_0 (active)
  libdc1394 @2.1.3_0 (active)
  libdv @1.0.0_0 (active)
  libdvdcss @1.2.10_0 (active)
  libdvdread @4.1.3_2+libdvdcss (active)
  libexif @0.6.20_0+universal (active)
  libffi @3.0.9_0 (active)
  libgcrypt @1.4.6_0 (active)
  libglade2 @2.6.4_2 (active)
  libgpg-error @1.10_0 (active)
  libiconv @1.13.1_0+universal (active)
  libid3tag @0.15.1b_2 (active)
  libidn @1.19_0 (active)
  libiodbc @3.52.7_0 (active)
  libksba @1.0.8_0 (active)
  liblzma @5.0.0_0 (active)
  libmad @0.15.1b_2 (active)
  libmng @1.0.10_2 (active)
  libogg @1.2.2_0 (active)
  liboil @0.3.17_0 (active)
  libpaper @1.1.24_0 (active)
  libpcap @1.1.1_0 (active)
  libpixman @0.20.2_0+universal (active)
  libpng @1.4.5_0+universal (active)
  libquicktime @1.1.5_2 (active)
  libsamplerate @0.1.7_1 (active)
  libsdl @1.2.14_9 (active)
  libsdl_gfx @2.0.22_0 (active)
  libsndfile @1.0.23_0 (active)
  libssh @0.4.7_0 (active)
  libtheora @1.1.1_0 (active)
  libtool @2.4_0+universal (active)
  libuninameslist @20091231_0 (active)
  libusb @1.0.8_0 (active)
  libusb-compat @0.1.3_0 (active)
  libvorbis @1.3.2_0 (active)
  libvpx @0.9.5_0 (active)
  libxml2 @2.7.8_0+universal (active)
  libxslt @1.1.26_0 (active)
  lynx @2.8.7rel.1_1+ssl (active)
  lzmautils @4.32.7_1 (active)
  lzo2 @2.03_2 (active)
  m4 @1.4.15_2+universal (active)
  macfuse @2.0.3_4 (active)
  mediatomb @0.12.1_1+ffmpeg+sqlite3+taglib (active)
  metis @4.0.1_0 (active)
  mjpegtools @1.9.0_3 (active)
  mp4v2 @1.9.1_2 (active)
  mpfr @3.0.0-p8_0 (active)
  mplayer-devel @31034_1 (active)
  mysql5 @5.1.53_0 (active)
  mysql5-server @5.1.53_0 (active)
  ncurses @5.7_1+universal (active)
  ncursesw @5.7_1+universal (active)
  nmap @5.21_2 (active)
  nspr @4.8.7_0 (active)
  ntfsprogs @2.0.0_0 (active)
  octave @3.2.4_1+gcc43 (active)
  opencv @2.2.0_0 (active)
  openexr @1.6.1_1 (active)
  openslp @1.2.1_2 (active)
  openssh @5.6p1_0 (active)
  openssl @1.0.0c_0+universal (active)
  openvpn2 @2.1.1_2 (active)
  orc @0.4.11_1 (active)
  oxygen-icons @4.5.5_0 (active)
  p5-datemanip @5.54_0 (active)
  p5-digest-hmac @1.02_0 (active)
  p5-digest-md5 @2.39_0 (active)
  p5-digest-sha1 @2.12_0 (active)
  p5-error @0.17016_0 (active)
  p5-getopt-long @2.38_0 (active)
  p5-locale-gettext @1.05_3+universal (active)
  p5-pathtools @3.33_0 (active)
  p5-scalar-list-utils @1.23_0 (active)
  p5-xml-parser @2.40_0 (active)
  p7zip @9.13_1 (active)
  pango @1.28.3_1 (active)
  pcre @8.12_0 (active)
  pdflib @7.0.5_0 (active)
  perl5 @5.8.9_0 (active)
  perl5.8 @5.8.9_3+universal (active)
  phonon @4.4.2_3 (active)
  pinentry @0.8.0_1 (active)
  pkgconfig @0.25_2+universal (active)
  popt @1.16_0 (active)
  pth @2.0.7_0 (active)
  py26-cairo @1.8.10_1 (active)
  py26-distribute @0.6.14_0 (active)
  py26-gobject @2.26.0_1 (active)
  py26-gtk @2.22.0_1 (active)
  py26-libxml2 @2.6.21_0 (active)
  py26-nose @1.0.0_0 (active)
  py26-numpy @1.5.1_1+atlas+gcc44 (active)
  py27-libxml2 @2.6.21_0 (active)
  python26 @2.6.6_1+universal (active)
  python27 @2.7.1_1 (active)
  qca @2.0.2_6 (active)
  qhull @2010.1_2 (active)
  qimageblitz @0.0.6_0 (active)
  qjson @0.7.1_1 (active)
  qrupdate @1.1.1_3+gcc44 (active)
  qt4-mac @4.7.1_1+quartz (active)
  R @2.12.1_0+gcc43+recommended (active)
  raptor @1.4.21_1 (active)
  rarian @0.8.1_0 (active)
  rasqal @0.9.21_0 (active)
  readline @6.1.002_0+universal (active)
  redland @1.0.12_0+db46 (active)
  rsync @3.0.7_0 (active)
  schroedinger @1.0.10_1 (active)
  shared-desktop-ontologies @0.5_1 (active)
  shared-mime-info @0.90_0 (active)
  smake @1.2.1_0 (active)
  soprano @2.5.63_0 (active)
  sox @14.3.1_2 (active)
  speex @1.2rc1_0 (active)
  spidermonkey @1.7.0_4 (active)
  sqlite3 @3.7.4_0+universal (active)
  sshfs @2.2_0 (active)
  streamripper @1.64.6_0 (active)
  strigi @0.6.4_0 (active)
  SuiteSparse @3.4.0_0 (active)
  szip @2.1_1 (active)
  taglib @1.6.3_0 (active)
  tcl @8.5.9_0 (active)
  texi2html @5.0_0 (active)
  texinfo @4.13_2 (active)
  tiff @3.9.4_0+universal (active)
  tk @8.5.9_0 (active)
  unrar @3.9.10_0 (active)
  urw-fonts @1.0.7pre44_0 (active)
  virtuoso @6.1.2_1 (active)
  wakeonlan @0.41_0 (active)
  wavpack @4.60.1_0 (active)
  wget @1.12_3+ssl (active)
  wireshark @1.4.3_1 (active)
  x264 @20100603_0 (active)
  xauth @1.0.5_0 (active)
  Xft2 @2.2.0_0 (active)
  xmlcatmgr @2.2_1 (active)
  xorg-bigreqsproto @1.1.1_0 (active)
  xorg-compositeproto @0.4.2_0 (active)
  xorg-damageproto @1.2.1_0 (active)
  xorg-fixesproto @4.1.2_0 (active)
  xorg-inputproto @2.0.1_0 (active)
  xorg-kbproto @1.0.5_0 (active)
  xorg-libice @1.0.7_0+universal (active)
  xorg-libpthread-stubs @0.3_0 (active)
  xorg-libsm @1.2.0_0+universal (active)
  xorg-libX11 @1.4.1_0+universal (active)
  xorg-libXau @1.0.6_0+universal (active)
  xorg-libXaw @1.0.9_0 (active)
  xorg-libxcb @1.7_0+python26+universal (active)
  xorg-libXcomposite @0.4.3_0 (active)
  xorg-libXcursor @1.1.11_0 (active)
  xorg-libXdamage @1.1.3_0 (active)
  xorg-libXdmcp @1.1.0_0+universal (active)
  xorg-libXext @1.2.0_0 (active)
  xorg-libXfixes @4.0.5_0 (active)
  xorg-libXi @1.4.0_0
  xorg-libXi @1.4.1_0 (active)
  xorg-libXinerama @1.1.1_0 (active)
  xorg-libxkbfile @1.0.7_0 (active)
  xorg-libxkbui @1.0.2_0 (active)
  xorg-libXmu @1.1.0_0 (active)
  xorg-libXrandr @1.3.1_0 (active)
  xorg-libXScrnSaver @1.2.1_0 (active)
  xorg-libXt @1.0.9_0 (active)
  xorg-libXv @1.0.6_0 (active)
  xorg-libXxf86dga @1.1.2_0 (active)
  xorg-randrproto @1.3.2_0 (active)
  xorg-renderproto @0.11.1_0 (active)
  xorg-scrnsaverproto @1.2.1_0 (active)
  xorg-util-macros @1.11.0_0 (active)
  xorg-videoproto @2.3.1_0 (active)
  xorg-xcb-proto @1.6_0+python26 (active)
  xorg-xcmiscproto @1.2.1_0 (active)
  xorg-xextproto @7.1.2_0 (active)
  xorg-xf86bigfontproto @1.2.0_0 (active)
  xorg-xf86dgaproto @2.1_0 (active)
  xorg-xineramaproto @1.2.1_0 (active)
  xorg-xproto @7.0.20_0 (active)
  xorg-xtrans @1.2.6_0 (active)
  xpm @3.5.9_0 (active)
  xrender @0.9.6_0+universal (active)
  XviD @1.2.2_0 (active)
  yasm @1.1.0_0 (active)
  zlib @1.2.5_0+universal (active)

comment:2 Changed 10 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added
Keywords: mlt removed
Milestone: MacPorts 2.0.0
Owner: changed from macports-tickets@… to dan@…

Probably another consequence of fixing #25345. Probably mlt needs "-liconv" added to its LDFLAGS.

comment:3 Changed 10 years ago by ryandesign (Ryan Schmidt)

The problem does not appear if using mlt's +no_x11 variant. "-lintl" only seems to appear by virtue of mlt asking pkg-config for pango's, glib2's, and gtk2's lib flags. These all only list -lintl, and not -liconv (which -lintl requires). So I'm not certain that this isn't actually a bug in the pango, glib2 and gtk2 ports' pkg-config files.

comment:4 Changed 10 years ago by ryandesign (Ryan Schmidt)

Cc: dan@… added; ryandesign@… removed
Owner: changed from dan@… to ryandesign@…
Port: glib2 glib2-devel added; mlt removed
Status: newassigned

gtk2 and pango both depend on glib2; this is an issue confined to glib2. It was exposed by removing indirect dependencies from pkgconfig in #25345, but caused by a change where glib2 moved iconv into the private libs. There have been other remarks that this change is strange. gettext (a.k.a. libintl), at least as built on Mac OS X by MacPorts, requires libiconv. Therefore it seems improper for glib2 to claim, when asked, that -lintl should be used, but fail to mention that -liconv is also required. I believe I will change glib2's pkgconfig file to move iconv out of the private libs and back into the public libs again.

comment:5 Changed 10 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: assignedclosed

Fixed glib2 and glib2-devel in r75483.

comment:6 Changed 10 years ago by jmroot (Joshua Root)

A library using another library is a very different thing to a program using the other library's symbols directly, which is what is happening here. mlt's producer_pango.c is calling iconv_open() and friends directly, not via some glib2 function, so it's simply wrong for it not to link with -liconv.

comment:7 Changed 10 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: closedreopened

Ah. Then I should revert my change above, and mlt should be fixed.

comment:8 Changed 10 years ago by ddennedy (Dan Dennedy)

ok, I will make a patch very soon.

Changed 10 years ago by ddennedy (Dan Dennedy)

Attachment: Portfile-mlt.diff added

Changed 10 years ago by ddennedy (Dan Dennedy)

patchfile to put in files/

comment:9 Changed 10 years ago by ryandesign (Ryan Schmidt)

Port: mlt added; glib2 glib2-devel removed
Resolution: fixed
Status: reopenedclosed

Thanks, committed in r75501.

Note: See TracTickets for help on using tickets.