[Axl] Exarg / problems building Axl

Joel Hardi joel at hardi.org
Wed Nov 21 21:00:36 CET 2007


> Ops! The intention wasn't to release axl with a hard dependency to
> exarg. I've just release a fix that removes such problem. axl-knife  
> will
> still use exarg, but inline integrated. Thanks for reporting Joel.

Many thanks for this!


>> Second, I can build Axl on Linux/x86, but not on Mac OS X (10.4.11,
>> both Xcode 2.2 and 2.5). On OS X, ld fails during make:
>>
>> ...
>> generating symbol list for `libaxl-ns.la'
>> /usr/bin/nm -p  .libs/axl_ns_doc.o .libs/axl_ns_node.o  | sed -n -e
>> 's/^.*[    ]\([BCDEGRST][BCDEGRST]*\)[      ][      ]*_
>> \([_A-Za-z][_A-
>> Za-z0-9]*\)$/\1 _\2 \2/p' | /usr/bin/sed 's/.* //' | sort | uniq
>>> .libs/libaxl-ns.exp
>> /usr/bin/grep -E -e "^(axl|__axl).*" ".libs/libaxl-ns.exp" > ".libs/
>> libaxl-ns.expT"
>> mv -f ".libs/libaxl-ns.expT" ".libs/libaxl-ns.exp"
>> sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < .libs/libaxl-
>> ns.exp > .libs/libaxl-ns-symbols.expsym
>> gcc -dynamiclib  -o .libs/libaxl-ns.0.0.0.dylib  .libs/
>> axl_ns_doc.o .libs/axl_ns_node.o   -install_name  /usr/local/lib/
>> libaxl-ns.0.dylib -compatibility_version 1 -current_version 1.0
>> ld: Undefined symbols:
>> _axl_cmp
>> _axl_doc_get_root
>> _axl_error_new
>> _axl_free
>> _axl_hash_equal_string
>> _axl_hash_exists
>> _axl_hash_free
>> _axl_hash_get
>> _axl_hash_insert
>> _axl_hash_new_full
>> _axl_hash_string
>> _axl_log
>> _axl_memcmp
>> _axl_node_annotate_data_full
>> _axl_node_annotate_get
>> _axl_node_attr_cursor_first
>> _axl_node_attr_cursor_free
>> _axl_node_attr_cursor_get_key
>> _axl_node_attr_cursor_get_value
>> _axl_node_attr_cursor_has_item
>> _axl_node_attr_cursor_new
>> _axl_node_attr_cursor_next
>> _axl_node_get_first_child
>> _axl_node_get_name
>> _axl_node_get_next
>> _axl_node_get_parent
>> _axl_node_has_attributes
>> _axl_node_get_previous
>> /usr/bin/libtool: internal link edit command failed
>> make[2]: *** [libaxl-ns.la] Error 1
>> make[1]: *** [all-recursive] Error 1
>> make: *** [all] Error 2
>>
>> Any ideas?
>
> :-? At first no idea.
>
> I would suggest to do the following:
>
> 1) Try to update your autoconf installation, especially the libtool
> command. It is likely the problem is located here because the symbols
> reported as missing do not exist (they are available by removing the
> preceding "_").

I actually already tried this (updated my Xcode to 2.5 from 2.2).  
Apple's libtool is well known to do things differently from the  
standard GNU toolchain, unfortunately. If that's something you're  
interested in adding special cases to your makefile to compensate  
for, I can try to provide more information.


> 2) Try to modify src/Makefile.am and ns/Makefile.am files to make the
> following line:
>
> libaxl_la_LDFLAGS = -no-undefined -export-symbols-regex '^(axl| 
> __axl).*'
>
> Making the regular expression to look: '^(axl|_axl|__axl).*'
>
> Let us to know if this works.

I will give it a try and let you know. It may be a few days before I  
get back to you though, since it's a holiday weekend here in the U.S.

joel



More information about the Axl mailing list