Skip to content

[foss/2017b] Tkinter 3.6.3 - Add explicit zlib dependency#5797

Merged
verdurin merged 1 commit intoeasybuilders:developfrom
vanzod:20180207170136_new_pr_Tkinter363
Feb 27, 2018
Merged

[foss/2017b] Tkinter 3.6.3 - Add explicit zlib dependency#5797
verdurin merged 1 commit intoeasybuilders:developfrom
vanzod:20180207170136_new_pr_Tkinter363

Conversation

@vanzod
Copy link
Copy Markdown
Member

@vanzod vanzod commented Feb 7, 2018

(created using eb --new-pr)

@vanzod
Copy link
Copy Markdown
Member Author

vanzod commented Feb 7, 2018

Test report by @vanzod
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
cermis - Linux debian 9.3, Intel(R) Xeon(R) CPU E5620 @ 2.40GHz, Python 2.7.13
See https://gist.github.com/d19339fba38a7d795795768a57801f51 for a full test report.

@vanzod vanzod changed the title Add explicit zlib dependency [foss/2017b] Tkinter 3.6.3 - Add explicit zlib dependency Feb 7, 2018
@vanzod vanzod added the bug fix label Feb 7, 2018
@vanzod vanzod added this to the next release (3.5.2 or 3.6.0) milestone Feb 7, 2018
@vanzod
Copy link
Copy Markdown
Member Author

vanzod commented Feb 7, 2018

Fixes issue #5788

@vanzod
Copy link
Copy Markdown
Member Author

vanzod commented Feb 7, 2018

The other two Tkinter easyconfig based on Python-2.7.13 and Python-2.7.14 build successfully even without the explicit dependency.

@verdurin
Copy link
Copy Markdown
Member

Test report by @verdurin
FAILED
Build succeeded for 0 out of 1 (1 easyconfigs in this PR)
dell.lan - Linux fedora 27, Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz, Python 2.7.14
See https://gist.github.com/6d042bf41b7781c1dc6a66fa38f650b7 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 20, 2018

@verdurin Failure looks suspicious, was there some kind of manual intervention while the test was running? Specified path to copy is not an existing file or directory

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 20, 2018

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
node2478.golett.os - Linux centos linux 7.4.1708, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz, Python 2.7.5
See https://gist.github.com/26f3f3f7790a0d4aa068722abb21249f for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 20, 2018

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
gligar03.gligar.os - Linux centos linux 7.4.1708, Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz, Python 2.7.5
See https://gist.github.com/d04777a32ad53a1399583a445f2f041e for a full test report.

@verdurin
Copy link
Copy Markdown
Member

Test report by @verdurin
FAILED
Build succeeded for 0 out of 1 (1 easyconfigs in this PR)
dell.lan - Linux fedora 27, Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz, Python 2.7.14
See https://gist.github.com/e744e2995c664e5f82e6ac7ed6e8b59c for a full test report.

@verdurin
Copy link
Copy Markdown
Member

@boegel just re-ran it with the same error. No manual intervention.

@verdurin
Copy link
Copy Markdown
Member

Test report by @verdurin
FAILED
Build succeeded for 7 out of 52 (1 easyconfigs in this PR)
admin3.novalocal - Linux centos linux 7.4.1708, Intel Xeon E312xx (Sandy Bridge), Python 2.7.5
See https://gist.github.com/39803c838b50bd1504fc23ecbb7f9186 for a full test report.

@verdurin
Copy link
Copy Markdown
Member

Test report by @verdurin
FAILED
Build succeeded for 44 out of 45 (1 easyconfigs in this PR)
admin3.novalocal - Linux centos linux 7.4.1708, Intel Xeon E312xx (Sandy Bridge), Python 2.7.5
See https://gist.github.com/292bd628b27be20c16280ea3bf624bd0 for a full test report.

@verdurin
Copy link
Copy Markdown
Member

That last test was on a fresh node running CentOS 7, so it's not just a local problem.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 26, 2018

@verdurin It seems like this is the issue:

INFO: Can't locate Tcl/Tk libs and/or headers
...

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_bz2                  _curses               _curses_panel      
_dbm                  _gdbm                 _lzma              
_sqlite3              _tkinter              readline   

