Fink & Apple's X11

      / Fink and Panther 2 /



- Fink and Panther FAQ-2 -



Contents

Problems with Dl_info and OpenOffice
compiling gstreamer-0.6.4-4 failed
compiling librep-0.16.2-11 failed
compiling librep-0.14-18 failed
compiling pango1-xft2-1.2.5-2 failed
compiling librsvg2-2.4.0-3 failed
compiling vte-0.11.10-3 failed
compiling id3lib3.7-3.7.13-4 failed
compiling gnome-panel-2.4.2-6 failed
compiling uri-pm581-1.28-12 failed
atk1 BuildDepend WARNINGS





Problems with Dl_info and OpenOffice

All of these problems with Dl_info are from people who have installed OpenOffice. OpenOffice's installer ships, or at least used to ship:

/usr/local/include/dlfcn.h
and
/usr/local/lib/libdl.dylib

Problem being that the version of dlcompat that they are shipping is old/different, and does not include support for dladdr. It is the fault of openoffice for shipping a header that they do not even need to ship. Application installers really should not install headers.

You can trash /usr/local/include/dlfcn.h and have no problems. You should probably leave the lib there, it is unlikely to be binary compatible with the libdl in libSystem.

Check the next 3 examples:

compiling gstreamer-0.6.4-4 failed
compiling librep-0.16.2-11 failed
compiling librep-0.14-18 failed





compiling gstreamer-0.6.4-4 failed

gstinfo.c:509: error: `Dl_info' undeclared (first use in this function)
gstinfo.c:509: error: (Each undeclared identifier is reported only once
gstinfo.c:509: error: for each function it appears in.
gstinfo.c:509: error: parse error before "dlinfo"
gstinfo.c:515: warning: implicit declaration of function `dladdr'
gstinfo.c:515: error: `dlinfo' undeclared (first use in this function)
make[4]: *** [libgstreamer_0.6_la-gstinfo.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
### execution of make failed, exit code 2
Failed: compiling gstreamer-0.6.4-4 failed

Try fixing this by moving
/usr/local/include/dlfcn.h
out of the way. Please, read "Problems with Dl_info and OpenOffice"





compiling librep-0.16.2-11 failed

unix_dl.c: In function `rep_open_dl_library':
unix_dl.c:328: warning: assignment discards qualifiers from pointer
target type
unix_dl.c: In function `rep_find_c_symbol':
unix_dl.c:466: error: `Dl_info' undeclared (first use in this function)
unix_dl.c:466: error: (Each undeclared identifier is reported only once
unix_dl.c:466: error: for each function it appears in.)
unix_dl.c:466: error: parse error before "info"
unix_dl.c:467: error: `info' undeclared (first use in this function)
make[1]: *** [unix_dl.lo] Error 1
make: *** [all] Error 1
### execution of failed, exit code 2
Failed: compiling librep-0.16.2-11 failed

Check if you have a:
/usr/local/include/dlfcn.h
and
/usr/local/lib/libdl.dylib

If this is the case with you, you need to remove these files. Please, read "Problems with Dl_info and OpenOffice"





compiling librep-0.14-18 failed

unix_dl.c: In function `rep_find_c_symbol':
unix_dl.c:466: error: `Dl_info' undeclared (first use in this function)
unix_dl.c:466: error: (Each undeclared identifier is reported only once
unix_dl.c:466: error: for each function it appears in.)
unix_dl.c:466: error: parse error before "info"
unix_dl.c:467: error: `info' undeclared (first use in this function)
make[1]: *** [unix_dl.lo] Error 1
make: *** [all] Error 1
### execution of failed, exit code 2
Failed: compiling librep-0.14-18 failed

You have an old:
/usr/local/include/dlfcn.h
that is incompatible with Panther. Move it out of the way. Please, read "Problems with Dl_info and OpenOffice"





compiling pango1-xft2-1.2.5-2 failed

ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
_FT_Access_Frame
_FT_Forget_Frame
_FT_Get_Short
_FT_Seek_Stream
_FT_Get_Long
make[3]: *** [ottest] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive-am] Error 2
### execution of LD_TWOLEVEL_NAMESPACE=1 failed, exit code 2
Failed: compiling pango1-xft2-1.2.5-2 failed

If you are using Apple's X11 when you get this error, it is recommended to "reinstall" the X11SDK.pkg.

The symbol FT_Access_Frame, should not be defined anywhere on your system when you are running Panther and have Apple's X11 installed. It used to be defined in earlier versions of X11. This symbol can *only* show up as undefined when it is picked up from some header file during compilation. So it must be somewhere in a text file on your hard disk, and it is not in the sources of pango1-xft2 which you are trying to compile.

To find out where this comes from, you can run the following command:

grep FT_Access_Frame -r /sw/lib/lib*

This will give you some lines like:

Binary file /sw/lib/libsomething.dylib matches

Then check which package this comes from with:

dpkg -S libsomething.dylib

This should show you some package that was installed from the binary distribution and which you now have to recompile. Most likely it is the freetype2-shlibs package. If this is the case, do:

