Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 176811 - net-misc/asterisk-1.2.17 fails on amd64 when compiled with h323. -fPIC link problem
Summary: net-misc/asterisk-1.2.17 fails on amd64 when compiled with h323. -fPIC link p...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal
Assignee: Stefan Knoblich (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-02 13:22 UTC by Thomas Petersen
Modified: 2007-07-13 20:39 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Petersen 2007-05-02 13:22:07 UTC
When compiling asterisk with h323 use flag turned on linking fails when compiling chan_h323.

Reproducible: Always

Steps to Reproduce:
1. emerge asterisk
2.
3.

Actual Results:  
Compile fails.

Expected Results:  
Successful install.

When "H.323 wrapper lib" is compiled it says:
 * Building H.323 wrapper lib...
make: Entering directory `/var/tmp/portage/net-misc/asterisk-1.2.17/work/asterisk-1.2.17/channels/h323'
g++ -march=athlon64 -O2 -pipe -I/usr/include/openh323   -c -o ast_h323.o ast_h323.cpp
ast_h323.cpp:1:1: warning: "_GNU_SOURCE" redefined
<command line>:1:1: warning: this is the location of the previous definition
ar crv libchanh323.a ast_h323.o
a - ast_h323.o
make: Leaving directory `/var/tmp/portage/net-misc/asterisk-1.2.17/work/asterisk-1.2.17/channels/h323'

Note missing -fPIC

It later fails when compiling chan_h323:
x86_64-pc-linux-gnu-gcc -march=athlon64 -O2 -pipe  -pipe  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations  -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE  -march=athlon64 -O2 -pipe -DZAPTEL_OPTIMIZATIONS         -fomit-frame-pointer  -Wno-missing-prototypes -Wno-missing-declarations -DZAPATA_PRI -DIAX_TRUNKING -DCRYPTO -fPIC    -c -o chan_h323.o chan_h323.c
x86_64-pc-linux-gnu-gcc -shared -Xlinker -x -march=athlon64 -O2 -pipe -pipe -o chan_h323.so chan_h323.o h323/libchanh323.a -lopenh323 -lpt -lstdc++
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: h323/libchanh323.a(ast_h323.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
h323/libchanh323.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [chan_h323.so] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-misc/asterisk-1.2.17/work/asterisk-1.2.17/channels'

I'm not sure if the problem is with the ebuild or it is with the makefile(s) in channels/h323.

I have tried to manually compile the libchanh323.a file with -fPIC which fixes the problem.


emerge --info:
Portage 2.1.2.2 (default-linux/amd64/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.18-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3500+
Gentoo Base System release 1.12.9
Timestamp of tree: Mon, 30 Apr 2007 01:20:01 +0000
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
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.16.1-r3
sys-devel/gcc-config: 1.3.15-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/fax /usr/share/X11/xkb /usr/share/config /var/qmail/alias /var/qmail/control /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.esoft.dk/gentoo"
LINGUAS="da de en en_DK en_GB en_US"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/esoft-portage /home/tp/portage"
SYNC="rsync://mirror.esoft.dk/gentoo-portage"
USE="X Xaw3d a52 aac aalib adplug aiglx alsa amd64 amr apache2 arts audiofile avi bash-completion bcmath berkdb bidi bitmap-fonts bl bri bzip2 bzlib cairo calendar cdda cddb cdio cdparanoia cdr cjk clamav clearcase cli cracklib crypt ctype cups curl dba dbus dga dmx doc dri dts dv dvb dvd dvdnav dvdr edl eds emboss enca encode esd examples exif fam fame ffmpeg firefox flac flash fortran freetype ftp gd gdbm gencertdaily gif glitz glut gmp gnome gphoto2 gpm graphviz gs gstreamer gtk gtk2 gtkhtml h323 hal iconv idn imagemagick imap imlib innodb ipv6 isdnlog jack java jbig jpeg jpeg2k kde kdeenablefinal lcms ldap libcaca libclamav libg++ libsamplerate live lm_sensors lzo mad matroska mhash midi mikmod mime ming mjpeg mng modplug monkey motif mozcalendar mozdevelop mozilla mozsvg mozxmlterm mp2 mp3 mp4 mpeg mplayer musepack musicbrainz mysql mysqli nas ncurses network new-login nis nls nptl nptlonly nsplugin nvidia ocaml ogg oggvorbis openexr opengl oss pam pam_chroot pam_console pam_timestamp pcntl pcre pda pdf pear perforce perl php png pnp portaudio posix postgres povray ppds pppd pri pulseaudio python qt qt3 qt4 quicktime radio radius rar readline reflection rtc rtsp ruby samba screen sdl server session sid simplexml slang smime sndfile snmp soap sockets soundtouch sox speex spell spl sql srt ssl stream svg tcltk tcpd tetex tga theora tidy tiff timidity transcode truetype truetype-fonts trusted tta type1-fonts unicode usb v4l v4l2 vcd vlm vmdbpostgres vnc vorbis wavpack wddx wma wmf wxgtk1 wxwindows x264 xanim xine xinerama xml xorg xosd xpm xprint xscreensaver xsl xv xvid xvmc zapnet zapras zaptel zlib zvbi" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="da de en en_DK en_GB en_US" USERLAND="GNU" VIDEO_CARDS="nv nvidia v4l vga"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Gustavo Zacarias (RETIRED) gentoo-dev 2007-07-13 20:39:13 UTC
Should be fixed in 1.2.21.1 in a few minutes when the updated patch hits the tree, thanks to stkn!