Open omcwang opened 3 years ago
What version of swig do you have? Maybe something old that doesn't understand = delete
?
There should be a "Found SWIG" line in the output.
https://travis-ci.org/github/google/s2geometry/jobs/771984563#L319
It seems to work fine with 3.0.12.
https://travis-ci.org/github/google/s2geometry/jobs/771984563#L862
I removed swig 2 and installed swig 3.0.12. new error:
...
[ 94%] Built target s2
Scanning dependencies of target term_index
[ 95%] Building CXX object examples/CMakeFiles/term_index.dir/term_index.cc.o
[ 96%] Linking CXX executable term_index
[ 96%] Built target term_index
Scanning dependencies of target point_index
[ 97%] Building CXX object examples/CMakeFiles/point_index.dir/point_index.cc.o
[ 98%] Linking CXX executable point_index
[ 98%] Built target point_index
Scanning dependencies of target pywraps2_swig_compilation
[ 99%] Swig source
/opt/s2geometry/src/s2/s2region.h:45: Warning 362: operator= ignored
/opt/s2geometry/src/s2/s2region_coverer.h:252: Warning 350: operator new ignored
/opt/s2geometry/src/s2/s2region_coverer.h:256: Warning 351: operator delete ignored
/opt/s2geometry/src/s2/s2region_term_indexer.h:239: Warning 362: operator= ignored
/opt/s2geometry/src/s2/s2cell_union.h:73: Warning 509: Overloaded method S2CellUnion::S2CellUnion(std::vector< uint64,std::allocator< uint64 > > const &) effectively ignored,
/opt/s2geometry/src/s2/s2cell_union.h:69: Warning 509: as it is shadowed by S2CellUnion::S2CellUnion(std::vector< S2CellId,std::allocator< S2CellId > >).
[ 99%] Built target pywraps2_swig_compilation
Scanning dependencies of target _pywraps2
[ 99%] Building CXX object python/CMakeFiles/_pywraps2.dir/CMakeFiles/_pywraps2.dir/s2PYTHON_wrap.cxx.o
[100%] Linking CXX shared module _pywraps2.so
/usr/bin/ld: /usr/local/lib/libpython3.8.a(abstract.o): relocation R_X86_64_32S against symbol _Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(boolobject.o): relocation R_X86_64_32S against symbol
_Py_FalseStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(bytearrayobject.o): relocation R_X86_64_32 against symbol _PyByteArray_empty_string' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(bytesobject.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(call.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(capsule.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(classobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(exceptions.o): relocation R_X86_64_32S against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(floatobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(frameobject.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(iterobject.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(listobject.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(longobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(dictobject.o): relocation R_X86_64_32S against
.text.hot' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(memoryobject.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(methodobject.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(moduleobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(object.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(obmalloc.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(picklebufobject.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(rangeobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(setobject.o): relocation R_X86_64_32S against
.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(sliceobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(structseq.o): relocation R_X86_64_32 against
.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(tupleobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(typeobject.o): relocation R_X86_64_32 against
.text' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(unicodeobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(unicodectype.o): relocation R_X86_64_32S against
.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(weakrefobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(_warnings.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(ceval.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(codecs.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(compile.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(errors.o): relocation R_X86_64_32S against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(future.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(getargs.o): relocation R_X86_64_32S against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(import.o): relocation R_X86_64_32S against symbol _PyImport_DynLoadFiletab' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(importdl.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(initconfig.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(marshal.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(modsupport.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(pathconfig.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(peephole.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(preconfig.o): relocation R_X86_64_32S against
.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(pyhash.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(pylifecycle.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(pystate.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(pythonrun.o): relocation R_X86_64_32 against
.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(pytime.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(bootstrap_hash.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(symtable.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(sysmodule.o): relocation R_X86_64_32 against
.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(thread.o): relocation R_X86_64_32 against .bss' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(traceback.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(getopt.o): relocation R_X86_64_32S against .rodata.str4.4' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(pystrtod.o): relocation R_X86_64_32S against symbol
_Py_ctype_tolower' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(pystrhex.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(dtoa.o): relocation R_X86_64_32S against
.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(formatter_unicode.o): relocation R_X86_64_32S against symbol _Py_ctype_table' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(fileutils.o): relocation R_X86_64_32S against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(dynload_shlib.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(getpath.o): relocation R_X86_64_32S against
.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(gcmodule.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(posixmodule.o): relocation R_X86_64_32S against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(errnomodule.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(pwdmodule.o): relocation R_X86_64_32 against
.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(_sre.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(_codecsmodule.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(_weakref.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(_functoolsmodule.o): relocation R_X86_64_32 against
.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(_operator.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(_collectionsmodule.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(_abc.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(itertoolsmodule.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(atexitmodule.o): relocation R_X86_64_32 against .text' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(signalmodule.o): relocation R_X86_64_32 against symbol
_PyRuntime' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(_stat.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(timemodule.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(_threadmodule.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(_localemodule.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(_iomodule.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(iobase.o): relocation R_X86_64_32 against symbol
_Py_FalseStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(fileio.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(bytesio.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(bufferedio.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(textio.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(stringio.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(faulthandler.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(_tracemalloc.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(hashtable.o): relocation R_X86_64_32 against symbol
PyMem_RawFree' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(symtablemodule.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(xxsubtype.o): relocation R_X86_64_32 against
.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(getbuildinfo.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(acceler.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(grammar1.o): relocation R_X86_64_32S against symbol _PyParser_TokenNames' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(token.o): relocation R_X86_64_32S against
.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(parsetok.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(tokenizer.o): relocation R_X86_64_32 against
.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(accu.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(bytes_methods.o): relocation R_X86_64_32S against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(cellobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(codeobject.o): relocation R_X86_64_32S against symbol
PyUnicode_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(complexobject.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(descrobject.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(enumobject.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(genobject.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(fileobject.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(funcobject.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(interpreteridobject.o): relocation R_X86_64_32 against .text' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(odictobject.o): relocation R_X86_64_32 against symbol
PyODictItems_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(namespaceobject.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(Python-ast.o): relocation R_X86_64_32 against symbol
_Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(ast.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(ast_opt.o): relocation R_X86_64_32S against symbol
PyFrozenSet_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(ast_unparse.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(bltinmodule.o): relocation R_X86_64_32S against symbol
PyFilter_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(context.o): relocation R_X86_64_32 against symbol PyContext_Type' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(getcopyright.o): relocation R_X86_64_32 against
.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(getplatform.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(getversion.o): relocation R_X86_64_32 against
.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(hamt.o): relocation R_X86_64_32S against symbol _PyHamt_BitmapNode_Type' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(mystrtoul.o): relocation R_X86_64_32S against symbol
_Py_ctype_table' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(structmember.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(parser.o): relocation R_X86_64_32 against
.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython3.8.a(myreadline.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(getcompiler.o): relocation R_X86_64_32 against
.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[2]: [python/_pywraps2.so] Error 1
make[1]: [python/CMakeFiles/_pywraps2.dir/all] Error 2
make: *** [all] Error 2
/usr/bin/ld: /usr/local/lib/libpython3.8.a(abstract.o): relocation R_X86_64_32S against symbol _Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython3.8.a(boolobject.o): relocation R_X86_64_32S against symbol _Py_FalseStruct' can not be used when making a shared object; recompile with -fPIC
It looks like this is finding a static rather than a shared library. Do you have a libpython3.8.so?
@jmr The similar error occured with me.
❯ git log
commit 7773d518b1f29caa1c2045eb66ec519e025be108 (grafted, HEAD -> master, origin/master, origin/HEAD)
❯ cmake . -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DWITH_PYTHON=ON -DCMAKE_CXX_STANDARD=17
-- The C compiler identification is GNU 13.1.1
-- The CXX compiler identification is GNU 13.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib64/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The following features have been enabled:
* SHARED_LIBS, builds shared libraries instead of static.
* PYTHON, provides python interface to S2
-- The following features have been disabled:
* S2_USE_SYSTEM_INCLUDES, Silence warnings in s2 headers by marking them as SYSTEM includes.
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenSSL: /usr/lib64/libcrypto.so (found version "3.0.8")
-- Found SWIG: /usr/bin/swig (found suitable version "4.1.1", minimum required is "4.0")
-- Found Python3: /usr/bin/python3.11 (found version "3.11.4") found components: Interpreter Development Development.Module Development.Embed
GOOGLETEST_ROOT:
-- Configuring done (1.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/ruby/test/s2geometry/build
ruby in 🌐 fedora in s2geometry on master [?] is 📦 v0.11.0.dev1 via △ v3.27.0-rc3 via 🐍 v3.11.4
❯ cmake --build build/ -j6
[101/103] Swig compile s2.i for python
FAILED: python/CMakeFiles/s2geometry.dir/s2PYTHON_wrap.cxx python/s2.py /home/ruby/test/s2geometry/build/python/CMakeFiles/s2geometry.dir/s2PYTHON_wrap.cxx /home/ruby/test/s2geometry/build/python/s2.py
cd /home/ruby/test/s2geometry/build/python && /usr/bin/cmake -E make_directory /home/ruby/test/s2geometry/build/python/CMakeFiles/s2geometry.dir /home/ruby/test/s2geometry/build/python /home/ruby/test/s2geometry/build/python/CMakeFiles/s2geometry.dir && /usr/bin/cmake -E env SWIG_LIB=/usr/share/swig/4.1.1 /usr/bin/swig -python -module s2geometry -outdir /home/ruby/test/s2geometry/build/python -c++ -interface _s2geometry -I/usr/include -I/usr/include/python3.11 -I/home/ruby/test/s2geometry/src -o /home/ruby/test/s2geometry/build/python/CMakeFiles/s2geometry.dir/s2PYTHON_wrap.cxx /home/ruby/test/s2geometry/src/python/s2.i
/usr/include/s2/util/coding/coder.h:53: Warning 362: operator= ignored
/usr/include/s2/s2boolean_operation.h:452: Warning 362: operator= ignored
/usr/include/s2/s2buffer_operation.h:203: Warning 362: operator= ignored
/usr/include/s2/s2buffer_operation.h:213: Warning 325: Nested class not currently supported (Options ignored)
/usr/include/s2/s2buffer_operation.h:220: Error: Syntax error in input(3).
ninja: build stopped: subcommand failed.
hi, I want to work with s2 as python lib. OS: Centos7.9, python3.8.5 I ran: cd /opt git clone https://github.com/google/s2geometry.git cd s2geometry mkdir build && cd build cmake -DWITH_PYTHON=ON ..
all is ok, but when I ran 'make && make install', there is following error.
... [ 96%] Built target term_index Scanning dependencies of target point_index [ 97%] Building CXX object examples/CMakeFiles/point_index.dir/point_index.cc.o [ 98%] Linking CXX executable point_index [ 98%] Built target point_index Scanning dependencies of target pywraps2_swig_compilation [ 99%] Swig source /opt/s2geometry/src/s2/s2region.h:45: Warning 362: operator= ignored /opt/s2geometry/src/s2/s2region_term_indexer.h:226: Warning 325: Nested class not currently supported (Options ignored) /opt/s2geometry/src/s2/s2region_term_indexer.h:236: Error: Syntax error in input(3). make[2]: [python/CMakeFiles/_pywraps2.dir/s2PYTHON.stamp] Error 1 make[2]: Deleting file `python/CMakeFiles/_pywraps2.dir/s2PYTHON.stamp' make[1]: [python/CMakeFiles/pywraps2_swig_compilation.dir/all] Error 2 make: [all] Error 2
could you give some idea how to solve it?