sudo dpkg --purge --force-depends freetype2 freetype2-shlibs
fink rebuild freetype2
fink install freetype2


But there might be other packages affected.

Or try the following commands:

grep FT_Access_Frame -r /usr/X11R6/include
grep FT_Access_Frame -r /usr/local/
grep FT_Access_Frame -r /sw/include


In one case, the problem was tracked down to an older (Jaguar) version of the file:

/usr/X11R6/include/freetype2/freetype/internal/ftstream.h

being left over from an earlier version of X11. Whatever file it is, that would be the file that you need to remove or replace by a newer version.





compiling librsvg2-2.4.0-3 failed

/sw/include/pango-1.0/pango/pangoft2.h:52: error: parse error before '*' token
/sw/include/pango-1.0/pango/pangoft2.h:57: error: parse error before '*' token
/sw/include/pango-1.0/pango/pangoft2.h:61: error: parse error before '*' token
/sw/include/pango-1.0/pango/pangoft2.h:86: error: parse error before
"pango_ft2_font_get_face"
/sw/include/pango-1.0/pango/pangoft2.h:86: warning: data definition has
no type or storage class
make[2]: *** [rsvg-gz.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive-am] Error 2
### execution of make failed, exit code 2
Failed: compiling librsvg2-2.4.0-3 failed

The workaround is to remove the freetype and freetype-hinting packages (at most one of these two is installed, but "fink remove freetype freetype-hinting" will remove whatever is installed). They are build only packages anyway and can always be safely removed.

fink remove freetype freetype-hinting

----

ld: Undefined symbols:
_rsvg_set_default_dpi
make[2]: *** [rsvg] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive-am] Error 2
### execution of make failed, exit code 2
Failed: compiling librsvg2-2.4.0-3 failed

At the moment, you have to "fink remove librsvg2" first before compiling librsvg2.

fink remove librsvg2
fink install librsvg2




compiling vte-0.11.10-3 failed

In file included from vteft2.c:32:

vteglyph.h:64: error: parse error before "FT_Library"
vteglyph.h:64: warning: no semicolon at end of struct or union
vteft2.c: In function `_vte_ft2_get_text_width':
vteft2.c:236: error: dereferencing pointer to incomplete type
vteft2.c: In function `_vte_ft2_get_text_height':
vteft2.c:244: error: dereferencing pointer to incomplete type
vteft2.c: In function `_vte_ft2_get_text_ascent':
vteft2.c:252: error: dereferencing pointer to incomplete type
vteft2.c: In function `_vte_ft2_draw_text':
vteft2.c:294: error: dereferencing pointer to incomplete type
vteft2.c:295: error: dereferencing pointer to incomplete type

make[2]: *** [vteft2.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
### execution of make failed, exit code 2
Failed: compiling vte-0.11.10-3 failed

Try if removing the freetype and freetype-hinting packages helps.






compiling id3lib3.7-3.7.13-4 failed

ld: Undefined symbols:
ParseNumber(unsigned char const*, unsigned long)
ID3_Tag::operator[](unsigned long) const
ID3_Error::GetErrorDesc() const
ID3_Error::GetErrorFile() const
ID3_Error::GetErrorLine() const
ID3_Error::GetErrorType() const
ID3_Field::GetNumTextItems() const
ID3_Field::Size() const
make[2]: *** [id3info] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive-am] Error 2
### execution of make failed, exit code 2
Failed: compiling id3lib3.7-3.7.13-4 failed

If you have id3lib4-dev installed, remove it to build id3lib3.7.





compiling gnome-panel-2.4.2-6 failed

checking for intltool >= 0.21... 0.29 found
checking for perl... /usr/bin/perl
configure: error: XML::Parser perl module is required for intltool
### execution of ./configure failed, exit code 1
Failed: compiling gnome-panel-2.4.2-6 failed

This is already fixed in cvs, it was a missing dep on xml-parser-pm.

Make sure that you have the correct "flavor" of xml-parser-pm installed corresponding to the version of perl you are using. For most 10.3 users, this would be xml-parser-pm581 while for most 10.2 users it would be xml-parser-pm560.





compiling uri-pm581-1.28-12 failed

make: *** [test_dynamic] Error 45
### execution of make failed, exit code 2
Failed: compiling uri-pm581-1.28-12 failed

As a workaround you can do:

sudo apt-get update
sudo apt-get install xml-parser-pm581





atk1 BuildDepend WARNINGS

WARNING: The package gnome-terminal Depends on atk1,
                  but atk1 only allows things to BuildDepend on it.

many similar warnings...


Many people have reported these warnings.

The atk1 package in 10.3/unstable does not have the BuildDependsOnly tag that causes such warnings. The solution of this mystery is that the version of atk1 in stable, which is older than the one in unstable, is 1.4.1-2, whereas unstable has 1.4.1-1.

It seems that at one of the cvs "updates" in unstable, the revision went from 2 to 1 instead of from 2 to 3.

This is already fixed.








astronaut / Make Contact /
drop me a line at:           sao1@mac.com

MacOS X,    Fink,    X11,    Unix    ...and other related things