Do you mind sharing the full (debug) log for the failing Tkinter?

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 27, 2018

@verdurin Was your Tk/8.6.7-foss-2017b module built with the patch Tk-8.6.4_different-prefix-with-tcl.patch we included in #2102?

@verdurin
Copy link
Copy Markdown
Member

@boegel It was built with the EB 3.5.1 sources, so I assume the patch was included, based on when it was merged.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 27, 2018

@verdurin Can you check to be 100% sure, I don't want to spend time chasing ghosts...

The Tk log should have a line like this:

== 2018-01-14 02:19:06,798 easyblock.py:1678 INFO Applying patch Tk-8.6.4_different-prefix-with-tcl.patch

The error is slightly different when the patch is not applied though (Can't find a usable tk.tcl vs Can't locate Tcl/Tk libs and/or headers).

One other possible reason it fails for you could be that the Tcl & Tk installations are somehow different (e.g. lib vs lib64).

Can you show what the contents of both the Tcl & Tk installation directories look like?

@verdurin
Copy link
Copy Markdown
Member

@boegel yes, looks like the patch was applied for Tk:

== 2018-02-21 13:45:09,322 easyblock.py:1678 INFO Applying patch Tk-8.6.4_different-prefix-with-tcl.patch
== 2018-02-21 13:45:09,326 easyblock.py:1691 DEBUG Source index: 0; patch level: None; source path suffix: ; copy patch: <module 'copy' from '/usr/lib64/python2.7/copy.pyo'>
== 2018-02-21 13:45:09,330 easyblock.py:1696 DEBUG Determine begin path for patch Tk-8.6.4_different-prefix-with-tcl.patch: /home/centos/.local/easybuild/build/Tk/8.6.7/foss-2017b/tk8.6.7
== 2018-02-21 13:45:09,334 easyblock.py:1705 DEBUG Applying patch {'path': '/home/centos/src/github/easybuild-easyconfigs/easybuild/easyconfigs/t/Tk/Tk-8.6.4_different-prefix-with-tcl.patch', 'md5': '4f47448b0a9831ca602271d0628b44a3', 'name': 'Tk-8.6.4_different-prefix-with-tcl.patch', 'sha256': '7a6daa8349393af3d340e774aebf07c7410c51e01bc654ceb3679877063b961d', 'checksum': '7a6daa8349393af3d340e774aebf07c7410c51e01bc654ceb3679877063b961d'} in path /home/centos/.local/easybuild/build/Tk/8.6.7/foss-2017b/tk8.6.7
== 2018-02-21 13:45:09,340 filetools.py:912 DEBUG Guessed patch level 1 for patch /home/centos/src/github/easybuild-easyconfigs/easybuild/easyconfigs/t/Tk/Tk-8.6.4_different-prefix-with-tcl.patch
== 2018-02-21 13:45:09,344 run.py:163 DEBUG run_cmd: running cmd patch -b -p1 -i /home/centos/src/github/easybuild-easyconfigs/easybuild/easyconfigs/t/Tk/Tk-8.6.4_different-prefix-with-tcl.patch (in /home/centos/.local/easybuild/build/Tk/8.6.7/foss-2017b/tk8.6.7)
== 2018-02-21 13:45:09,348 run.py:183 INFO running cmd: patch -b -p1 -i /home/centos/src/github/easybuild-easyconfigs/easybuild/easyconfigs/t/Tk/Tk-8.6.4_different-prefix-with-tcl.patch
== 2018-02-21 13:45:09,377 run.py:488 DEBUG cmd "patch -b -p1 -i /home/centos/src/github/easybuild-easyconfigs/easybuild/easyconfigs/t/Tk/Tk-8.6.4_different-prefix-with-tcl.patch" exited with exit code 0 and output:
patching file unix/Makefile.in
Hunk #1 succeeded at 1025 (offset -4 lines).
patching file generic/tkWindow.c
Hunk #1 succeeded at 954 (offset -34 lines).

@verdurin
Copy link
Copy Markdown
Member

