SWIG build error

SM
Scott M Ober
Sat, Sep 17, 2016 12:46 AM

Hi,

I've created a fresh Ubuntu 16.04.1 LTS VM and installed all the pjsip
prerequisites that I recall.

I downloaded the latest pjsip 2.5.5

I successfully built pjsip and pjsua for linux.

Now, I'm trying to build pjsua2 in the swig directory.

I get the following error from the linker.

c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
-Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g
-fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g
-fstack-protector-strong -Wformat -Werror=format-security
-Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g
-fstack-protector-strong -Wformat -Werror=format-security
build/temp.linux-x86_64-2.7/pjsua2_wrap.o
-lpjsua2-x86_64-unknown-linux-gnu -lstdc++
-lpjsua-x86_64-unknown-linux-gnu -lpjsip-ua-x86_64-unknown-linux-gnu
-lpjsip-simple-x86_64-unknown-linux-gnu -lpjsip-x86_64-unknown-linux-gnu
-lpjmedia-codec-x86_64-unknown-linux-gnu
-lpjmedia-x86_64-unknown-linux-gnu
-lpjmedia-videodev-x86_64-unknown-linux-gnu
-lpjmedia-audiodev-x86_64-unknown-linux-gnu
-lpjmedia-x86_64-unknown-linux-gnu -lpjnath-x86_64-unknown-linux-gnu
-lpjlib-util-x86_64-unknown-linux-gnu -lsrtp-x86_64-unknown-linux-gnu
-lresample-x86_64-unknown-linux-gnu -lgsmcodec-x86_64-unknown-linux-gnu
-lspeex-x86_64-unknown-linux-gnu -lilbccodec-x86_64-unknown-linux-gnu
-lg7221codec-x86_64-unknown-linux-gnu -lyuv-x86_64-unknown-linux-gnu
-lpj-x86_64-unknown-linux-gnu -lm -lrt -lpthread -lasound -o
build/lib.linux-x86_64-2.7/_pjsua2.so
-L/home/smo/Downloads/pjproject-2.5.5/pjlib/lib
-L/home/smo/Downloads/pjproject-2.5.5/pjlib-util/lib
-L/home/smo/Downloads/pjproject-2.5.5/pjnath/lib
-L/home/smo/Downloads/pjproject-2.5.5/pjmedia/lib
-L/home/smo/Downloads/pjproject-2.5.5/pjsip/lib
-L/home/smo/Downloads/pjproject-2.5.5/third_party/lib
/usr/bin/ld:
/home/smo/Downloads/pjproject-2.5.5/pjsip/lib/libpjsua2-x86_64-unknown-linux-gnu.a(account.o):
relocation R_X86_64_32S against `_ZTVN2pj7AccountE' can not be used when
making a shared object; recompile with -fPIC
/home/smo/Downloads/pjproject-2.5.5/pjsip/lib/libpjsua2-x86_64-unknown-linux-gnu.a:
error adding symbols: Bad value
collect2: error: ld returned 1 exit status
error: command 'c++' failed with exit status 1
Makefile:19: recipe for target '_pjsua2.so' failed
make[1]: *** [_pjsua2.so] Error 1
make[1]: Leaving directory
'/home/smo/Downloads/pjproject-2.5.5/pjsip-apps/src/swig/python'
Makefile:23: recipe for target 'all' failed
make: *** [all] Error 1

I did a make clean from the root of pjsip, added -fPIC, and rebuild the
entire system, but, then I get errors complaining of 'rodata' issues.

My gcc version is 5.4.0

Any help would be appreciated.

PJSIP build and swig compile works fine on my MAC.

-- Scott.

Hi, I've created a fresh Ubuntu 16.04.1 LTS VM and installed all the pjsip prerequisites that I recall. I downloaded the latest pjsip 2.5.5 I successfully built pjsip and pjsua for linux. Now, I'm trying to build pjsua2 in the swig directory. I get the following error from the linker. c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/pjsua2_wrap.o -lpjsua2-x86_64-unknown-linux-gnu -lstdc++ -lpjsua-x86_64-unknown-linux-gnu -lpjsip-ua-x86_64-unknown-linux-gnu -lpjsip-simple-x86_64-unknown-linux-gnu -lpjsip-x86_64-unknown-linux-gnu -lpjmedia-codec-x86_64-unknown-linux-gnu -lpjmedia-x86_64-unknown-linux-gnu -lpjmedia-videodev-x86_64-unknown-linux-gnu -lpjmedia-audiodev-x86_64-unknown-linux-gnu -lpjmedia-x86_64-unknown-linux-gnu -lpjnath-x86_64-unknown-linux-gnu -lpjlib-util-x86_64-unknown-linux-gnu -lsrtp-x86_64-unknown-linux-gnu -lresample-x86_64-unknown-linux-gnu -lgsmcodec-x86_64-unknown-linux-gnu -lspeex-x86_64-unknown-linux-gnu -lilbccodec-x86_64-unknown-linux-gnu -lg7221codec-x86_64-unknown-linux-gnu -lyuv-x86_64-unknown-linux-gnu -lpj-x86_64-unknown-linux-gnu -lm -lrt -lpthread -lasound -o build/lib.linux-x86_64-2.7/_pjsua2.so -L/home/smo/Downloads/pjproject-2.5.5/pjlib/lib -L/home/smo/Downloads/pjproject-2.5.5/pjlib-util/lib -L/home/smo/Downloads/pjproject-2.5.5/pjnath/lib -L/home/smo/Downloads/pjproject-2.5.5/pjmedia/lib -L/home/smo/Downloads/pjproject-2.5.5/pjsip/lib -L/home/smo/Downloads/pjproject-2.5.5/third_party/lib /usr/bin/ld: /home/smo/Downloads/pjproject-2.5.5/pjsip/lib/libpjsua2-x86_64-unknown-linux-gnu.a(account.o): relocation R_X86_64_32S against `_ZTVN2pj7AccountE' can not be used when making a shared object; recompile with -fPIC /home/smo/Downloads/pjproject-2.5.5/pjsip/lib/libpjsua2-x86_64-unknown-linux-gnu.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status error: command 'c++' failed with exit status 1 Makefile:19: recipe for target '_pjsua2.so' failed make[1]: *** [_pjsua2.so] Error 1 make[1]: Leaving directory '/home/smo/Downloads/pjproject-2.5.5/pjsip-apps/src/swig/python' Makefile:23: recipe for target 'all' failed make: *** [all] Error 1 I did a make clean from the root of pjsip, added -fPIC, and rebuild the entire system, but, then I get errors complaining of 'rodata' issues. My gcc version is 5.4.0 Any help would be appreciated. PJSIP build and swig compile works fine on my MAC. -- Scott.
SM
Scott M Ober
Sat, Sep 17, 2016 4:14 AM

