Hi,
While trying to package unifrac - and applying a couple of patched (which is IMO, fine), I seem to get this strange error related to HDF5:
h5c++ -shared -o libssu.so tree.o biom.o unifrac.o cmd.o unifrac_task.o api.o -lc -lhdf5_cpp -L/lib
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.a(H5IdComponent.o): relocation R_X86_64_PC32 against symbol `_ZTVN2H511IdComponentE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:62: api] Error 1
make[1]: Leaving directory '/home/nilesh/packages/unifrac/unifrac/sucpp'
Traceback (most recent call last):
File "setup.py", line 94, in <module>
setup(
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 144, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/lib/python3.8/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "setup.py", line 61, in run
self.run_compile_ssu()
File "setup.py", line 65, in run_compile_ssu
self.execute(compile_ssu, [], 'Compiling SSU')
File "/usr/lib/python3.8/distutils/cmd.py", line 335, in execute
util.execute(func, args, msg, dry_run=self.dry_run)
File "/usr/lib/python3.8/distutils/util.py", line 303, in execute
func(*args)
File "setup.py", line 54, in compile_ssu
raise Exception('Error compiling ssu!')
Exception: Error compiling ssu!
E: pybuild pybuild:352: build: plugin distutils failed with: exit code=1: /usr/bin/python3 setup.py build
dh_auto_build: error: pybuild --build -i python{version} -p 3.8 returned exit code 13
make: *** [debian/rules:21: build] Error 13
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
I am not sure if hdf5 needs a recompilation here or there's a flag which I'm missing.
I've pushed my changes to:
Need opinions and help here.
Thanks and regards,
Nilesh