Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 399129 - net-libs/gtk-vnc-0.5.0 - vncaudiopulse.c:(.text+0x88): undefined reference to `vnc_base_audio_get_type'
Summary: net-libs/gtk-vnc-0.5.0 - vncaudiopulse.c:(.text+0x88): undefined reference to...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-17 04:00 UTC by Harris Landgarten
Modified: 2012-01-20 03:08 UTC (History)
0 users

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


Attachments
build log (1326772574-install-net-libs_gtk-vnc-0.5.0:0::gentoo.out,96.23 KB, text/plain)
2012-01-17 04:02 UTC, Harris Landgarten
Details
gtk-vnc-0.5.0-libtool-files.tar.bz2 (gtk-vnc-0.5.0-libtool-files.tar.bz2,2.85 KB, application/x-bzip2)
2012-01-19 13:12 UTC, Harris Landgarten
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Harris Landgarten 2012-01-17 04:00:56 UTC
$ sudo cave resolve world -cx
Done: 7782 steps               

These are the actions I will take, in order:

u   net-libs/gtk-vnc:0::gentoo 0.5.0 to ::installed replacing 0.4.4
    -examples gtk3 introspection -python -sasl -vala build_options: symbols=split -optional_tests -trace -preserve_work
    Reasons: net-misc/vinagre

...
make[1]: Leaving directory `/var/tmp/paludis/net-libs-gtk-vnc-0.5.0/work/gtk-vnc-0.5.0_gtk2/src'
.libs/libgvncpulse_1_0_la-vncaudiopulse.o: In function `vnc_audio_pulse_get_type':
vncaudiopulse.c:(.text+0x88): undefined reference to `vnc_base_audio_get_type'
collect2: ld returned 1 exit status
libtool: install: error: relink `libgvncpulse-1.0.la' with the above command before installing it
make[3]: *** [install-libLTLIBRARIES] Error 1
make[2]: *** [install-am] Error 2
make[1]: *** [install] Error 2




Reproducible: Always




I am attaching to build log for reference
Comment 1 Harris Landgarten 2012-01-17 04:02:19 UTC
Created attachment 299113 [details]
build log
Comment 2 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-01-18 10:00:55 UTC
Can't reproduce here :/

Please attach whatever equivalent paludis has for "emerge --info" (cave --info maybe?)

Another thing to check for is .la files. Paludis is known for its pedantic behavior which results in stray .la files being left in the filesystem after package updates if a user had used a tool like dev-util/lafilefixer. To verify, please give the output of ls -l /usr/lib*/libg*vnc*.la
Comment 3 Harris Landgarten 2012-01-18 13:19:55 UTC
Fails with same error with emerge. Also have same error on another machine. There are no files on the system that match /usr/lib*/libg*vnc*.la


sudo cave info =net-libs/gtk-vnc-0.5.0
Package Manager Information:
    Package Name              paludis
    Package Version           0.70.1
    Build Date                2012-01-07T20:08:54-0500
    Built with CXX            x86_64-pc-linux-gnu-g++ 4.5.3
    Built with CXXFLAGS        -march=native -O2 -pipe -pedantic
    Built with LDFLAGS        -Wl,-O1 -Wl,--as-needed

Environment Information:
    Format                    paludis
    Config dir                /etc/paludis
    Root                      /
    System Root               /
    World file                /var/db/pkg/world

Repository layman:
    format                    unavailable
    location                  /var/db/paludis/repositories/layman
    sync                      tar+http://git.exherbo.org/layman_repositories.tar.bz2
    sync_options              

Repository gentoo:
    format                    e
    location                  /usr/portage
    builddir                  /var/tmp/paludis
    cache                     /usr/portage/metadata/cache
    distdir                   /usr/portage/distfiles
    eapi_when_unknown         0
    eapi_when_unspecified     0
    eclassdirs                /usr/portage/eclass
    layout                    traditional
    manifest_hashes           RMD160 SHA1 SHA256
    names_cache               /usr/portage/.cache/names
    newsdir                   /usr/portage/metadata/news
    profile_eapi_when_unspecified 0
    profile_layout            traditional
    profiles                  /usr/portage/profiles/default/linux/amd64/10.0/desktop/gnome
    securitydir               /usr/portage/metadata/glsa
    setsdir                   /usr/portage/sets
    sync                      rsync://rsync.gentoo.org/gentoo-portage
    sync_options              
    use_manifest              use
    write_cache               /var/cache/paludis/metadata
    Package information
        app-shells/bash       4.2_p20
        dev-java/java-config  2.1.11-r3
        dev-lang/python       2.5.4-r4 2.6.7-r2 2.7.2-r3 3.1.4-r3 3.2.2
        dev-util/ccache       (none)
        dev-util/cmake        2.8.6-r4
        dev-util/pkgconfig    0.26
        sys-apps/baselayout   2.1
        sys-apps/openrc       0.9.8.1
        sys-apps/sandbox      2.5
        sys-devel/autoconf    2.13 2.68
        sys-devel/automake    1.10.3 1.11.2 1.7.9-r2 1.9.6-r3
        sys-devel/binutils    2.22-r1
        sys-devel/gcc         4.4.6-r1 4.5.3-r2
        sys-devel/gcc-config  1.5-r2
        sys-devel/libtool     2.4.2
        sys-devel/make        3.82-r3
        sys-freebsd/freebsd-lib (none)
        sys-kernel/linux-headers 3.2
        sys-libs/glibc        2.14.1-r2
        sys-libs/uclibc       (none)

Repository sunrise:
    format                    e
    location                  /var/paludis/repositories/sunrise
    builddir                  /var/tmp/paludis
    cache                     /var/empty
    distdir                   /usr/portage/distfiles
    eapi_when_unknown         0
    eapi_when_unspecified     0
    eclassdirs                /usr/portage/eclass  /var/paludis/repositories/sunrise/eclass
    layout                    traditional
    manifest_hashes           RMD160 SHA1 SHA256
    master_repository         gentoo
    names_cache               /var/paludis/repositories/sunrise/.cache/names
    newsdir                   /var/paludis/repositories/sunrise/metadata/news
    profile_eapi_when_unspecified 0
    profile_layout            traditional
    profiles                  /usr/portage/profiles/default/linux/amd64/10.0/desktop/gnome
    securitydir               /var/paludis/repositories/sunrise/metadata/glsa
    setsdir                   /var/paludis/repositories/sunrise/sets
    sync                      svn://overlays.gentoo.org/proj/sunrise/reviewed/
    sync_options              
    use_manifest              use
    write_cache               /var/cache/paludis/metadata

Repository installed:
    format                    vdb
    location                  /var/db/pkg
    builddir                  /var/tmp/paludis
    eapi_when_unknown         0
    names_cache               /var/db/pkg/.cache/names
    root                      /

Repository installed-unpackaged:
    format                    installed_unpackaged
    location                  /var/paludis/installed-unpackaged
    root                      /

Repository local_overlay:
    format                    e
    location                  /usr/local/portage
    builddir                  /var/tmp/paludis
    cache                     /var/empty
    distdir                   /usr/portage/distfiles
    eapi_when_unknown         0
    eapi_when_unspecified     0
    eclassdirs                /usr/portage/eclass  /usr/local/portage/eclass
    layout                    traditional
    manifest_hashes           RMD160 SHA1 SHA256
    master_repository         gentoo
    names_cache               /usr/local/portage/.cache/names
    newsdir                   /usr/local/portage/metadata/news
    profile_eapi_when_unspecified 0
    profile_layout            traditional
    profiles                  /usr/portage/profiles/default/linux/amd64/10.0/desktop/gnome
    securitydir               /usr/local/portage/metadata/glsa
    setsdir                   /usr/local/portage/sets
    sync                      
    sync_options              
    use_manifest              use
    write_cache               /var/cache/paludis/metadata

Repository vmware:
    format                    e
    location                  /var/paludis/repositories/vmware
    builddir                  /var/tmp/paludis
    cache                     /var/empty
    distdir                   /usr/portage/distfiles
    eapi_when_unknown         0
    eapi_when_unspecified     0
    eclassdirs                /usr/portage/eclass  /var/paludis/repositories/vmware/eclass
    layout                    traditional
    manifest_hashes           RMD160 SHA1 SHA256
    master_repository         gentoo
    names_cache               /var/paludis/repositories/vmware/.cache/names
    newsdir                   /var/paludis/repositories/vmware/metadata/news
    profile_eapi_when_unspecified 0
    profile_layout            traditional
    profiles                  /usr/portage/profiles/default/linux/amd64/10.0/desktop/gnome
    securitydir               /var/paludis/repositories/vmware/metadata/glsa
    setsdir                   /var/paludis/repositories/vmware/sets
    sync                      svn://overlays.gentoo.org/proj/vmware/trunk
    sync_options              
    use_manifest              use
    write_cache               /var/cache/paludis/metadata

Extra Information for net-libs/gtk-vnc-0.5.0:0::gentoo:
        >>> Running ebuild phase killold as paludisbuild:paludisbuild...
        >>> Starting builtin_killold
        >>> Done builtin_killold
        >>> Completed ebuild phase killold
        >>> Running ebuild phases initmisc infovars info as paludisbuild:paludisbuild...
        >>> Starting builtin_initmisc
        >>> Done builtin_initmisc
        >>> Starting builtin_infovars
        ACCEPT_KEYWORDS=amd64
        CBUILD=x86_64-pc-linux-gnu
        CFLAGS=-march=native -O2 -pipe
        CHOST=x86_64-pc-linux-gnu
        CONFIG_PROTECT= 
        CONFIG_PROTECT_MASK= 
        CPPFLAGS=
        CTARGET=
        CXXFLAGS=-march=native -O2 -pipe
        DISTDIR=/usr/portage/distfiles
        FEATURES=
        FFLAGS=
        GENTOO_MIRRORS=
        INSTALL_MASK=
        LANG=
        LC_ALL=C
        LDFLAGS=-Wl,-O1 -Wl,--as-needed
        LINGUAS=en
        MAKEOPTS=-j13
        PORTAGE_COMPRESS=
        PORTAGE_COMPRESS_FLAGS=
        PORTAGE_CONFIGROOT=
        PORTAGE_RSYNC_EXTRA_OPTS=
        PORTAGE_RSYNC_OPTS=
        PORTAGE_TMPDIR=/var/tmp/paludis
        PORTDIR=/usr/portage
        PORTDIR_OVERLAY=
        SYNC=
        USE=gtk3 introspection amd64 alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mmap_emul alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_cgi apache2_modules_cgid apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias calligra_features_braindump calligra_features_flow calligra_features_karbon calligra_features_kexi calligra_features_krita calligra_features_plan calligra_features_stage calligra_features_tables calligra_features_words cameras_ptp2 collectd_plugins_df collectd_plugins_interface collectd_plugins_irq collectd_plugins_load collectd_plugins_memory collectd_plugins_rrdtool collectd_plugins_swap collectd_plugins_syslog elibc_glibc gpsd_protocols_aivdm gpsd_protocols_ashtech gpsd_protocols_earthmate gpsd_protocols_evermore gpsd_protocols_fv18 gpsd_protocols_garmin gpsd_protocols_garmintxt gpsd_protocols_gpsclock gpsd_protocols_itrax gpsd_protocols_mtk3301 gpsd_protocols_navcom gpsd_protocols_nmea gpsd_protocols_ntrip gpsd_protocols_oceanserver gpsd_protocols_oldstyle gpsd_protocols_oncore gpsd_protocols_rtcm104v2 gpsd_protocols_rtcm104v3 gpsd_protocols_sirf gpsd_protocols_superstar2 gpsd_protocols_timing gpsd_protocols_tnt gpsd_protocols_tripmate gpsd_protocols_tsip gpsd_protocols_ubx input_devices_evdev input_devices_wacom kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text linguas_en php_targets_php5-3 ruby_targets_ruby18 ruby_targets_ruby19 userland_GNU video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_vesa xtables_addons_account xtables_addons_chaos xtables_addons_condition xtables_addons_delude xtables_addons_dhcpmac xtables_addons_fuzzy xtables_addons_geoip xtables_addons_iface xtables_addons_ipmark xtables_addons_ipp2p xtables_addons_ipset xtables_addons_ipv4options xtables_addons_length2 xtables_addons_logmark xtables_addons_lscan xtables_addons_pknock xtables_addons_psd xtables_addons_quota2 xtables_addons_rawnat xtables_addons_steal xtables_addons_sysrq xtables_addons_tarpit xtables_addons_tee amd64 
        >>> Done builtin_infovars
        >>> Starting pkg_info
        >>> Done pkg_info
        >>> Completed ebuild phases initmisc infovars info
        >>> Running ebuild phase tidyup as paludisbuild:paludisbuild...
        >>> Starting builtin_tidyup
        rm -fr /var/tmp/paludis/net-libs-gtk-vnc-0.5.0-info
        >>> Done builtin_tidyup
        >>> Completed ebuild phase tidyup
Comment 4 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-01-19 04:12:28 UTC
(In reply to comment #3)

OK. Next guess, maybe something is wrong with the libtool files (*.la and *.lai) that are being generated during the build process.

Please attach the gtk-vnc-0.5.0-libtool-files.tar.bz2 file resulting from
# find /var/tmp/paludis/net-libs-gtk-vnc-0.5.0 -name '*.la*' | \
  xargs tar -chf - | bzip2 > gtk-vnc-0.5.0-libtool-files.tar.bz2
Comment 5 Harris Landgarten 2012-01-19 13:12:26 UTC
Created attachment 299297 [details]
gtk-vnc-0.5.0-libtool-files.tar.bz2

Attached libtool files as requested
Comment 6 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-01-20 01:40:24 UTC
(In reply to comment #5)
> Created attachment 299297 [details]
> gtk-vnc-0.5.0-libtool-files.tar.bz2
> 
> Attached libtool files as requested

Thanks, I think I now see what happened. Libtool finds /usr/lib64/libgio-2.0.la, /usr/lib64/libgmodule-2.0.la, /usr/lib64/libgobject-2.0.la, and /usr/lib64/libgthread-2.0.la files in your filesystem, and tries to use them for linking. The presence of these files changes the order of arguments in the linking command in such a way that the libgvncpulse-1.0 library ends up getting linked to /usr/lib64/libgvnc-1.0.so that you already have installed from gtk-vnc-0.4.x instead of to the libgvnc-1.0.so library that was just compiled in /var/tmp/paludis, which results in linking failure.

Please (re-)install >=dev-libs/glib-2.30.2. And if that does not remove the 4 .la files I mentioned above (due to paludis having dropped them from vdb at some point in the past, see comment #2), you will need to remove them manually.
Comment 7 Harris Landgarten 2012-01-20 02:21:15 UTC
I reinstalled glib with both cave and emerge but neither removed the offending la files and gtk-vnc would not install. I then removed the 4 la files manually and that allowed the linking to complete successfully.

Note, I rebuilt world on this machine 2 weeks ago yet still was left with .la issues. Seems we need something better than lafilefixer.

Thanks,

Harris
Comment 8 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-01-20 03:08:14 UTC
(In reply to comment #7)
> I reinstalled glib with both cave and emerge but neither removed the offending
> la files and gtk-vnc would not install. I then removed the 4 la files manually
> and that allowed the linking to complete successfully.

Good to hear.

I have increased gtk-vnc's glib dependency to 2.30.1, the first version guaranteed not to install any .la files, to ensure that nobody stumbles onto the same issue simply due to having an old glib. Unfortunately, there isn't really anything that can be done for those people who had run lafilefixer on a paludis-using system at the time when they had glib-2.28.x or 2.30.0 installed. Perhaps the ChangeLog entry will point them in the right direction.

>  20 Jan 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
>  gtk-vnc-0.5.0.ebuild:
>  Require >=glib-2.30.1 because presence of glib's .la files can result in
>  linking failure (bug #399129, thanks to Harris Landgarten for reporting).