[centos@admin3 easybuild-easyconfigs]$ ll /home/centos/.local/easybuild/software/Tcl/8.6.7-GCCcore-6.4.0
total 4
drwxr-xr-x.  2 centos centos   46 Feb 21 10:39 bin
drwxr-xr-x.  2 centos centos  192 Feb 21 10:39 easybuild
drwxr-xr-x.  2 centos centos 4096 Feb 21 10:39 include
drwxr-xr-x. 12 centos centos  275 Feb 21 10:39 lib
drwxr-xr-x.  5 centos centos   42 Feb 21 10:39 man
drwxr-xr-x.  3 centos centos   17 Feb 21 10:39 share
[centos@admin3 easybuild-easyconfigs]$ ll /home/centos/.local/easybuild/software/Tk/8.6.7-foss-2017b/
total 0
drwxr-xr-x. 2 centos centos  21 Feb 21 13:45 bin
drwxr-xr-x. 2 centos centos 230 Feb 21 13:45 easybuild
drwxr-xr-x. 2 centos centos  56 Feb 21 13:45 include
drwxr-xr-x. 4 centos centos  96 Feb 21 13:45 lib
drwxr-xr-x. 5 centos centos  42 Feb 21 13:45 man

Do you need the contents lower than that too?

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 27, 2018

@verdurin Can you try adding Tcl as a direct dep for Tkinter, i.e. using this easyconfig? https://gist.github.com/boegel/b4b9a562b4fb5b14dd0caee0c194462d

@verdurin
Copy link
Copy Markdown
Member

This fails during installation with the same error.

@verdurin
Copy link
Copy Markdown
Member

[centos@admin3 ~]$ ll /home/centos/.local/easybuild/software/Tcl/8.6.7-GCCcore-6.4.0/lib/
total 1912
drwxr-xr-x. 2 centos centos     158 Feb 21 10:39 itcl4.1.0
-r-xr-xr-x. 1 centos centos 1929856 Feb 21 10:39 libtcl8.6.so
-rwxr-xr-x. 1 centos centos    7900 Feb 21 10:39 libtclstub8.6.a
drwxr-xr-x. 2 centos centos      20 Feb 21 10:39 pkgconfig
drwxr-xr-x. 2 centos centos      52 Feb 21 10:39 sqlite3.20.0
drwxr-xr-x. 5 centos centos      39 Feb 21 10:39 tcl8
drwxr-xr-x. 6 centos centos     250 Feb 21 10:39 tcl8.6
-rw-r--r--. 1 centos centos    8658 Feb 21 10:39 tclConfig.sh
-rw-r--r--. 1 centos centos     773 Feb 21 10:39 tclooConfig.sh
drwxr-xr-x. 2 centos centos     112 Feb 21 10:39 tdbc1.0.5
drwxr-xr-x. 2 centos centos      75 Feb 21 10:39 tdbcmysql1.0.5
drwxr-xr-x. 2 centos centos      73 Feb 21 10:39 tdbcodbc1.0.5
drwxr-xr-x. 2 centos centos      81 Feb 21 10:39 tdbcpostgres1.0.5
drwxr-xr-x. 2 centos centos      69 Feb 21 10:39 thread2.8.1
[centos@admin3 ~]$ ll /home/centos/.local/easybuild/software/Tk/8.6.7-foss-2017b/lib/
total 1540
-r-xr-xr-x. 1 centos centos 1553872 Feb 21 13:45 libtk8.6.so
-rwxr-xr-x. 1 centos centos    5864 Feb 21 13:45 libtkstub8.6.a
drwxr-xr-x. 2 centos centos      19 Feb 21 13:45 pkgconfig
drwxr-xr-x. 6 centos centos    4096 Feb 21 13:45 tk8.6
-rw-r--r--. 1 centos centos    4773 Feb 21 13:45 tkConfig.sh

@verdurin
Copy link
Copy Markdown
Member

