#3 Add -fPIC to %optflags for EPEL8
Merged 4 years ago by smani. Opened 4 years ago by orion.
rpms/ orion/libkml fPIC  into  master

file modified
+1
@@ -88,6 +88,7 @@ 

  

  

  %build

+ %global optflags %{optflags} -fPIC

  %cmake -DWITH_SWIG=ON -DWITH_PYTHON=ON -DWITH_JAVA=ON \

    -DJNI_INSTALL_DIR=%{_libdir}/%{name} \

    -DCMAKE_INSTALL_DIR=%{_libdir}/cmake/%{name} \

Link fails on x86_64 in EPEL8, this fixes:

[  5%] Linking CXX shared library ../../../lib/libkmlbase.so
cd /builddir/build/BUILD/libkml-1.3.0/src/kml/base && /usr/bin/cmake -E cmake_link_script CMakeFiles/kmlbase.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti -DNDEBUG -Wl,-z,relro  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -shared -Wl,-soname,libkmlbase.so.1 -o ../../../lib/libkmlbase.so.1.3.0 CMakeFiles/kmlbase.dir/attributes.cc.o CMakeFiles/kmlbase.dir/csv_splitter.cc.o CMakeFiles/kmlbase.dir/date_time.cc.o CMakeFiles/kmlbase.dir/expat_handler_ns.cc.o CMakeFiles/kmlbase.dir/expat_parser.cc.o CMakeFiles/kmlbase.dir/file.cc.o CMakeFiles/kmlbase.dir/file_posix.cc.o CMakeFiles/kmlbase.dir/math_util.cc.o CMakeFiles/kmlbase.dir/mimetypes.cc.o CMakeFiles/kmlbase.dir/referent.cc.o CMakeFiles/kmlbase.dir/string_util.cc.o CMakeFiles/kmlbase.dir/time_util.cc.o CMakeFiles/kmlbase.dir/uri_parser.cc.o CMakeFiles/kmlbase.dir/version.cc.o CMakeFiles/kmlbase.dir/xml_namespaces.cc.o CMakeFiles/kmlbase.dir/zip_file.cc.o CMakeFiles/kmlbase.dir/contrib/minizip/unzip.c.o CMakeFiles/kmlbase.dir/contrib/minizip/iomem_simple.c.o -lexpat -lz ../../../MINIZIP/install/include/lib/libminizip.a -luriparser -lexpat -lz ../../../MINIZIP/install/include/lib/libminizip.a -luriparser 
/usr/bin/ld: ../../../MINIZIP/install/include/lib/libminizip.a(zip.c.o): relocation R_X86_64_PC32 against symbol `LoadCentralDirectoryRecord' can not be used when making a shared object; recompile with -fPIC

Pull-Request has been merged by smani

4 years ago