provide binary .egg's for pycryptopp for all supported platforms and versions of Python #804
Labels
No labels
c/code
c/code-dirnodes
c/code-encoding
c/code-frontend
c/code-frontend-cli
c/code-frontend-ftp-sftp
c/code-frontend-magic-folder
c/code-frontend-web
c/code-mutable
c/code-network
c/code-nodeadmin
c/code-peerselection
c/code-storage
c/contrib
c/dev-infrastructure
c/docs
c/operational
c/packaging
c/unknown
c/website
kw:2pc
kw:410
kw:9p
kw:ActivePerl
kw:AttributeError
kw:DataUnavailable
kw:DeadReferenceError
kw:DoS
kw:FileZilla
kw:GetLastError
kw:IFinishableConsumer
kw:K
kw:LeastAuthority
kw:Makefile
kw:RIStorageServer
kw:StringIO
kw:UncoordinatedWriteError
kw:about
kw:access
kw:access-control
kw:accessibility
kw:accounting
kw:accounting-crawler
kw:add-only
kw:aes
kw:aesthetics
kw:alias
kw:aliases
kw:aliens
kw:allmydata
kw:amazon
kw:ambient
kw:annotations
kw:anonymity
kw:anonymous
kw:anti-censorship
kw:api_auth_token
kw:appearance
kw:appname
kw:apport
kw:archive
kw:archlinux
kw:argparse
kw:arm
kw:assertion
kw:attachment
kw:auth
kw:authentication
kw:automation
kw:avahi
kw:availability
kw:aws
kw:azure
kw:backend
kw:backoff
kw:backup
kw:backupdb
kw:backward-compatibility
kw:bandwidth
kw:basedir
kw:bayes
kw:bbfreeze
kw:beta
kw:binaries
kw:binutils
kw:bitcoin
kw:bitrot
kw:blacklist
kw:blocker
kw:blocks-cloud-deployment
kw:blocks-cloud-merge
kw:blocks-magic-folder-merge
kw:blocks-merge
kw:blocks-raic
kw:blocks-release
kw:blog
kw:bom
kw:bonjour
kw:branch
kw:branding
kw:breadcrumbs
kw:brians-opinion-needed
kw:browser
kw:bsd
kw:build
kw:build-helpers
kw:buildbot
kw:builders
kw:buildslave
kw:buildslaves
kw:cache
kw:cap
kw:capleak
kw:captcha
kw:cast
kw:centos
kw:cffi
kw:chacha
kw:charset
kw:check
kw:checker
kw:chroot
kw:ci
kw:clean
kw:cleanup
kw:cli
kw:cloud
kw:cloud-backend
kw:cmdline
kw:code
kw:code-checks
kw:coding-standards
kw:coding-tools
kw:coding_tools
kw:collection
kw:compatibility
kw:completion
kw:compression
kw:confidentiality
kw:config
kw:configuration
kw:configuration.txt
kw:conflict
kw:connection
kw:connectivity
kw:consistency
kw:content
kw:control
kw:control.furl
kw:convergence
kw:coordination
kw:copyright
kw:corruption
kw:cors
kw:cost
kw:coverage
kw:coveralls
kw:coveralls.io
kw:cpu-watcher
kw:cpyext
kw:crash
kw:crawler
kw:crawlers
kw:create-container
kw:cruft
kw:crypto
kw:cryptography
kw:cryptography-lib
kw:cryptopp
kw:csp
kw:curl
kw:cutoff-date
kw:cycle
kw:cygwin
kw:d3
kw:daemon
kw:darcs
kw:darcsver
kw:database
kw:dataloss
kw:db
kw:dead-code
kw:deb
kw:debian
kw:debug
kw:deep-check
kw:defaults
kw:deferred
kw:delete
kw:deletion
kw:denial-of-service
kw:dependency
kw:deployment
kw:deprecation
kw:desert-island
kw:desert-island-build
kw:design
kw:design-review-needed
kw:detection
kw:dev-infrastructure
kw:devpay
kw:directory
kw:directory-page
kw:dirnode
kw:dirnodes
kw:disconnect
kw:discovery
kw:disk
kw:disk-backend
kw:distribute
kw:distutils
kw:dns
kw:do_http
kw:doc-needed
kw:docker
kw:docs
kw:docs-needed
kw:dokan
kw:dos
kw:download
kw:downloader
kw:dragonfly
kw:drop-upload
kw:duplicity
kw:dusty
kw:earth-dragon
kw:easy
kw:ec2
kw:ecdsa
kw:ed25519
kw:egg-needed
kw:eggs
kw:eliot
kw:email
kw:empty
kw:encoding
kw:endpoint
kw:enterprise
kw:enum34
kw:environment
kw:erasure
kw:erasure-coding
kw:error
kw:escaping
kw:etag
kw:etch
kw:evangelism
kw:eventual
kw:example
kw:excess-authority
kw:exec
kw:exocet
kw:expiration
kw:extensibility
kw:extension
kw:failure
kw:fedora
kw:ffp
kw:fhs
kw:figleaf
kw:file
kw:file-descriptor
kw:filename
kw:filesystem
kw:fileutil
kw:fips
kw:firewall
kw:first
kw:floatingpoint
kw:flog
kw:foolscap
kw:forward-compatibility
kw:forward-secrecy
kw:forwarding
kw:free
kw:freebsd
kw:frontend
kw:fsevents
kw:ftp
kw:ftpd
kw:full
kw:furl
kw:fuse
kw:garbage
kw:garbage-collection
kw:gateway
kw:gatherer
kw:gc
kw:gcc
kw:gentoo
kw:get
kw:git
kw:git-annex
kw:github
kw:glacier
kw:globalcaps
kw:glossary
kw:google-cloud-storage
kw:google-drive-backend
kw:gossip
kw:governance
kw:grid
kw:grid-manager
kw:gridid
kw:gridsync
kw:grsec
kw:gsoc
kw:gvfs
kw:hackfest
kw:hacktahoe
kw:hang
kw:hardlink
kw:heartbleed
kw:heisenbug
kw:help
kw:helper
kw:hint
kw:hooks
kw:how
kw:how-to
kw:howto
kw:hp
kw:hp-cloud
kw:html
kw:http
kw:https
kw:i18n
kw:i2p
kw:i2p-collab
kw:illustration
kw:image
kw:immutable
kw:impressions
kw:incentives
kw:incident
kw:init
kw:inlineCallbacks
kw:inotify
kw:install
kw:installer
kw:integration
kw:integration-test
kw:integrity
kw:interactive
kw:interface
kw:interfaces
kw:interoperability
kw:interstellar-exploration
kw:introducer
kw:introduction
kw:iphone
kw:ipkg
kw:iputil
kw:ipv6
kw:irc
kw:jail
kw:javascript
kw:joke
kw:jquery
kw:json
kw:jsui
kw:junk
kw:key-value-store
kw:kfreebsd
kw:known-issue
kw:konqueror
kw:kpreid
kw:kvm
kw:l10n
kw:lae
kw:large
kw:latency
kw:leak
kw:leasedb
kw:leases
kw:libgmp
kw:license
kw:licenss
kw:linecount
kw:link
kw:linux
kw:lit
kw:localhost
kw:location
kw:locking
kw:logging
kw:logo
kw:loopback
kw:lucid
kw:mac
kw:macintosh
kw:magic-folder
kw:manhole
kw:manifest
kw:manual-test-needed
kw:map
kw:mapupdate
kw:max_space
kw:mdmf
kw:memcheck
kw:memory
kw:memory-leak
kw:mesh
kw:metadata
kw:meter
kw:migration
kw:mime
kw:mingw
kw:minimal
kw:misc
kw:miscapture
kw:mlp
kw:mock
kw:more-info-needed
kw:mountain-lion
kw:move
kw:multi-users
kw:multiple
kw:multiuser-gateway
kw:munin
kw:music
kw:mutability
kw:mutable
kw:mystery
kw:names
kw:naming
kw:nas
kw:navigation
kw:needs-review
kw:needs-spawn
kw:netbsd
kw:network
kw:nevow
kw:new-user
kw:newcaps
kw:news
kw:news-done
kw:news-needed
kw:newsletter
kw:newurls
kw:nfc
kw:nginx
kw:nixos
kw:no-clobber
kw:node
kw:node-url
kw:notification
kw:notifyOnDisconnect
kw:nsa310
kw:nsa320
kw:nsa325
kw:numpy
kw:objects
kw:old
kw:openbsd
kw:openitp-packaging
kw:openssl
kw:openstack
kw:opensuse
kw:operation-helpers
kw:operational
kw:operations
kw:ophandle
kw:ophandles
kw:ops
kw:optimization
kw:optional
kw:options
kw:organization
kw:os
kw:os.abort
kw:ostrom
kw:osx
kw:osxfuse
kw:otf-magic-folder-objective1
kw:otf-magic-folder-objective2
kw:otf-magic-folder-objective3
kw:otf-magic-folder-objective4
kw:otf-magic-folder-objective5
kw:otf-magic-folder-objective6
kw:p2p
kw:packaging
kw:partial
kw:password
kw:path
kw:paths
kw:pause
kw:peer-selection
kw:performance
kw:permalink
kw:permissions
kw:persistence
kw:phone
kw:pickle
kw:pip
kw:pipermail
kw:pkg_resources
kw:placement
kw:planning
kw:policy
kw:port
kw:portability
kw:portal
kw:posthook
kw:pratchett
kw:preformance
kw:preservation
kw:privacy
kw:process
kw:profile
kw:profiling
kw:progress
kw:proxy
kw:publish
kw:pyOpenSSL
kw:pyasn1
kw:pycparser
kw:pycrypto
kw:pycrypto-lib
kw:pycryptopp
kw:pyfilesystem
kw:pyflakes
kw:pylint
kw:pypi
kw:pypy
kw:pysqlite
kw:python
kw:python3
kw:pythonpath
kw:pyutil
kw:pywin32
kw:quickstart
kw:quiet
kw:quotas
kw:quoting
kw:raic
kw:rainhill
kw:random
kw:random-access
kw:range
kw:raspberry-pi
kw:reactor
kw:readonly
kw:rebalancing
kw:recovery
kw:recursive
kw:redhat
kw:redirect
kw:redressing
kw:refactor
kw:referer
kw:referrer
kw:regression
kw:rekey
kw:relay
kw:release
kw:release-blocker
kw:reliability
kw:relnotes
kw:remote
kw:removable
kw:removable-disk
kw:rename
kw:renew
kw:repair
kw:replace
kw:report
kw:repository
kw:research
kw:reserved_space
kw:response-needed
kw:response-time
kw:restore
kw:retrieve
kw:retry
kw:review
kw:review-needed
kw:reviewed
kw:revocation
kw:roadmap
kw:rollback
kw:rpm
kw:rsa
kw:rss
kw:rst
kw:rsync
kw:rusty
kw:s3
kw:s3-backend
kw:s3-frontend
kw:s4
kw:same-origin
kw:sandbox
kw:scalability
kw:scaling
kw:scheduling
kw:schema
kw:scheme
kw:scp
kw:scripts
kw:sdist
kw:sdmf
kw:security
kw:self-contained
kw:server
kw:servermap
kw:servers-of-happiness
kw:service
kw:setup
kw:setup.py
kw:setup_requires
kw:setuptools
kw:setuptools_darcs
kw:sftp
kw:shared
kw:shareset
kw:shell
kw:signals
kw:simultaneous
kw:six
kw:size
kw:slackware
kw:slashes
kw:smb
kw:sneakernet
kw:snowleopard
kw:socket
kw:solaris
kw:space
kw:space-efficiency
kw:spam
kw:spec
kw:speed
kw:sqlite
kw:ssh
kw:ssh-keygen
kw:sshfs
kw:ssl
kw:stability
kw:standards
kw:start
kw:startup
kw:static
kw:static-analysis
kw:statistics
kw:stats
kw:stats_gatherer
kw:status
kw:stdeb
kw:storage
kw:streaming
kw:strports
kw:style
kw:stylesheet
kw:subprocess
kw:sumo
kw:survey
kw:svg
kw:symlink
kw:synchronous
kw:tac
kw:tahoe-*
kw:tahoe-add-alias
kw:tahoe-admin
kw:tahoe-archive
kw:tahoe-backup
kw:tahoe-check
kw:tahoe-cp
kw:tahoe-create-alias
kw:tahoe-create-introducer
kw:tahoe-debug
kw:tahoe-deep-check
kw:tahoe-deepcheck
kw:tahoe-lafs-trac-stream
kw:tahoe-list-aliases
kw:tahoe-ls
kw:tahoe-magic-folder
kw:tahoe-manifest
kw:tahoe-mkdir
kw:tahoe-mount
kw:tahoe-mv
kw:tahoe-put
kw:tahoe-restart
kw:tahoe-rm
kw:tahoe-run
kw:tahoe-start
kw:tahoe-stats
kw:tahoe-unlink
kw:tahoe-webopen
kw:tahoe.css
kw:tahoe_files
kw:tahoewapi
kw:tarball
kw:tarballs
kw:tempfile
kw:templates
kw:terminology
kw:test
kw:test-and-set
kw:test-from-egg
kw:test-needed
kw:testgrid
kw:testing
kw:tests
kw:throttling
kw:ticket999-s3-backend
kw:tiddly
kw:time
kw:timeout
kw:timing
kw:to
kw:to-be-closed-on-2011-08-01
kw:tor
kw:tor-protocol
kw:torsocks
kw:tox
kw:trac
kw:transparency
kw:travis
kw:travis-ci
kw:trial
kw:trickle
kw:trivial
kw:truckee
kw:tub
kw:tub.location
kw:twine
kw:twistd
kw:twistd.log
kw:twisted
kw:twisted-14
kw:twisted-trial
kw:twitter
kw:twn
kw:txaws
kw:type
kw:typeerror
kw:ubuntu
kw:ucwe
kw:ueb
kw:ui
kw:unclean
kw:uncoordinated-writes
kw:undeletable
kw:unfinished-business
kw:unhandled-error
kw:unhappy
kw:unicode
kw:unit
kw:unix
kw:unlink
kw:update
kw:upgrade
kw:upload
kw:upload-helper
kw:uri
kw:url
kw:usability
kw:use-case
kw:utf-8
kw:util
kw:uwsgi
kw:ux
kw:validation
kw:variables
kw:vdrive
kw:verify
kw:verlib
kw:version
kw:versioning
kw:versions
kw:video
kw:virtualbox
kw:virtualenv
kw:vista
kw:visualization
kw:visualizer
kw:vm
kw:volunteergrid2
kw:volunteers
kw:vpn
kw:wapi
kw:warners-opinion-needed
kw:warning
kw:weapi
kw:web
kw:web.port
kw:webapi
kw:webdav
kw:webdrive
kw:webport
kw:websec
kw:website
kw:websocket
kw:welcome
kw:welcome-page
kw:welcomepage
kw:wiki
kw:win32
kw:win64
kw:windows
kw:windows-related
kw:winscp
kw:workaround
kw:world-domination
kw:wrapper
kw:write-enabler
kw:wui
kw:x86
kw:x86-64
kw:xhtml
kw:xml
kw:xss
kw:zbase32
kw:zetuptoolz
kw:zfec
kw:zookos-opinion-needed
kw:zope
kw:zope.interface
p/blocker
p/critical
p/major
p/minor
p/normal
p/supercritical
p/trivial
r/cannot reproduce
r/duplicate
r/fixed
r/invalid
r/somebody else's problem
r/was already fixed
r/wontfix
r/worksforme
t/defect
t/enhancement
t/task
v/0.2.0
v/0.3.0
v/0.4.0
v/0.5.0
v/0.5.1
v/0.6.0
v/0.6.1
v/0.7.0
v/0.8.0
v/0.9.0
v/1.0.0
v/1.1.0
v/1.10.0
v/1.10.1
v/1.10.2
v/1.10a2
v/1.11.0
v/1.12.0
v/1.12.1
v/1.13.0
v/1.14.0
v/1.15.0
v/1.15.1
v/1.2.0
v/1.3.0
v/1.4.1
v/1.5.0
v/1.6.0
v/1.6.1
v/1.7.0
v/1.7.1
v/1.7β
v/1.8.0
v/1.8.1
v/1.8.2
v/1.8.3
v/1.8β
v/1.9.0
v/1.9.0-s3branch
v/1.9.0a1
v/1.9.0a2
v/1.9.0b1
v/1.9.1
v/1.9.2
v/1.9.2a1
v/cloud-branch
v/unknown
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: tahoe-lafs/trac#804
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Some System Configuration Information
Downloads
Per these instructions I ran:
I've deviated from the prescribed protocol since the default install docs do not recommend acquiring the source from the darcs repo.
Perhaps differences between the tarball and the repo versions generate this bug.
To check this I also attempt to build from the tarball in a separate location.
I.E. I ran:
Build From Repo
Per these instructions I ran:
in the "from-repo" directory.
Upon inspection of the output (attached) I see several error-types.
I guess these two to be not-fatal:
Following those two error-types the next error is:
Difference Between First and Second Build Attempts in From-Tarball Version
In the "from-tar" directory I ran:
(Actually I changed the log names to be more descriptive, after the fact.)
I do not notice obvious differences between repo and tar.
I do notice differences between initial and subsequent build-attempts.
(Perhaps I should be writing "setup-" vice "build-" attempts.)
(Log names changed after the fact for clarity.)
Intriguingly "zope" appears to be missing "Python.h" on the first build attempt, this is not reported on subsequent build attempts.BR The missing Python.h in pycryptopp is reported in initial and subsequent build attempts:
First Versus Second From Repo Setup
Is the difference between initial and subsequent setup bugs also
seen in the from repo version?
To find out I tested a fresh from-repo setup attempt.
So the difference between zope and pycryptopp initial vs.
second installs generalizes to installs from tar and from repo.
Bug Interpretation
It looks like Python.h of pycryptopp is not found so I guess that I lack some necessary dependency.
Calling All Dependencies
(Since my bug does not seem to vary between from-repo and from-tar, I stick to from repo from here on.)
Where're these elusive Python.h's? Sound like C headers to me....
Naive:
OK, not surprising since docs say all repo is python, and what's missing is C. So, my belief that I have a dependency problem grows stronger.
Following [http://allmydata.org/source/tahoe/trunk/docs/install.html More Details], I learn that I can view "the canonical list of dependencies" in _auto_deps.py.
Of course, I cannot run "tahoe --version" yet so I skip that advice...
Aha! A "complete list of all dependencies..."
Hmmm.... next step... submit and wait... if no help then dissect above expression...
OK, I did try to dissect a tiny bit:
In ipython interpreter:
(And just to be sure I tried above with explicit path name from root to relevant site-packages.)
Which is:
Attachment from_repo_initial_setup.txt (35493 bytes) added
Attachment from_repo_second_setup.txt (8740 bytes) added
Attachment from_tar_build_log_initial.txt (35894 bytes) added
Attachment from_tar_build_log_second.txt (9267 bytes) added
OK, solved.
For my system:
Unfortunately when I ran setup.py install without sudo, I received a complaint about test_suite needing to be a list...
Anywho, it looks like basic install's OK now. Maybe I should write up an amateur install doc, for ubuntu people?
Cannot Install, No Python.h (zope, pycryptopp), Cannot Obtain Dependency Listto Cannot Install,Thank you for the bug report. This isn't fixed yet though, until either the process in the current install.html works, or the install.html is changed to describe a process that works.
I'm not sure exactly how to accomplish that, yet...
sudo? You had to use sudo? I'm sorry, I haven't read your bug report thoroughly enough yet. You definitely don't need to use sudo.
As to your issue "i.", the goal is to make it so that the list of dependencies in http://allmydata.org/source/tahoe/trunk/docs/install.html is really sufficient:
(Indeed, the goal would be to automate the installation of pywin32 too, so that the list of dependencies would be just Python. See http://twistedmatrix.com/trac/ticket/3238 (patch: declare that twisted requires pywin32 if it is to offer process management or iocp reactor on Windows), #756 (if pywin32 has been manually installed, setuptools still doesn't detect it), #142 (pywin32 can't be installed with setuptools), http://bugs.python.org/setuptools/issue18 (can't install pywin32), http://sourceforge.net/tracker/?func=detail&atid=551954&aid=1799934&group_id=78018 (easy_install silently fails).)
Anyway, my point is that the problem you encountered is that pycryptopp couldn't be automatically installed, and there are two ways to improve the situation: either (a) make pycryptopp be automatically installed on your platform and/or (b) document pycryptopp as something that has to be manually installed on your platform.
The former would be accomplished by building a binary egg of pycryptopp for your platform. I intend to configure the pycryptopp buildslaves to build eggs and upload them to http://allmydata.org in the same way that they currently build .deb's and upload those. One problem with this is http://bugs.python.org/setuptools/issue78 (egg platform names don't reflect unicode variant (UCS2, UCS4)).
The latter would be accomplished by editing the InstallDetails wiki page to tell Ubuntu users to do what you did. (sudo apt-get install python-dev)
Assigning to arc.
arc: what shall we do? I think we should narrow this ticket to be about the lack of a binary egg for pycryptopp on Linux. What do you think? If you agree, please change the title of this ticket and set it to be assigned to "nobody" instead of yourself. Perhaps we could also open another ticket saying that the InstallDetails page should include information about binary eggs of pycryptopp. Or instead of spending time opening that ticket, just spend the same time editing the wiki.
This bug has surfaced again.
System info:
tahoe@cat:~/allmydata-tahoe-1.5.0$ uname -a
Linux cat 2.6.24-24-generic #1 SMP Fri Sep 18 16:49:39 UTC 2009 i686 GNU/Linux
tahoe@cat:~/allmydata-tahoe-1.5.0$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.04.3 LTS
Release: 8.04
Codename: hardy
tahoe@cat:~/allmydata-tahoe-1.5.0$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 79
model name : AMD Athlon(tm) 64 Processor 3500+
stepping : 2
cpu MHz : 2210.208
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow up pni cx16 lahf_lm svm extapic cr8_legacy ts fid vid ttp tm stc
bogomips : 4420.41
clflush size : 64
I tried using the solutions listed in this ticket. No joy.
This bug has surfaced again.
System info:
I tried using the solutions listed in this ticket. Build still failed.
Okay I'm changing this ticket to say that we should take strategy (a) from comment:373880 -- make binary .egg's of pycryptopp be installed for supported systems. arc's and imhavoc's systems are both amd64 with UCS4, and we have a pycryptopp buildbot that fits that description: http://allmydata.org/buildbot-pycryptopp/builders/linux-amd64-ubuntu-karmic-yukyuk . So to close this ticket, configure that buildbot to generate binary eggs and upload them to the tahoe-deps repository. (Then check if the builds start working for arc and imhavoc.) Oh, but arc was using Python 2.5 and imhavoc was using Python 2.6. Actually I think arc has subsequently upgraded his Ubuntu to Karmic so he has 2.6 as well. At least for now I'm defining this ticket as "provide binary .egg's for pycryptopp for linux-amd64-py2.6-ucs4".
Cannot Install,to provide binary .egg's for pycryptopp for linux-amd64-py2.6-ucs4Replying to zooko:
Actually, on this system, Python is at version 2.5.2. Sorry.
Okay, to close this ticket we need to generate binary .egg's for both Python 2.5 and Python 2.6 on Linux-amd64-ucs4.
provide binary .egg's for pycryptopp for linux-amd64-py2.6-ucs4to provide binary .egg's for pycryptopp for linux-amd64-py2.[56]-ucs4It turns out that my /home is a separate partition.
That partition was being mounted as 'noexec.'
When I edited fstab to make the partition mount as 'exec' and rebooted, tahoe compiled fine on the system in question.
Okay, so basically it turn out that you did have a C compiler, once you allowed it to be executable. Wait, was the cc1plus executable on your home partition?
In any case this ticket is about making precompiled pycryptopp binaries available for people who don't have a compiler.
I may have needed to install build-essential also.... I think I did. So, yes, I did have a C compiler available. So my problem may have been miss-files in this ticket.
So, the problem wasn't that your home directory was mounted no-exec, it was that you hadn't installed
build-essential
? That would explain the error message saying thatcc1plus
didn't work. Hey waitasecond, where is the error message? I thought I saw a paste from you showingcc1plus
failing, but scanning back up through this ticket I don't see it.What was the exact error message that you got?
I emailed it to you. I think that I never pasted it here.
Oh, okay here was the original error message that imhavoc mailed to me:
Yep, that looks like
build-essential
wasn't installed. Now, once this ticket is fixed, then it will just get the binary .egg of pycryptopp and it won't even try to executegcc
.One of my grid participants has run into this bug again.
Ubuntu 8.10
AMD (32-bit CPU)
Looks like pycrypto is not available. There is also no python-pycryptopp available in apt.
We're trying to get a grid online, but installing tahoe-lafs seems to be, by far, the hardest part of getting a grid online.
The workaround for Ubuntu is to install
build-essential
so that a pycryptopp will be built automatically from source.python -V
gcc -v
cat /proc/cpuinfo
build fail output:
Replying to zooko:
The informative line in that voluminous error output is:
So the work-around is to install
build-essential
andpython-dev
. :-)Replying to zooko:
It would be immensely helpful if this information was included in the download/install documentation. Python is not throwing useful errors for people who are not familiar with python builds.
So, let me start a list of system requirements that should be in place if you expect to see a successful build:
build-essential
,python-dev
...I see that I also installed
python-openssl
on my 8.04 system before getting a successful build.Am I missing anything?
There are some notes about such things on http://allmydata.org/trac/tahoe/wiki/InstallDetails . Those notes aren't on http://allmydata.org/source/tahoe/trunk/docs/install.html because those steps aren't supposed to be necessary. The fact that they are necessary (on some platforms) is a bug, and is the subject of this ticket. Improving the documentation for those platforms where binaries of pycryptopp and the other dependencies are not available would be the subject of... let's see... #282 (more detailed and targeted docs about installing from source). Hm, see also #701 (The instructions in "Installing Tahoe" do not mention C compiler requirement.) which is pretty much the same issue as you are having but opened by my brother Nathan.
I stumbled across this page from the InstallDetails page: http://allmydata.org/trac/tahoe/wiki/DownloadDebianPackages
That's useful information. It should be linked from the install.html page.
It is!
Err, sorry, I meant that the InstallDetails page is linked from the install.html page. The DownloadDebianPackages page is too platform-specific to be linked from the install.html page.
Since imhavoc's friend is using 32-bit, I hereby enlarge this ticket to also provide 32-bit binaries of pycryptopp.
provide binary .egg's for pycryptopp for linux-amd64-py2.[56]-ucs4to provide binary .egg's for pycryptopp for linux-{i386,amd64}-py2.{5,6}-ucs4Okay, we've now fixed #1094 which is to automatically build bdist_eggs of pycryptopp on all supported platforms. Now the question is whether the supported platforms (see the pycryptopp buildbot and the tahoe-dep-eggs directory on tahoe-lafs.org) include the platforms that the users on this ticket needed...
provide binary .egg's for pycryptopp for linux-{i386,amd64}-py2.{5,6}-ucs4to provide binary .egg's for pycryptopp for all supported platforms and versions of PythonHere is a nice table which shows which binary packages we are currently hosting for which platforms.
Any platform in http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-eggs/README.html which has a row that goes all the way across with every cell filled in is a platform where Tahoe-LAFS can be easily installed by someone who doesn't have a compiler or development libraries.
Attachment pycryptopp-0.5.25_r757-py2.6-netbsd-5.0.2-i386.egg (1919317 bytes) added
here's a binary egg for netbsd-5.0.2 i386, from the non-syslib buildslave.
I'm going to call this good enough. We have binary pycryptopp eggs for every platform on our Supported Builder list (go to http://tahoe-lafs.org/buildbot/ and click on "Supported Builders") except for Solaris. I guess I'll open a new ticket asking for binary eggs for all of the needed dependencies for Solaris (those are: Twisted, pyOpenSSL, pycrypto, pycryptopp, pywin32, zfec, zope.interface as shown on http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-eggs/README.html .) There, the Solaris row of the matrix is now #1294.
The bug still occurred for me on my raspberry pi running Linux 3.6.11+ armv6l and Python 2.7.3 where there is no pycryptoapp binary package. installing the suggested dependencies (python-dev python-openssl) solved this for me.
Thanks for the bug report, tilllt. Could you please paste in the output from
python misc/build_helpers/show-tool-versions.py
? That will tell us what kind of binary someone would need to provide to make it install on your platform without needing the dev packages.well, i was too quick in assuming the build had worked. actually the python setup.py build command finishes without error, but then tahoe won't run, complaining it cannot find it's dependency pycryptopp >=0.6. which is kind of weird. as even the first half hour of python setup.py trial did not have complains until i stopped it.
this is the output
http://pastebin.com/eASzrxzk you asked for.
so apparently somehow an outdated pycryptopp was installed along the way.
now i did easy_install for pycryptopp from this page:
https://tahoe-lafs.org/trac/pycryptopp
and now tahoe fails with
so i guess it is a different bug than the others in here had.
ok, final update, after running:
sudo easy_install Twisted>=11.0.0
the build helpers look like this (and tahoe runs):
Replying to tilllt:
Hey wait a minute. The part of the output that I wanted is what comes before
locale.locale
andbuildbot
. The first line should beplatform
and the secondmachine
. Here's what it looks like on my system:ah sorry, i am running the raspberry pi headless and had "screen" running in the terminal which cut off the beginning of the output:
Cool, thanks! Okay, I think you will be able to install Tahoe-LAFS on Raspberry Pi without compiling anything from source as soon as there is a new row on https://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-eggs/README.html in the "Python 2.7" table which row is labeled "linux-armv6l" and which has an egg in each of its six columns.
Okay, so which Raspberry Pi owner wants to build these six eggs for us?
Perhaps we should have a ticket for each platform that needs eggs building for it?
Note that some eggs need newer versions because of these dependency increases for 1.10:
Replying to daira:
Good idea. I created #1983.
Replying to daira:
Filed as #1978 to #1986.
Now we need to recruit some egg-building volunteers to assign the tickets to.