Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix build issues #765

Merged
merged 20 commits into from
May 4, 2013
Merged

Fix build issues #765

merged 20 commits into from
May 4, 2013

Conversation

jseabold
Copy link
Member

Closes #204. Tested under linux with bleeding edge. Tested both source installation and binary installation on Windows with minimum packages for Python 2.6, 2.7, and 3.2 32- and 64-bit. There is one problem with 2to3 on 32-bit only. For some reason it doesn't change from linbin import fast_linbin to a relative import. It does change the kalman filter one, so I don't think it has anything to do with the extension. Will have to check later. Changing this after it's installed, it tests fine.

There are some failing tests on Windows (probably versions dependent), but that's a different PR.

@rgommers
Copy link
Member

works for me

@jseabold
Copy link
Member Author

Thanks, Ralf. Is that on OS X?

45facae should fix the relative imports issue. I will test the windows binary build tonight to be sure.

@rgommers
Copy link
Member

Nope, moved to Linux. 32-bit Ubuntu

@jseabold
Copy link
Member Author

Source distributions are up too from the same build script. I haven't checked them yet though.

http://statsmodels.sourceforge.net/binaries/statsmodels-0.5.0-dev.tar.gz
http://statsmodels.sourceforge.net/binaries/statsmodels-0.5.0-dev.zip

@jseabold
Copy link
Member Author

We need a windows machine with an SSH key for the sourceforge site. The SSH key should have no password.

Install the SDK as described here

Download pscp and put it in C:\windows\

Update the statsmodels\tools*.bat files to point to the correct path for Python installations.

The batch file that task scheduler would have to run is

call C:\path\to\statsmodels\build_bdists.bat
pscp.exe C:\path\to\statsmodels\dist\* username,statsmodels@web.sourceforge.net:htdocs/binaries/

I can set this up on my laptop, but I only boot up windows when I need to do my taxes or build statsmodels for a release, so they would be updated infrequently.

@rgommers
Copy link
Member

nice. shouldn't those binaries have -dev in the name? Looks like an official release now.

@jseabold
Copy link
Member Author

Yeah, I didn't mess with the release numbering. Just wanted to see that they worked. I'll change.

@jseabold
Copy link
Member Author

Updated the links.

@jseabold
Copy link
Member Author

I scraped together my change and built a windows build slave, so we should have nightly binaries now once all the kinks are worked out. Looks like Python 3.3 might have had some build problems, but I haven't tested it yet.

https://github.com/statsmodels/binary_builds

They will be here nightly (if there have been commits in master).

http://statsmodels.sourceforge.net/binaries/

Would like to also get the python 2to3 caching that pandas has but that will have to wait.

@josef-pkt I added you to the upload e-mails, but they're not like the docs upload e-mails in that they don't give any indication of if / where things went wrong. Let me know if you want me to take you off this.

@jseabold
Copy link
Member Author

I removed the 3.3 binaries until I fix the builds.

@josef-pkt
Copy link
Member

Being on the upload emails is fine.

what's python 2to3 caching? I assume we switch to a common py >2.6 > 3.1 code base soon (following scipy and numpy), So if this sounds like too much work, I would skip it because once we switch, 2to3 won't be necessary anymore.

What's the problem with python 3.3?

@jseabold
Copy link
Member Author

That's fine then caching won't matter.

I can't tell yet what's wrong with 3.3. It looks similar to the relative import problem, but that's fixed in 3.2, and this one is with kalman_loglike not linbin.

@josef-pkt
Copy link
Member

Is it with 2to3 conversion? If you make changes in the converted py 3.3 code, can you build it?

@jseabold
Copy link
Member Author

No it's a linking error I think. I just don't think you can use this version of the SDK for 3.3. I'll need to look into it.

@jseabold
Copy link
Member Author

Yeah you need Windows 7 and .NET SDK Framework 4 for 3.3. Version 3.5 SP1 works for 2.6 - 3.2. I just need to install it and a couple of lines in the batch files.

@jseabold
Copy link
Member Author

Everything should be fine now.

@jseabold
Copy link
Member Author

Can I merge this?

@jseabold
Copy link
Member Author

Bump.

@josef-pkt
Copy link
Member

I will try it out tonight.

I liked the decentralized numpy distutils version better, but so far I didn't have problems compiling pandas with MingW for 32bit, so this might be fine.

Especially your work providing nightly (or at least updated) binaries sounds good.

(The main difference for me will be that I need python specific inplace builds, instead of just running from source with any python 2.)

@jseabold
Copy link
Member Author

Ok, thanks. I liked the modular version too given that we don't keep the source together in a folder. We might be able to work back to that. It was just easier for me to crib this version, though now I have a decent idea of how it all works.

I added some instructions on automating the builds on windows to docs for easy batch scripting that should help. I have bash scripts for all the projects I build from source regularly.

@jseabold
Copy link
Member Author

jseabold commented May 1, 2013

Any luck? Hoping to get a release candidate out this week.

@jseabold
Copy link
Member Author

jseabold commented May 4, 2013

I would like to merge this this weekend, so I can point the build box at master and put it away.

@josef-pkt
Copy link
Member

Go ahead and merge. (I'll figure it out ex-post.)

Try to have a clean merge, so I can possible create a branch where I can revert this.

(I still don't manage to get back to maintenance. I'm still busy with GSOC related things. But I would like to merge my misc07 before a release candidate.)

jseabold added a commit that referenced this pull request May 4, 2013
BLD: Fix Cython build. C compiler now necessary to build.
@jseabold jseabold merged commit fe1052a into statsmodels:master May 4, 2013
@jseabold jseabold deleted the fix-build-issues branch May 4, 2013 20:05
PierreBdR pushed a commit to PierreBdR/statsmodels that referenced this pull request Sep 2, 2014
BLD: Fix Cython build. C compiler now necessary to build.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cython extensions built twice?
3 participants