[centos@admin3 ~]$ ll /home/centos/.local/easybuild/software/Tcl/8.6.7-GCCcore-6.4.0/include/
total 828
-rw-r--r--. 1 centos centos   8941 Feb 21 10:39 fakemysql.h
-r--r--r--. 1 centos centos   1189 Feb 21 10:39 fakepq.h
-r--r--r--. 1 centos centos   6347 Feb 21 10:39 fakesql.h
-rw-r--r--. 1 centos centos   1947 Feb 21 10:39 itcl2TclOO.h
-rw-r--r--. 1 centos centos   6867 Feb 21 10:39 itclDecls.h
-rw-r--r--. 1 centos centos   5896 Feb 21 10:39 itcl.h
-rw-r--r--. 1 centos centos  43298 Feb 21 10:39 itclIntDecls.h
-rw-r--r--. 1 centos centos  37285 Feb 21 10:39 itclInt.h
-rw-r--r--. 1 centos centos   3095 Feb 21 10:39 itclMigrate2TclCore.h
-rw-r--r--. 1 centos centos   1709 Feb 21 10:39 itclTclIntStubsFcn.h
-rw-r--r--. 1 centos centos   5629 Feb 21 10:39 mysqlStubs.h
-r--r--r--. 1 centos centos   4982 Feb 21 10:39 odbcStubs.h
-r--r--r--. 1 centos centos   3584 Feb 21 10:39 pqStubs.h
-rw-r--r--. 1 centos centos 169652 Feb 21 10:39 tclDecls.h
-rw-r--r--. 1 centos centos  94833 Feb 21 10:39 tcl.h
-rw-r--r--. 1 centos centos  56024 Feb 21 10:39 tclIntDecls.h
-rw-r--r--. 1 centos centos 188616 Feb 21 10:39 tclInt.h
-rw-r--r--. 1 centos centos  21110 Feb 21 10:39 tclIntPlatDecls.h
-rw-r--r--. 1 centos centos   9123 Feb 21 10:39 tclOODecls.h
-rw-r--r--. 1 centos centos   4282 Feb 21 10:39 tclOO.h
-rw-r--r--. 1 centos centos   7216 Feb 21 10:39 tclOOIntDecls.h
-rw-r--r--. 1 centos centos  23811 Feb 21 10:39 tclOOInt.h
-rw-r--r--. 1 centos centos   3279 Feb 21 10:39 tclPlatDecls.h
-rw-r--r--. 1 centos centos   1053 Feb 21 10:39 tclPort.h
-rw-r--r--. 1 centos centos    755 Feb 21 10:39 tclThread.h
-rw-r--r--. 1 centos centos  18892 Feb 21 10:39 tclTomMathDecls.h
-rw-r--r--. 1 centos centos  18379 Feb 21 10:39 tclTomMath.h
-rw-r--r--. 1 centos centos  20599 Feb 21 10:39 tclUnixPort.h
-rw-r--r--. 1 centos centos   1497 Feb 21 10:39 tdbcDecls.h
-rw-r--r--. 1 centos centos   1682 Feb 21 10:39 tdbc.h
-rw-r--r--. 1 centos centos    934 Feb 21 10:39 tdbcInt.h
[centos@admin3 ~]$ ll /home/centos/.local/easybuild/software/Tk/8.6.7-foss-2017b/include/
total 144
-rw-r--r--. 1 centos centos 76176 Feb 21 13:45 tkDecls.h
-rw-r--r--. 1 centos centos 57790 Feb 21 13:45 tk.h
-rw-r--r--. 1 centos centos  5565 Feb 21 13:45 tkPlatDecls.h

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 27, 2018

@verdurin Hold on... Maybe you're just missing easybuilders/easybuild-easyblocks#1347?

@verdurin
Copy link
Copy Markdown
Member

Test report by @verdurin
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
admin3.novalocal - Linux centos linux 7.4.1708, Intel Xeon E312xx (Sandy Bridge), Python 2.7.5
See https://gist.github.com/1469b42a7736a0712d5a46f5b9184075 for a full test report.

@verdurin
Copy link
Copy Markdown
Member

Going in, thanks @vanzod!

@verdurin verdurin merged commit f285056 into easybuilders:develop Feb 27, 2018
@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 27, 2018

@vanzod Wouldn't it be better to make this change consistent across all Tkinter easyconfigs (incl. for v2.x), to avoid re-introducing the missing zlib dep?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants