Re: [libvirt] Initial working Mac OS X libvirt client build

2010-10-22 Thread Mitchell Hashimoto
On Thu, Oct 21, 2010 at 11:18 PM, Ruben Kerkhof ru...@rubenkerkhof.com wrote:

 I thought I'd give it a try, to see how far I get on Leopard (10.5).


From what I know following this list, I don't think anyone has ever
tried to compile for Leopard (10.5) and has focussed exclusively on
Snow Leopard (10.6), so there very well may be errors during
compilation/linking.

I'll wait for you to try the new formula but if that errors as well
then I may have to spin up  a leopard VM to play around see if I can
figure out what is going on there.

Mitchell

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] Mac OS X: dyld: lazy symbol binding failed

2010-10-18 Thread Mitchell Hashimoto
All,

With a few small patches (to remove documentation generation, thanks
to Justin) to my local git checkout, I was finally able to make dist
and test the resulting distribution. The result is that this worked
great on my Mac as well as another Mac I have that was having trouble.
I think this strongly supports the argument that the issue is that the
libvirt build server autotools versions are out of date which is
causing an issue for some reason on Mac. My autotools versions follow,
for reference:

Autoconf: 2.68
Automake: 1.11.1
Libtool: 2.4

For reference, or if anyone has a Mac and wants to try, I've uploaded
my distribution here:
http://mitchellh.github.com/libvirt/libvirt-0.8.4.tar.gz

Is this enough evidence in favor of build tool versions? Would anyone
like me to try anything else?

Thanks,
Mitchell

On Thu, Oct 14, 2010 at 1:28 PM, Mitchell Hashimoto
mitchell.hashim...@gmail.com wrote:
 Eric,

 First, here is the output from diff -c:
 https://gist.github.com/7d8c32849e4d72be5368

 I ran `automake --version` and I have 1.11.1 And the 1.9.6
 automake is from the libvirt build servers, not any of my machines. I
 was comparing the ./configure output from the snapshot with when I
 run autogen.sh myself.

 I'm not sure about the other points you brought up. I just ran the
 typical commands that README-hacking says to.

 Mitchell

 On Thu, Oct 14, 2010 at 12:44 PM, Eric Blake ebl...@redhat.com wrote:
 On 10/14/2010 01:06 PM, Mitchell Hashimoto wrote:

 Daniel,

 Thanks for your response, I appreciate it. The `grep` on the two
 Makefiles is equivalent. I've uploaded a diff of the two Makefiles
 here: https://gist.github.com/da0e93a335be6a3a637b Let me know if you
 want me to upload the actual Makefiles as well, since I can do that.

 Can you provide a context diff (diff -u or diff -c) rather than an ed-script
 diff?  Context can be essential in a review.

 At any rate:

  # Makefile.in generated by automake 1.9.6 from Makefile.am.
 ---
 # Makefile.in generated by automake 1.11.1 from Makefile.am.

 Is this stock automake 1.9.6, or does it have a distro patch to fix
 CVE-2009-4029?  Using an older automake may be the root cause of remaining
 problems, if we are relying on a feature that only automake 1.10 or 1.11
 provides.

 What is 'automake --version' for you, and did you generate the tarballs, or
 is the automake 1.9.6 on someone else's machine?

  $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
  $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
  $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
  $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/acinclude.m4 \
  $(top_srcdir)/configure.ac
 ---
 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
 $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
 $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/wchar_t.m4 \
 $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac

 Why the difference in which libtool .m4 files are provided?

  configure.lineno configure.status.lineno
 ---
 configure.lineno config.status.lineno

 There's no such file as configure.status.lineno; but that's attributable to
 a bug in the older automake that has since been fixed.

 I've stopped looking at this point.

 --
 Eric Blake   ebl...@redhat.com    +1-801-349-2682
 Libvirt virtualization library http://libvirt.org



--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] Mac OS X: dyld: lazy symbol binding failed

2010-10-14 Thread Mitchell Hashimoto
Daniel,

Thanks for your response, I appreciate it. The `grep` on the two
Makefiles is equivalent. I've uploaded a diff of the two Makefiles
here: https://gist.github.com/da0e93a335be6a3a637b Let me know if you
want me to upload the actual Makefiles as well, since I can do that.

Also the src/libvirt.syms file is the same in both cases.

Hope this helps! Let me know if there is anything else I can do to assist you.

Mitchell

On Thu, Oct 14, 2010 at 6:44 AM, Daniel P. Berrange berra...@redhat.com wrote:
 On Tue, Oct 12, 2010 at 02:56:31PM -0700, Mitchell Hashimoto wrote:
 I've been working with Justin, and we've been making some progress.
 However, I have another question for this list. As a follow-up to
 this, I realized that when I download the snapshots and just
 ./configure; make; make install then I get the lazy binding issue.
 However, if I go through the entire autogen process:

 ./autogen.sh
 make
 make install

 Do you see a difference when ou run

  # grep VERSION_SCRIPT_FLAGS Makefile
  VERSION_SCRIPT_FLAGS = -Wl,--version-script=

 between the plain 'configure' case, and the full autogen.sh case ?

 Also, does the src/libvirt.syms look any different in either case ?


 Daniel
 --
 |: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
 |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
 |: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
 |: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] Mac OS X: dyld: lazy symbol binding failed

2010-10-14 Thread Mitchell Hashimoto
Eric,

First, here is the output from diff -c:
https://gist.github.com/7d8c32849e4d72be5368

I ran `automake --version` and I have 1.11.1 And the 1.9.6
automake is from the libvirt build servers, not any of my machines. I
was comparing the ./configure output from the snapshot with when I
run autogen.sh myself.

I'm not sure about the other points you brought up. I just ran the
typical commands that README-hacking says to.

Mitchell

On Thu, Oct 14, 2010 at 12:44 PM, Eric Blake ebl...@redhat.com wrote:
 On 10/14/2010 01:06 PM, Mitchell Hashimoto wrote:

 Daniel,

 Thanks for your response, I appreciate it. The `grep` on the two
 Makefiles is equivalent. I've uploaded a diff of the two Makefiles
 here: https://gist.github.com/da0e93a335be6a3a637b Let me know if you
 want me to upload the actual Makefiles as well, since I can do that.

 Can you provide a context diff (diff -u or diff -c) rather than an ed-script
 diff?  Context can be essential in a review.

 At any rate:

  # Makefile.in generated by automake 1.9.6 from Makefile.am.
 ---
 # Makefile.in generated by automake 1.11.1 from Makefile.am.

 Is this stock automake 1.9.6, or does it have a distro patch to fix
 CVE-2009-4029?  Using an older automake may be the root cause of remaining
 problems, if we are relying on a feature that only automake 1.10 or 1.11
 provides.

 What is 'automake --version' for you, and did you generate the tarballs, or
 is the automake 1.9.6 on someone else's machine?

  $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
  $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
  $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
  $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/acinclude.m4 \
  $(top_srcdir)/configure.ac
 ---
 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
 $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
 $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/wchar_t.m4 \
 $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac

 Why the difference in which libtool .m4 files are provided?

  configure.lineno configure.status.lineno
 ---
 configure.lineno config.status.lineno

 There's no such file as configure.status.lineno; but that's attributable to
 a bug in the older automake that has since been fixed.

 I've stopped looking at this point.

 --
 Eric Blake   ebl...@redhat.com    +1-801-349-2682
 Libvirt virtualization library http://libvirt.org


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] Mac OS X: dyld: lazy symbol binding failed

2010-10-12 Thread Mitchell Hashimoto
Eric,

I've been getting this error lately from git (happening during `make`):

make[1]: *** No rule to make target `todo.pl', needed by `todo.html.in'.  Stop.
make: *** [distdir] Error 1

I haven't taken any time to look at it, but its caused by the
documentation task, obviously. I've been getting around this during
compile time with just doing make install which skips the doc task.

This is preventing me from testing my `make dist` tarball.

Mitchell

On Tue, Oct 12, 2010 at 3:04 PM, Eric Blake ebl...@redhat.com wrote:
 On 10/12/2010 03:56 PM, Mitchell Hashimoto wrote:

 I've been working with Justin, and we've been making some progress.
 However, I have another question for this list. As a follow-up to
 this, I realized that when I download the snapshots and just
 ./configure; make; make install then I get the lazy binding issue.
 However, if I go through the entire autogen process:

 ./autogen.sh
 make
 make install

 Then this issue goes away. Could this be indicative of a bug in the
 autotools input perhaps on generating the packages on machines which
 aren't Macs? How do I test the packaging myself (on a Mac) so that I
 can verify this theory?

 Not ringing any bells for me.

 What if you do:

 ./autogen.sh
 make
 make dist

 then expand that tarball to another directory, run ./configure and make, and
 compare the git tree with the tarball you just created?  Also, how does the
 snapshot compare to your tarball?

 Are you using git to create the snapshots (in which case I have no idea how
 the .gnulib submodule is being handled, if at all), or are they made from
 some 'make dist' cron job?

 --
 Eric Blake   ebl...@redhat.com    +1-801-349-2682
 Libvirt virtualization library http://libvirt.org


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] Mac OS X: dyld: lazy symbol binding failed

