Opened 20 years ago
Closed 19 years ago
#1549 closed enhancement (fixed)
libIDN
Reported by: | Owned by: | Randy McMurchy | |
---|---|---|---|
Priority: | normal | Milestone: | 6.2.0 |
Component: | BOOK | Version: | SVN |
Severity: | minor | Keywords: | |
Cc: |
Description ¶
Add libIDN to the book. It is a recommeded dependency of kdelibs.
Change History (11)
comment:1 by , 20 years ago
comment:2 by , 19 years ago
Milestone: | future → 6.2 |
---|---|
Owner: | changed from | to
rep_platform: | PC → All |
As libIDN is a recommended dependency of KDE, it needs to go into the book before jhalfs gets too far along in the BLFS packages. Adding it to Chapter 8, General Libraries.
comment:3 by , 19 years ago
Status: | new → assigned |
---|
comment:4 by , 19 years ago
What is the difference between the glibc libidn addon and libidn? The UTF-8 book adds the addon for glibc but mentions that some packages need the full library. The libidn homepage says to install the library or the addon.
If only one of them is required, then it might be wise to postpone the update since UTF-8 will be installing the add-on.
comment:5 by , 19 years ago
Not sure how the Libc add-on works. I do know that KDE looks specifically for /path/lib/libidn. I don't know if the addon builds a libidn, or puts that functionality into an existing library.
I do know the LiveCD installs the Libidn package. There must be a reason for that, though I don't know it.
comment:6 by , 19 years ago
After a small bit of research, I still cannot tell exactly what enabling the libidn add-on will do. Here's what I *think*, from just some preliminary reading, nothing of which says much. I'm probably wrong. Short of building Glibc and using the --enable-addon=libidn switch I'm just guessing.
I would guess that a libidn.{so,a} is not built doing the Glibc add-on. Best I can tell, using the add-on simply provides some libidn functionality to the POSIX getaddrinfo() function.
KDE specifically will look for a idna_to_ascii_4i function and the idna, punycode and stringprep interface headers.
comment:7 by , 19 years ago
(In reply to comment #5)
After a small bit of research, I still cannot tell exactly what enabling the libidn add-on will do. Here's what I *think*, from just some preliminary reading, nothing of which says much. I'm probably wrong. Short of building Glibc and using the --enable-addon=libidn switch I'm just guessing.
I would guess that a libidn.{so,a} is not built doing the Glibc add-on. Best I can tell, using the add-on simply provides some libidn functionality to the POSIX getaddrinfo() function.
KDE specifically will look for a idna_to_ascii_4i function and the idna, punycode and stringprep interface headers.
So it would be safe to install both? The libidn page is not very clear on whether we need only one. But based on my preliminary reading of the page, it seemed like we only need one.
comment:8 by , 19 years ago
(In reply to comment #6)
So it would be safe to install both? The libidn page is not very clear on whether we need only one. But based on my preliminary reading of the page, it seemed like we only need one.
I cannot answer that. Someone with better overall knowledge of the big picture (Alexander?) is going to have to speak up here.
If there is a conflict (a la libiconv) and both should not be installed, yet some will need the full library, then I would think that using the add-on to Glibc would be the wrong thing to do.
The big question at this point is can you install the full Libidn package after enabling the add-on in Glibc, without causing harm?
This is the one that must be answered.
comment:9 by , 19 years ago
Here is a little more to go on. I downloaded the glibc-libidn-2.3.6.tar.gz tarball and unpacked it into a clean, fresh glibc-2.3.6 source tree.
configure with all the normal stuff from the Chapter 6 LFS instructions except --enable-add-ons=nptl,libidl
Configured fine, including the libidl stuff. Then ran make
built fine, no issues. then make install
Instead of libidn.so it builds libcidn.so. The headers I was looking for, idna.h punycode.h and stringprep.h, though they are in the source tarball and are unpacked into the libidn directory in the glibc source tree, the headers are not installed on the system.
The idna_to_ascii_4i function is included in the libcidn.so library but packages, such as KDE (and I will check further to see if it looks for libcidn after not finding libidn) that look for it in libidn will fail either configuring or compilation.
Seems to me that you could have the libidn add-on included with a Glibc installation and then install the Libidn package and there would be no conflicts.
We'll wait and see what Alexander says.
comment:10 by , 19 years ago
Comment #8 gets the big picture 100% correctly. The libidn add-on builds libcidn.so (to be used only internally by glibc and thus indirectly by apps that know about the new flag) and provides the getaddrinfo() functionality. The full libidn provides libidn.so (to be used directly by apps) and the headers.
The LiveCD builds both. Not sure if anything on the CD actually uses libcidn.
comment:11 by , 19 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Added Libidn-0.6.0 to BLFS
It is also an optional dependency of cURL and Mutt.