Matus,

thank you for your response and for pointing out the arch-independence of the includes.

"uname -a" gives (I hope that answers your question; if not, please let me know): Linux myhost 3.13.0-rc8 #1 SMP Sun Jan 26 14:27:15 CET 2014 x86_64 Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz GenuineIntel GNU/Linux

The system was built according to "Cross-Compiled Linux from scratch", x86_64 (http://cross-lfs.org/view/svn/x86_64/). There are "/lib" and "/usr/lib" directories holding the 32bit-libraries as well as "/lib64" and "/usr/lib64" directories holding the 64bit-libraries. These are no links.

There is a tiny "/usr/bin/multiarch_wrapper" executable as well which will execute either 32bit or 64bit programs based on the |USE_ARCH| varia|ble. According to http://cross-lfs.org/view/svn/x86_64/final-system/multiarch_wrapper.html t|he multiarch-wrapper is used to wrap certain binaries that have hardcoded paths to libraries or are architecture specific.

Although I do not understand the specifics I can attest that I have been using this architecture for several years and never experienced similar issues. As I understand it: For example, there are three binaries for "xml2-config" (/usr/bin/xml2-config, /usr/bin/xml2-config-32, /usr/bin/xml2-config-64), with "/usr/bin/xml2-config" being just a symlink to "/usr/bin/multiarch_wrapper". So, if "/usr/bin/xml2-config" is executed, the multiarch-wrapper gets executed and decides to execute either the 32bit or the 64bit binary depending on the contents of the environment variable "USE_ARCH=32". If "USE_ARCH" holds "32" then the 32bit executable is run, otherwise the 64bit executable.

Regards
Alexander


Am 09.05.2014 10:25, schrieb Matus UHLAR - fantomas:
On 08.05.14 22:52, Alexander Tampermeier wrote:
So, I got into the same "error adding symbols"-trouble as before with libxml2, now with libltdl. First I thought, that this might be a general issue with my libraries. But then I tried to recompile several packages including php (which also uses libxml2) and everything compiled perfectly. This makes me believe that this issue might not be related to my system only.

Apparently clamav compilation detects wrong system architecture.
What is the current kernel arch running on, and where do /lib and /usr/lib
point to?

But what definitely is strange:
"xml2-config-32 --libs" and "xml2-config-64 --libs" both bring the same result: "-lxml2 -lz -lm -ldl" "./xml2-config-32 --cflags" and "./xml2-config-64 --cflags" both bring the same result: "-I/usr/include/libxml2"

I don't find this strange. You need the same includes (arch-independent) and
the same libraries (although from different directories).


_______________________________________________
Help us build a comprehensive ClamAV guide:
https://github.com/vrtadmin/clamav-faq
http://www.clamav.net/support/ml

Reply via email to