Internal PyYAML ignores --disable-shared

Bug #1439115 reported by Yann Pouillon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
BigDFT
Fix Released
Low
Unassigned

Bug Description

Hi,

I'm trying to build BigDFT 1.7.1.20 to use with Abinit 7.11.6. I'm configuring BigDFT using the following options:

./configure \
  --disable-binaries \
  --disable-bindings \
  --enable-libbigdft \
  --without-archives \
  --with-moduledir="/abinit/fallbacks/trunk/tmp/exports/include" \
  --enable-internal-libyaml \
  --disable-shared \
  --disable-internal-libxc \
  --with-libxc-incs="-I/abinit/fallbacks/trunk/tmp/exports/include" \
  --with-libxc-libs="-L/abinit/fallbacks/trunk/tmp/exports/lib -lxcf90 -lxc"

As you can see, I ask for a static build only (--disable-shared). The build runs fine until the final linking of PyYAML, where I get the following error:

/usr/bin/ld: /home/pouillon/abinit/fallbacks/trunk/tmp/sources/bigdft-1.7.1.20/yaml-0.1.4/src/.libs/libyaml.a(api.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/home/pouillon/abinit/fallbacks/trunk/tmp/sources/bigdft-1.7.1.20/yaml-0.1.4/src/.libs/libyaml.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
make[5]: *** [pyyaml_build] Error 1

This is perfectly normal because Python bindings require dynamic objects to work.

Could you thus have the build system of BigDFT to disable the build of PyYAML when both the --enable-internal-yaml and --disable-shared options are used?

In the meantime, I will disable the use of YAML when BigDFT is built as an Abinit fallback. I'll re-enable it when you tell me that everything is fine again.

Thanks a lot in advance.

Best regards,

Yann.

Changed in bigdft:
importance: Undecided → Low
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.