← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH 2/4] Use CMake function for position independent code

 

So on the jenkins master we see the following build error when
building with the bundled boost.

00:48:29.154 [100%] Building CXX object
pcbnew/CMakeFiles/_pcbnew.dir/tools/size_menu.cpp.o
00:48:34.401 [100%] Building CXX object
pcbnew/CMakeFiles/_pcbnew.dir/__/common/dialogs/dialog_page_settings.cpp.o
00:48:34.482 [100%] Building CXX object
pcbnew/CMakeFiles/_pcbnew.dir/__/common/base_units.cpp.o
00:48:37.511 Linking CXX shared module _pcbnew.kiface
00:48:38.675 Linking CXX shared module _pcbnew.so
00:48:57.455 /usr/bin/ld:
../../boost_root/lib/libboost_filesystem.a(operations.o): relocation
R_X86_64_32 against `.rodata.str1.1' can not be used when making a
shared object; recompile with -fPIC
00:48:57.456 ../../boost_root/lib/libboost_filesystem.a: could not
read symbols: Bad value
00:48:57.456 collect2: ld returned 1 exit status
00:48:57.460 /usr/bin/ld:
../../boost_root/lib/libboost_filesystem.a(operations.o): relocation
R_X86_64_32 against `.rodata.str1.1' can not be used when making a
shared object; recompile with -fPIC
00:48:57.460 ../../boost_root/lib/libboost_filesystem.a: could not
read symbols: Bad value
00:48:57.460 collect2: ld returned 1 exit status
00:48:57.482 make[2]: *** [pcbnew/_pcbnew.kiface] Error 1
00:48:57.497 make[2]: *** [pcbnew/_pcbnew.so] Error 1
00:48:57.501 make[1]: *** [pcbnew/CMakeFiles/pcbnew_kiface.dir/all] Error 2
00:48:57.527 make[1]: *** [pcbnew/CMakeFiles/_pcbnew.dir/all] Error 2
00:48:57.614 make: *** [all] Error 2

cmake version 2.8.12.2
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)

What should we do, except probably consider upgrading cmake and gcc?

Regards
Nick Østergaard


---------- Forwarded message ----------
From: Simon Richter <Simon.Richter@xxxxxxxxxx>
Date: 2015-12-10 18:27 GMT+01:00
Subject: Re: [Kicad-developers] [PATCH 2/4] Use CMake function for
position independent code
To: kicad-developers@xxxxxxxxxxxxxxxxxxx


Hi,

> - set( BOOST_CFLAGS "cflags=${PIC_FLAG}" )
> - set( BOOST_CXXFLAGS "cxxflags=${PIC_FLAG}" )

> because cmake will only set -fpic in CFLAGS but the entire cmake file
> uses BOOST_CFLAGS and never passes the plain CFLAGS

The Boost build knows on its own that it needs -fPIC -- except if you
link statically, which has its own issues.

   Simon


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Attachment: signature.asc
Description: PGP signature


Follow ups

References