Did more research and found that just adding -fPIC wasn't enough

The following from an old post did
(http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2011-May/012963.html)

make clean
./configure CFLAGS=-fPIC CXXFLAGS=-fPIC
make dep
make
cd pjsip-apps/src/swig
make

-- Scott.

On 9/16/16 8:46 PM, Scott M Ober wrote:

Hi,

I've created a fresh Ubuntu 16.04.1 LTS VM and installed all the pjsip
prerequisites that I recall.

I downloaded the latest pjsip 2.5.5

I successfully built pjsip and pjsua for linux.

Now, I'm trying to build pjsua2 in the swig directory.

I get the following error from the linker.

c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
-Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g
-fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2
-g -fstack-protector-strong -Wformat -Werror=format-security
-Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2
-g -fstack-protector-strong -Wformat -Werror=format-security
build/temp.linux-x86_64-2.7/pjsua2_wrap.o
-lpjsua2-x86_64-unknown-linux-gnu -lstdc++
-lpjsua-x86_64-unknown-linux-gnu -lpjsip-ua-x86_64-unknown-linux-gnu
-lpjsip-simple-x86_64-unknown-linux-gnu
-lpjsip-x86_64-unknown-linux-gnu
-lpjmedia-codec-x86_64-unknown-linux-gnu
-lpjmedia-x86_64-unknown-linux-gnu
-lpjmedia-videodev-x86_64-unknown-linux-gnu
-lpjmedia-audiodev-x86_64-unknown-linux-gnu
-lpjmedia-x86_64-unknown-linux-gnu -lpjnath-x86_64-unknown-linux-gnu
-lpjlib-util-x86_64-unknown-linux-gnu -lsrtp-x86_64-unknown-linux-gnu
-lresample-x86_64-unknown-linux-gnu
-lgsmcodec-x86_64-unknown-linux-gnu -lspeex-x86_64-unknown-linux-gnu
-lilbccodec-x86_64-unknown-linux-gnu
-lg7221codec-x86_64-unknown-linux-gnu -lyuv-x86_64-unknown-linux-gnu
-lpj-x86_64-unknown-linux-gnu -lm -lrt -lpthread -lasound -o
build/lib.linux-x86_64-2.7/_pjsua2.so
-L/home/smo/Downloads/pjproject-2.5.5/pjlib/lib
-L/home/smo/Downloads/pjproject-2.5.5/pjlib-util/lib
-L/home/smo/Downloads/pjproject-2.5.5/pjnath/lib
-L/home/smo/Downloads/pjproject-2.5.5/pjmedia/lib
-L/home/smo/Downloads/pjproject-2.5.5/pjsip/lib
-L/home/smo/Downloads/pjproject-2.5.5/third_party/lib
/usr/bin/ld:
/home/smo/Downloads/pjproject-2.5.5/pjsip/lib/libpjsua2-x86_64-unknown-linux-gnu.a(account.o):
relocation R_X86_64_32S against `_ZTVN2pj7AccountE' can not be used
when making a shared object; recompile with -fPIC
/home/smo/Downloads/pjproject-2.5.5/pjsip/lib/libpjsua2-x86_64-unknown-linux-gnu.a:
error adding symbols: Bad value
collect2: error: ld returned 1 exit status
error: command 'c++' failed with exit status 1
Makefile:19: recipe for target '_pjsua2.so' failed
make[1]: *** [_pjsua2.so] Error 1
make[1]: Leaving directory
'/home/smo/Downloads/pjproject-2.5.5/pjsip-apps/src/swig/python'
Makefile:23: recipe for target 'all' failed
make: *** [all] Error 1

I did a make clean from the root of pjsip, added -fPIC, and rebuild
the entire system, but, then I get errors complaining of 'rodata' issues.

My gcc version is 5.4.0

Any help would be appreciated.

PJSIP build and swig compile works fine on my MAC.

-- Scott.


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Did more research and found that just adding -fPIC wasn't enough The following from an old post did (http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2011-May/012963.html) make clean ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC make dep make cd pjsip-apps/src/swig make -- Scott. On 9/16/16 8:46 PM, Scott M Ober wrote: > Hi, > > I've created a fresh Ubuntu 16.04.1 LTS VM and installed all the pjsip > prerequisites that I recall. > > I downloaded the latest pjsip 2.5.5 > > I successfully built pjsip and pjsua for linux. > > Now, I'm trying to build pjsua2 in the swig directory. > > I get the following error from the linker. > > c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions > -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g > -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 > -g -fstack-protector-strong -Wformat -Werror=format-security > -Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 > -g -fstack-protector-strong -Wformat -Werror=format-security > build/temp.linux-x86_64-2.7/pjsua2_wrap.o > -lpjsua2-x86_64-unknown-linux-gnu -lstdc++ > -lpjsua-x86_64-unknown-linux-gnu -lpjsip-ua-x86_64-unknown-linux-gnu > -lpjsip-simple-x86_64-unknown-linux-gnu > -lpjsip-x86_64-unknown-linux-gnu > -lpjmedia-codec-x86_64-unknown-linux-gnu > -lpjmedia-x86_64-unknown-linux-gnu > -lpjmedia-videodev-x86_64-unknown-linux-gnu > -lpjmedia-audiodev-x86_64-unknown-linux-gnu > -lpjmedia-x86_64-unknown-linux-gnu -lpjnath-x86_64-unknown-linux-gnu > -lpjlib-util-x86_64-unknown-linux-gnu -lsrtp-x86_64-unknown-linux-gnu > -lresample-x86_64-unknown-linux-gnu > -lgsmcodec-x86_64-unknown-linux-gnu -lspeex-x86_64-unknown-linux-gnu > -lilbccodec-x86_64-unknown-linux-gnu > -lg7221codec-x86_64-unknown-linux-gnu -lyuv-x86_64-unknown-linux-gnu > -lpj-x86_64-unknown-linux-gnu -lm -lrt -lpthread -lasound -o > build/lib.linux-x86_64-2.7/_pjsua2.so > -L/home/smo/Downloads/pjproject-2.5.5/pjlib/lib > -L/home/smo/Downloads/pjproject-2.5.5/pjlib-util/lib > -L/home/smo/Downloads/pjproject-2.5.5/pjnath/lib > -L/home/smo/Downloads/pjproject-2.5.5/pjmedia/lib > -L/home/smo/Downloads/pjproject-2.5.5/pjsip/lib > -L/home/smo/Downloads/pjproject-2.5.5/third_party/lib > /usr/bin/ld: > /home/smo/Downloads/pjproject-2.5.5/pjsip/lib/libpjsua2-x86_64-unknown-linux-gnu.a(account.o): > relocation R_X86_64_32S against `_ZTVN2pj7AccountE' can not be used > when making a shared object; recompile with -fPIC > /home/smo/Downloads/pjproject-2.5.5/pjsip/lib/libpjsua2-x86_64-unknown-linux-gnu.a: > error adding symbols: Bad value > collect2: error: ld returned 1 exit status > error: command 'c++' failed with exit status 1 > Makefile:19: recipe for target '_pjsua2.so' failed > make[1]: *** [_pjsua2.so] Error 1 > make[1]: Leaving directory > '/home/smo/Downloads/pjproject-2.5.5/pjsip-apps/src/swig/python' > Makefile:23: recipe for target 'all' failed > make: *** [all] Error 1 > > I did a make clean from the root of pjsip, added -fPIC, and rebuild > the entire system, but, then I get errors complaining of 'rodata' issues. > > My gcc version is 5.4.0 > > Any help would be appreciated. > > PJSIP build and swig compile works fine on my MAC. > > -- Scott. > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >