Opened at 2009-11-16T16:57:49Z
Closed at 2010-01-06T16:21:31Z
#32 closed enhancement (fixed)
fix the build on OpenBSD
Reported by: | zooko | Owned by: | kmarkley86 |
---|---|---|---|
Priority: | major | Milestone: | |
Version: | 0.5.17 | Keywords: | openbsd review |
Cc: | kyle@… | Launchpad Bug: |
Description
kyle@… had to patch pycryptopp to get it to build with the -fPIC-compatible version of libgcc, if I understand correctly:
http://allmydata.org/pipermail/tahoe-dev/2009-November/003132.html
We will need an OpenBSD buildbot to test his patch and to make sure that future changes to pycryptopp don't cause its compatibility with OpenBSD to regress.
Attachments (1)
Change History (7)
comment:1 Changed at 2009-11-22T17:48:55Z by joe
comment:2 Changed at 2009-11-22T17:55:49Z by zooko
Hey, thanks joe! So I wonder if we should add extra_link_args.append("-fpic") in all cases or only in case the platform is OpenBSD. I guess I'll wait til we have an OpenBSD buildslave (hint hint) and then try it and see what works.
comment:3 Changed at 2009-12-13T21:35:26Z by zooko
- Owner set to somebody
Okay we have an OpenBSD buildslave:
http://allmydata.org/buildbot-pycryptopp/builders/Kyle%20OpenBSD-4.6-amd64
Now we just need an OpenBSD hacker to submit a patch so we can see if it fixes the build on the OpenBSD buildslave while not breaking the build on any other platform.
comment:4 Changed at 2009-12-15T03:11:33Z by kmarkley86
- Cc kyle@… added
- Owner changed from somebody to kmarkley86
- Status changed from new to assigned
I've attached a patch that should fix this.
comment:5 Changed at 2009-12-15T03:25:18Z by kmarkley86
- Keywords review added
comment:6 Changed at 2010-01-06T16:21:31Z by zooko
- Resolution set to fixed
- Status changed from assigned to closed
Fixed by [20091214212406-f56e6-fd26ce05422701959d630c92cfa43301777ec124]. Thanks, Kyle!
I am not the original poster, but I had the same issue. The basic problem turns out that if you are linking things on OpenBSD compiled with -fpic you also need to specify -fpic at link time. Therefore, this seems to resolve the problem:
diff -rN old-trunk/setup.py new-trunk/setup.py
60a61,62
The resulting pycryptopp dropped in the right place causes a build of tahoe to succeed, and that build passes all tests.
My thanks to the helpful directions on how to rebuilt the pycryptopp egg and put it in the right place for tahoe, as otherwise this would have been much more painful to figure out.