2010-10-08 Thread Mitchell Hashimoto
Hi,

This is a cross-post from libvirt-users since there didn't seem to be
anyone there familiar with what is going on and this is a dev issue as
well.

I'm using the Ruby/FFI libvirt library and getting this consistently
on Mac OS X:

ruby-1.9.2-p0  FFI::Libvirt.virInitialize
dyld: lazy symbol binding failed: Symbol not found: _virThreadInitialize
 Referenced from: /usr/local/lib/libvirt.dylib
 Expected in: flat namespace

dyld: Symbol not found: _virThreadInitialize
 Referenced from: /usr/local/lib/libvirt.dylib
 Expected in: flat namespace

Trace/BPT trap

I exported DYLD_PRINT_LIBRARIES and it shows that libvirt.dylib is
loaded in the process space, but the above still occurs. When I
statically link into a C program it works fine, however. Anyone have
any idea what could be causing this?

See this archive if you'd like to catch up on what was said in
libvirt-users (its not a long thread):
https://www.redhat.com/archives/libvirt-users/2010-October/msg00050.html

Thanks,
Mitchell

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH] Use SED variable for `sed` binary in src/Makefile

2010-09-09 Thread Mitchell Hashimoto
Hi,

I've been trying to get libvirt (client) to cleanly/easily compile on
BSD-based systems (in this case OS X). ./configure runs fine but the
make caused an error with `sed` since BSD sed was reporting some sort of
regex error. I realized that the SED variable was populated with gsed
which worked properly. This made the make continue (failed again later, will
address that when I can).

This is my first contribution to a C-based project and I don't have much
experience with autotools other than using them as a consumer. Let me know
if anything can be improved.

Thank you,
Mitchell


0001-Use-SED-variable-for-sed-binary-in-src-Makefile.patch
Description: Binary data
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH] Use SED variable for `sed` binary in src/Makefile

2010-09-09 Thread Mitchell Hashimoto
Hm, the patch attached as binary data. Here is the attached patch as text.
Apologies about that:

---
 src/Makefile.am |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index b321657..118c329 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1029,14 +1029,14 @@ libvirt.syms: libvirt_public.syms $(USED_SYM_FILES)
 libvirt.def: libvirt.syms
$(AM_V_GEN)rm -f -- $...@-tmp $@ ; \
printf 'EXPORTS\n'  $...@-tmp  \
-   sed -e '/^$$/d; /#/d; /:/d; /\}/d; /\*/d; /LIBVIRT_/d; s/[
\t]*\(.*\)\;/\1/g' $^  $...@-tmp  \
+   $(SED) -e '/^$$/d; /#/d; /:/d; /\}/d; /\*/d; /LIBVIRT_/d; s/[
\t]*\(.*\)\;/\1/g' $^  $...@-tmp  \
chmod a-w $...@-tmp  \
mv $...@-tmp libvirt.def

 libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
$(AM_V_GEN)rm -f -- $...@-tmp $@ ; \
printf 'EXPORTS\n'  $...@-tmp  \
-   sed -e '/^$$/d; /#/d; /:/d; /\}/d; /\*/d; /LIBVIRT_/d; s/[
\t]*\(.*\)\;/\1/g' $^  $...@-tmp  \
+   $(SED) -e '/^$$/d; /#/d; /:/d; /\}/d; /\*/d; /LIBVIRT_/d; s/[
\t]*\(.*\)\;/\1/g' $^  $...@-tmp  \
chmod a-w $...@-tmp  \
mv $...@-tmp libvirt_qemu.def

-- 
1.7.2.2

On Wed, Sep 8, 2010 at 11:39 PM, Mitchell Hashimoto 
mitchell.hashim...@gmail.com wrote:

 Hi,

 I've been trying to get libvirt (client) to cleanly/easily compile on
 BSD-based systems (in this case OS X). ./configure runs fine but the
 make caused an error with `sed` since BSD sed was reporting some sort of
 regex error. I realized that the SED variable was populated with gsed
 which worked properly. This made the make continue (failed again later, will
 address that when I can).

 This is my first contribution to a C-based project and I don't have much
 experience with autotools other than using them as a consumer. Let me know
 if anything can be improved.

 Thank you,
 Mitchell

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list