Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 159956 - [fPIC] app-misc/endeavour-2.7.3 fails on amd64
Summary: [fPIC] app-misc/endeavour-2.7.3 fails on amd64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-04 05:31 UTC by Patrizio Bassi
Modified: 2007-06-25 19:09 UTC (History)
1 user (show)

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


Attachments
endeavour-2.7.3-amd64-gtk-flags.patch (endeavour-2.7.3-amd64-gtk-flags.patch,1.71 KB, patch)
2007-06-04 15:48 UTC, Togge
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Patrizio Bassi 2007-01-04 05:31:33 UTC
Build done.
Linking modules.../usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: ../cfg.o: relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
../cfg.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [modules] Error 1


Portage 2.1.2_rc4 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.19.1 x86_64)
=================================================================
System uname: 2.6.19.1 x86_64 Intel(R) Core(TM)2 CPU          6300  @ 1.86GHz
Gentoo Base System version 1.12.8
Last Sync: Thu, 04 Jan 2007 11:30:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
dev-java/java-config: 1.3.7, 2.0.31
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64 ~amd64 ~x86"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/mail/dspam /opt/openjms/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/bind /var/run/dspam"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="39"
LC_ALL="it_IT.utf8"
LINGUAS="it"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X X509 Xaw3d a52 aac aalib accessibility acl acpi activefilter adns aiglx alsa 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_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 amuled apache2 apm asf audiofile bash-completion berkdb bidi bitmap-fonts bootsplash browserplugin bzip2 cairo caps cdda cddb cdio cdparanoia cdr cgi chroot clamav cli client codecs cracklib crypt css cups curl dba dbus dga dhcp directfb djbfft dri dvd dvdr dvdread edl elibc_glibc encode ethereal exif expat extraengine faac faad fam fastbuild fbcon ffmpeg fftw firefox flac flash foreign-package fortran ftp gcc64 gcj gd gdbm geometry ggi gif gimp gimpprint glibc-omitfp glut glx gnokii gnome gnutls gphoto2 gpm graphviz gs gtk gtk2 gtkhtml guile h264 hal iconv idea idn imagemagick imap innodb input_devices_evdev input_devices_keyboard input_devices_mouse ipod irda irmc isdnlog jack java java5 javamail javascript jikes jit joystick jpeg jpeg2k junit justify kde kdeenablefinal kdehiddenvisibility kerberos kernel_linux kqemu lame lcd lcms ldap libcaca libclamav libg++ libgda libusb linguas_it lirc live lm_sensors lua lzo mailwrapper matroska md5sum mdb mhash mikmod mime mmx2 mng mono mozcalendar mozdevelop mozilla mozsvg mozxmlterm mp3 mp4 mp4live mpeg mpeg2 mpeg4 mplayer mpm-prefork msn msnextras musepack mysql mysqli mythtv nagios-dns nagios-ntp nagios-ping nagios-ssh ncurses neXt network ngui nls nntp no_wxgtk1 nobsh nopie nossp noxalan nptl nptlonly nsplugin nv nvidia oav odbc ogg openal opengl openssl operanom2 pam pcre pda pdf pdo pear perl php pmu png pnp postgres ppds pppd pthreads python qemu-fast qhull qt3 qt4 quotas readline reflection rrdtool rtc ruby samba scanner sdl server session sftplogging sguil slang slp smp snortsam soap sockets socks5 softmmu softquota spamassassin speex spl sqlite3 sse3 ssl ssse3 subject-rewrite svg tcltk tcpd tetex tga theora tiff tokenizer truetype truetype-fonts trusted type1-fonts udev unicode usb userland_GNU userlocales video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_vesa video_cards_vga vorbis wma wmf wmv wsconvert wxwindows x264 xanim xchatdccserver xchattext xcomposite xine xinerama xml xml2 xmlrpc xorg xosd xpm xprint xsl xv xvid xvm xvmc zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Simon Stelling (RETIRED) gentoo-dev 2007-02-05 16:00:07 UTC
The problem lies in endeavor/lib/Makefile{,.srclist}:

Makefile.srclist has following listings:
===
# Source C files
SRC_C = edv_context.c edv_date.c edv_device.c edv_device_get.c  \
        edv_device_mount.c edv_devices_list.c edv_get.c         \
        edv_help.c edv_history.c edv_message.c edv_mime_type.c  \
        edv_mime_type_get.c edv_mime_type_install.c             \
        edv_mime_types_list.c edv_notify.c edv_open.c           \
        edv_recycle.c edv_window.c
 
# Add source C files from Endeavour 2
SRC_C += ../cfg.c ../cfg_fio.c ../edv_interps.c                 \
         ../edv_recbin_index.c ../edv_recbin_stat.c             \
         ../edv_recycled_obj.c ../edv_utils.c
 
 
# Source C++ files
SRC_CPP = ../disk.cpp ../fio.cpp ../prochandle.cpp              \
          ../string.cpp
 
=== 

And Makefile these rules:
===
OBJ_C   = $(SRC_C:.c=.o)
OBJ_CPP = $(SRC_CPP:.cpp=.o)
.c.o:
        @echo "Compiling module $*.o"
        @+$(CC) -c $*.c $(CFLAGS)
.cpp.o:
        @echo "Compiling module $*.o"
        @+$(CPP) -c $*.cpp $(CFLAGS) $(CPPFLAGS)
===

As cfg.c and others are taken from the parent dir, their corresponding .o files already exist, but those are not compiled with -fPIC as they were used for the application itself.

Unfortunately my make-voodoo is not sufficient to fix the error, only to analyze  it.
Comment 2 Patrizio Bassi 2007-02-18 09:42:44 UTC
i have this problem too


Compiling module about_dlg.o
Compiling module animicon.o
Compiling module archive_info_dlg.o
about_dlg.c:19:29: error: compiletimeinfo.h: No such file or directory
Compiling module archive_options_dlg.o
Compiling module archiver.o
make[1]: *** [about_dlg.o] Error 1
make[1]: *** Waiting for unfinished jobs....
Comment 3 Simon Stelling (RETIRED) gentoo-dev 2007-02-18 10:33:19 UTC
Patrizio, your problem is a different one. Please file a seperate bug report about it.
Comment 4 Patrizio Bassi 2007-05-04 21:04:24 UTC
any news here?
Comment 5 Togge 2007-06-04 15:48:20 UTC
Created attachment 121149 [details, diff]
endeavour-2.7.3-amd64-gtk-flags.patch

This patch fixes the build issues. It forces a rebuild of the reused object files by removing them in the /lib/Makefile
This makefile also was missing a gtk-config --libs call.

Package produces loads of
warning: cast to pointer from integer of different size
64 bit safe?
Comment 6 Christoph Mende (RETIRED) gentoo-dev 2007-06-24 14:44:29 UTC
I've commited your patch
the warnings you see there shouldn't be a problem since pointers are longer than integers on amd64 (ptrs are 64bit, int usually 32bit), it'd be a problem the other way around, but gcc would error out on that case.
If you still want to correct those warnings, change the ints to longs, long has the same length as a pointer on both amd64 and x86
Comment 7 Patrizio Bassi 2007-06-25 19:09:38 UTC
i confirm it's fixed :)