problems compiling libxfce4util
Maarten Boekhold
boekhold at emirates.net.ae
Sat Sep 11 18:18:16 CEST 2004
Hmmm, I remembered that I upgraded my cygwin installation recently, and
that included a new version of libtool. So it might be that libtool is
the culprit here.
When you use '-export-symbols-regex', libtool generates a file according to:
/bin/nm -B .libs/libxfce4util_la-i18n.o
.libs/libxfce4util_la-licenses-texts.o .libs/libxfce4util_la-utf8.o
.libs/libxfce4util_la-xfce-desktopentry.o
.libs/libxfce4util_la-xfce-fileutils.o
.libs/libxfce4util_la-xfce-kiosk.o
.libs/libxfce4util_la-xfce-miscutils.o .libs/libxfce4util_la-xfce-rc.o
.libs/libxfce4util_la-xfce-rc-config.o
.libs/libxfce4util_la-xfce-rc-simple.o
.libs/libxfce4util_la-xfce-resource.o | sed -n -e 's/^.*[
]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][
]*\(_\)\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2\3 \3/p' | /bin/sed -e
'/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/' | /bin/sed -e '/^[AITW] /s/.* //' |
sort | uniq > .libs/libxfce4util.exp
grep -E -e "^[^_].*" ".libs/libxfce4util.exp" > ".libs/libxfce4util.expT"
(sorry for the ugly way the lines are broken...)
The first part (nm -B ... > .libs/libxfce4util.exp) generates (on
cygwin) a file that looks like:
R _xfce_builtin_license_BSD xfce_builtin_license_BSD
R _xfce_builtin_license_GPL xfce_builtin_license_GPL
R _xfce_builtin_license_LGPL xfce_builtin_license_LGPL
_xfce_rc_config_close
_xfce_rc_config_flush
_xfce_rc_config_get_entries
...
_xfce_rc_simple_write_entry
parent_class DATA
utf8_string_remove_controls
xfce_desktop_entry_get_file
xfce_desktop_entry_get_int
xfce_desktop_entry_get_string
xfce_desktop_entry_get_type
...
The 'grep' removes all entries that start with an underscore. But
obviously this doesn't remove the 'R _xfce_...' lines, which probably
shouldn't be there in the first place. Also, I find the 'parent_class
DATA' line suspicious.
btw. the 'R' for _xfce_builtin... seems to indicate that the symbols are
in a read-only segment. Perhaps libtool is meant to remove the 'R'
from the beginning of the line.
I'll follow up on this with the cygwin developers tomorrow.
Maarten
Maarten Boekhold wrote:
> Hi,
>
> I'm not sure if I just didn't notice, or if something changed earlier
> this week, but I can't seem to get libxfce4util to compile anymore. I'm
> getting:
>
> Cannot export R: symbol not defined
> Cannot export _xfce_builtin_license_BSD: symbol not defined
> Cannot export _xfce_builtin_license_GPL: symbol not defined
> Cannot export _xfce_builtin_license_LGPL: symbol not defined
>
> At first I thought it was maybe because of the 'SECTION' stuff in the
> licenses-texts.c file (license-to-c.sh), but I commented that out, and
> it still won't compile. Also, I can't find a symbol 'R' anywhere.
>
> I wonder if perhaps the regexp in:
>
> libxfce4util_la_LDFLAGS = \
> -export-dynamic \
> -version-info @LIBXFCE4UTIL_VERINFO@ \
> -export-symbols-regex "^[^_].*"
>
> is somehow incorrect, or extracts something that isn't appropriate for
> cygwin? Anybody has any hints?
>
> Maarten
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> http://lunar-linux.org/mailman/listinfo/xfce4-dev
>
More information about the Xfce4-dev
mailing list