Question:
I tried to compile code using the libchilkat-9.4.1 and got the following error:
/chilkat-9.4.1-x86_64-linux-gcc/lib/libchilkat-9.4.1.so: undefined reference to __fdelt_chk@GLIBC_2.15'
./chilkat-9.4.1-x86_64-linux-gcc/lib/libchilkat-9.4.1.so: undefined reference to
memcpy@GLIBC_2.14'
collect2: ld returned 1 exit status
Unfortunately Debian Squeeze only support glibc-2.11 and installing glibc-2.14 or 2.15 is not an option for us.
Is it possible to get C++ libraries with glibc-2.11 support?
There are two solutions:
1) Link your app against the static Chilkat library (libchilkat-9.4.1.a) instead of the dynamic shared library (libchilkat-9.4.1.so). In that case, you'll also need to link with "-lpthread" and "-lresolv".
2) Create a libchilkat-9.4.1.so from the libchilkat-9.4.1.a. This is very easy to do, and the libchilkat-9.4.1.so you create will use whatever version of glibc is on your machine. Here is the command:
g++ -shared -o libchilkat-9.4.1.so -Wl,--whole-archive libchilkat-9.4.1.a -Wl,--no-whole-archive -lpthread -lresolv
I tried both solutions and both fail to compile, I get the following error when linking against the static Chilkat library:
/root/chilkattest//libchilkat-9.4.1.a(ChilkatSocket.o): In function `ChilkatSocket::waitWriteable2(unsigned int, LogBase&)':
ChilkatSocket.cpp:(.text+0x1a28): undefined reference to `__fdelt_chk'
/root/chilkattest//libchilkat-9.4.1.a(ChilkatSocket.o): In function `ChilkatSocket::waitWriteableMs2(unsigned int, bool, SocketParams&, LogBase&)':
ChilkatSocket.cpp:(.text+0x1b38): undefined reference to `__fdelt_chk'
ChilkatSocket.cpp:(.text+0x1b8c): undefined reference to `__fdelt_chk'
ChilkatSocket.cpp:(.text+0x1c00): undefined reference to `__fdelt_chk'
ChilkatSocket.cpp:(.text+0x1c2d): undefined reference to `__fdelt_chk'
/root/chilkattest//libchilkat-9.4.1.a(ChilkatSocket.o):ChilkatSocket.cpp:(.text+0x1dfa): more undefined references to `__fdelt_chk' follow
collect2: ld returned 1 exit status
Hello Chilkat community,
i've the same problem as described above. :-) My system is: SUSE Linux Enterprise Server 11 (i586) VERSION = 11 PATCHLEVEL = 3 (32 Bit)
My GNU libc is on Version 2.11.3
My g++ is on Version 4.3.4
i won't upgrade our whole environment.
Is there a solution others than the ones above to compile c++ code linking libchilkat-9.4.1
My compiler error is: undefined reference to `__fdelt_chk@GLIBC_2.15'
Has nobody an answer?(Chilkat?) Really need to get this running...
The Chilkat v9.5.0 release is ongoing, and the builds based on glibc v2.11 will be included for both x86 and x86_64. It's just matter of time (sorry for the delay). Chilkat wishes to do this in a comprehensive way so that everything will be available on this older platform (C++, Java, Perl, Python, PHP, Ruby, etc.)
The 32-bit C/C++ libs for glibc v2.11 are now available: http://www.chilkatsoft.com/chilkat_glibc211.asp
This web page will soon have the complete set of downloads for Java, Perl, Python, PHP, and Ruby that are available for newer Linux systems..
Hello Chilkat,
thank you for the quick release/response. But i still can't compile chilkat in c++ on my SLES 11 32Bit. Getting the following compiler error:
g++ myprog.cpp -o send -L/usr/local/bin/chilkat/chilkat-9.5.0-x86_64-linux-glibc211-gcc/lib -lchilkat-9.5.0 -lresolv -lpthread
/usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: skipping incompatible /usr/local/bin/chilkat/chilkat-9.5.0-x86_64-linux-glibc211-gcc/lib/libchilkat-9.5.0.so when searching for -lchilkat-9.5.0 /usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: skipping incompatible /usr/local/bin/chilkat/chilkat-9.5.0-x86_64-linux-glibc211-gcc/lib/libchilkat-9.5.0.a when searching for -lchilkat-9.5.0 /usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: cannot find -lchilkat-9.5.0 collect2: ld returned 1 exit status
I've downloaded the 32Bit Version from the related link. I'm wondering that the filename in this link is chilkat-9.5.0-x86_64-linux-glibc211-gcc.tar.gz and not chilkat-9.5.0-x86-linux-gcc.tar.gz like in the installation instruction. Can it be that there is a mistake only hyperlinking the 64Bit version?
Sorry about that.. the link on the web page was wrong -- both links were pointing to the x64 build. Here are the correct links:
C/C++, 64-bit: http://www.chilkatsoft.com/download/chilkat-9.5.0-x86_64-linux-glibc211-gcc.tar.gz (19-Mar-2014)
C/C++, 32-bit: http://www.chilkatsoft.com/download/chilkat-9.5.0-x86-linux-glibc211-gcc.tar.gz (19-Mar-2014)