PMXBOT Log file Viewer

Help | Karma | Search:

#pil logs for Wednesday the 27th of August, 2014

(Back to #pil overview) (Back to channel listing) (Animate logs)
[09:36:19] <koobs> wiredfool: yep, i havent seen a second build (via install->build_ext-build) before when a build has already been run. normally it detects things have been built: http://hg.python.org/cpython/file/70990e795657/Lib/distutils/command/build_ext.py#l475
[09:36:55] <koobs> wiredfool: i dont think ive quite narrowed it down yet, which is why i asked here[M#
[16:31:17] <travis-ci> [travis-ci] wiredfool/Pillow#471 (tiff-seek - e26c620 : wiredfool): The build was broken.
[16:31:17] <travis-ci> [travis-ci] Change view : https://github.com/wiredfool/Pillow/compare/40e5265c3b22...e26c62044f69
[16:31:17] <travis-ci> [travis-ci] Build details : http://travis-ci.org/wiredfool/Pillow/builds/33712356
[16:42:49] <wiredfool> koobs: Running OMM (linux) without special build args, python setup.py build_ext && python setup.py install builds once.
[16:43:44] <wiredfool> It does go through the process of figuring out all the dependencies and paths, but doesn't call out to the compiler.
[16:44:28] <koobs> wiredfool: what does pip do?
[16:44:48] <wiredfool> I'm guessing that in the install, the path argments are changing, and it's picking up a different lib
[16:45:12] <koobs> we only pass the custom build args to build_ext
[16:45:52] <wiredfool> what pip command?
[16:46:01] <koobs> wiredfool: i need to revert my port to the state it was in to reproduce the issue (im partially through trying to isolate where the difference is triggered)
[16:46:24] <koobs> wiredfool: well, thats a good question, can pip do sdist build|install ?
[16:46:47] <koobs> ie, from sdist, no wheely things
[16:46:48] <wiredfool> it's not in the help
[16:46:57] <wiredfool> you can pip install .
[16:47:28] <wiredfool> python packaging is a maze of twisty passages
[16:47:43] <koobs> wiredfool: that runs a single stage, likely not going to be reproducible there. the reason i ask is, pillow uses distutils/setuptools, and pip wraps the build/install calls up in setuptools
[16:47:45] <koobs> liek we do
[16:48:27] <koobs> i thought that might be the key, though im not sure.
[16:51:32] <wiredfool> I'm not sure you can pass command options through pip to Pillow's build.
[16:51:45] <koobs> eh, pips likely not going to help because of that
[16:52:22] <wiredfool> and it looks like pip doesn't have a download only command either
[16:52:24] <koobs> https://people.freebsd.org/~db/koobslog.txt
[16:52:38] <koobs> thats one of our devs who is experiencing the issue
[16:52:54] <koobs> i had them run custom commands (outside of ports) to isolate
[16:53:07] <koobs> not TKINTER support lines for the first, then second command
[16:53:48] <koobs> so that was testing build build_ext <args> - which gets us tkinter support
[16:54:09] <wiredfool> so, random question -- does it work without any arguments?
[16:54:11] <koobs> second command is install --record -root -prefix blah
[16:54:20] <wiredfool> ah, you need it for tkinter
[16:54:28] <koobs> wiredfool: tkinter isnt found by the default include/lib routines
[16:54:33] <koobs> so as such args are needed
[16:54:44] <koobs> making it found by default would fix it, but is not the root cause :)
[16:55:00] <koobs> so i dont want to stray to 'fixing' before 'isolating' :)
[16:55:09] <wiredfool> right
[16:55:30] <koobs> so theres something funny going on, i just dont know what
[16:55:30] <wiredfool> but those tk* paths look entirely reasonable, so they should be found
[16:55:48] <koobs> they're in /usr/local sure
[16:55:54] <wiredfool> cause we're checking for /usr/local/include, and /usr/local/lib
[16:56:28] <koobs> --include-dirs=/usr/local/include/tcl8.6:/usr/local/include/tk8.6
[16:56:30] <koobs> we're passing that
[16:57:15] <wiredfool> yeah.
[16:58:04] <wiredfool> random other thought -- --enable-foo is essentially a require-foo, where if it doesn't find the libs, it fails.
[16:58:21] <wiredfool> it doesn't mean that without --enable-foo, foo won't be built.
[16:58:36] <koobs> hmm
[16:58:58] <koobs> with our ports we want to explicitly disable stuff if the option is off, even if the lib/software is installed
[16:59:08] <wiredfool> ok, so there's --disable-foo
[16:59:22] <wiredfool> IIRC, it was a freebsd dev who wanted this.
[16:59:26] <koobs> yeh so my port does that, if its off, it will do that
[16:59:26] <wiredfool> or maybe gentoo
[16:59:33] <koobs> possible me, or both :)
[16:59:46] <tdsmith> is tkinter support actually missing from the python 3 version? it's only built against python 3 once. slightly weird to me that a single command is building against both 3.x and 2.x
[16:59:53] <koobs> nup its not
[17:00:06] <koobs> its isolated that (and fixed an issue there)
[17:00:26] <koobs> td which bit do you see linking against 2.x ?
[17:00:50] <koobs> -I/usr/local/include/python2.7
[17:00:52] <koobs> hmm.
[17:01:03] <koobs> did not notice.
[17:01:44] <koobs> and that might be why the (previous) build isnt being picked up.
[17:01:45] <koobs> HMM!
[17:01:54] <koobs> tdsmith: fresh eyes, <3
[17:02:32] <koobs> now what the hell would cause that :|
[17:02:49] <wiredfool> koobs: also, you want 2.5.3. It's got one more CVE fix
[17:02:51] <tdsmith> build_ext is called twice against python3 but i think it's a no-op the second time so it's maybe not a concern that build_ext called by install doesn't find tkinter
[17:03:02] <koobs> wiredfool: im trying to fix this before i land it, already have it done :)
[17:03:47] <wiredfool> ok
[17:04:07] <wiredfool> so, the 2.7 bits in that trace start at ===> Staging for py27-pillow-2.5.2
[17:04:33] <koobs> yeh, im going to get back to you
[17:04:39] <koobs> wiredfool: thanks :)
[17:04:59] <wiredfool> ok
[17:05:16] <wiredfool> I'll be around in PDT hours
[17:08:05] <koobs> wiredfool: roger that :)
[17:11:59] <wiredfool> koobs: I think this is part of the problem: https://github.com/python-pillow/Pillow/blob/master/setup.py#L343
[17:12:27] <wiredfool> it's a hardwired path to check for tkinter's tk.h in /usr/include/tcl###
[17:12:49] <koobs> sure :)
[17:12:52] <wiredfool> then right below that, it adds /usr/local/include and /usr/include to the include_dirs
[17:12:58] <wiredfool> so,... bah.
[17:13:00] <koobs> yes, i did note that
[17:13:13] <koobs> but lets not worry about that yet :)
[17:13:17] <wiredfool> ok