Scid Chess Program Compiling issue
Posted
by
lbochitt
on Ask Ubuntu
See other posts from Ask Ubuntu
or by lbochitt
Published on 2013-08-27T17:57:25Z
Indexed on
2013/11/09
10:16 UTC
Read the original article
Hit count: 581
First of all I would like to point that I'm new to Ubuntu so sorry if what I am asking is ridiculous.
I have downloaded Scid 4.4 chess program and I have tried to compile it as it was explained on its website:
1) Initialize git.
2) Create a folder where you want to download and (?) compile the source, then cast: git init on your command line.
3) You're now ready to download the sources recall Fulvio's spell: git clone git://scid.git.sourceforge.net/gitroot/scid/scid This should get you the latest Scid source.
4) You're now ready to compile Scid. In principle, all you need to do is: ./configure and then make
5) If you get stuck, you probably need to get developer versions of tcl/tk. This translates into issuing these three commands: sudo apt-get install tcl8.5-dev sudo apt-get install tk8.5-dev sudo apt-get install zlib1g -dev
6) You should now be ready to compile
The problem is that when I run ./configure to start compiling the following message appears on Terminal:
configure: Makefile configuration program for Scid
Tcl/Tk version: 8.5 Your operating system is: Linux 3.8.0-19-generic Location of "tcl.h": /usr/include/tcl8.5 Location of "tk.h": /usr/include/tcl8.5 Location of Tcl 8.5 library: not found Location of Tk 8.5 library: not found Checking if your system already has zlib installed: yes. Using Makefile.conf. Not all settings could be determined! The default Makefile was written. You will need to edit it before you can compile Scid.
What should I do? Has anybody faced this problem before? Thanks in advance
I have run
ls -l /usr/include/tcl8.5/tcl.h
here's the result:
-rw-r--r-- 1 root root 87291 abr 22 10:45 /usr/include/tcl8.5/tcl.h
I have also tried what you suggested
Could you run git reset --hard HEAD and git clean -d -f to clean up everything using Git? Then run ./configure again. Just a shot in the dark - I've seen some GNU automake stuff still listening to its "cached" version of the results or something.
Still no solution. I don't know why it can't recognize the library though it is installed
I opened configure to see where the program looked for the library. This is the code:
# libraryPath: List of possible locations of Tcl/Tk library.
set libraryPath {
/usr/lib
/usr/lib64
/usr/local/tcl/lib
/usr/local/lib
/usr/X11R6/lib
/opt/tcltk/lib
/usr/lib/x86_64-linux-gnu
}
lappend libraryPath "/usr/lib/tcl${tclv}"
lappend libraryPath "/usr/lib/tk${tclv}"
lappend libraryPath "/usr/lib/tcl${tclv_nodot}"
lappend libraryPath "/usr/lib/tk${tclv_nodot}"
# Try to add tcl_library and auto_path values to libraryPath,
# in case the user has a non-standard Tcl/Tk library location:
if {[info exists ::tcl_library]} {
lappend headerPath \
[file join [file dirname [file dirname $::tcl_library]] include]
lappend libraryPath [file dirname $::tcl_library]
lappend libraryPath $::tcl_library
}
if {[info exists ::auto_path]} {
foreach name $::auto_path {
lappend libraryPath $name
}
}
if {! [info exists var(TCL_INCLUDE)]} {
puts -nonewline { Location of "tcl.h": }
set opt(tcl_h) [findDir "tcl.h" $headerPath "TCL_VERSION.*$tclv"]
if {$opt(tcl_h) == ""} {
puts "not found"
set success 0
set opt(tcl_h) "$::defaultVar(TCL_INCLUDE)"
} else {
puts $opt(tcl_h)
}
}
set opt(tcl_lib) ""
if {! [info exists var(TCL_LIBRARY)]} {
puts -nonewline " Location of Tcl $tclv library: "
set opt(tcl_lib) [findDir "libtcl${tclv}.*" $libraryPath]
if {$opt(tcl_lib) == ""} {
set opt(tcl_lib) [findDir "libtcl${tclv_nodot}.*" $libraryPath]
if {$opt(tcl_lib) == ""} {
puts "not found"
set success 0
set opt(tcl_lib) "$opt(tcl_h)"
set opt(tcl_lib_file) "tcl\$(TCL_VERSION)"
} else {
set opt(tcl_lib_file) "tcl${tclv_nodot}"
puts $opt(tcl_lib)
}
} else {
set opt(tcl_lib_file) "tcl\$(TCL_VERSION)"
puts $opt(tcl_lib)
}
}
if {! [info exists var(TCL_INCLUDE)]} {
set var(TCL_INCLUDE) "-I$opt(tcl_h)"
}
if {! [info exists var(TCL_LIBRARY)]} {
set var(TCL_LIBRARY) "-L$opt(tcl_lib) -l$opt(tcl_lib_file)"
}
return $success
So I guess (And by guess I mean i have no idea how to code) I should write somewhere in here usr/lib/tcl8.5 and usr/lib/tk8.5, am I right?
© Ask Ubuntu or respective owner