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