{"action":"created","issue":{"url":"https://api.github.com/repos/openMSX/openMSX/issues/737","labels_url":"https://api.github.com/repos/openMSX/openMSX/issues/737/labels{/name}","comments_url":"https://api.github.com/repos/openMSX/openMSX/issues/737/comments","events_url":"https://api.github.com/repos/openMSX/openMSX/issues/737/events","html_url":"https://github.com/openMSX/openMSX/issues/737","id":87943222,"number":737,"title":"[Bug] libtcl8.5.so: cannot open shared object file: No such file [sf#422]","user":{"login":"andete","id":689017,"avatar_url":"https://avatars.githubusercontent.com/u/689017?v=3","gravatar_id":"","url":"https://api.github.com/users/andete","html_url":"https://github.com/andete","followers_url":"https://api.github.com/users/andete/followers","following_url":"https://api.github.com/users/andete/following{/other_user}","gists_url":"https://api.github.com/users/andete/gists{/gist_id}","starred_url":"https://api.github.com/users/andete/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andete/subscriptions","organizations_url":"https://api.github.com/users/andete/orgs","repos_url":"https://api.github.com/users/andete/repos","events_url":"https://api.github.com/users/andete/events{/privacy}","received_events_url":"https://api.github.com/users/andete/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-06-13T06:15:03Z","updated_at":"2015-06-13T07:41:20Z","closed_at":"2015-06-13T07:40:47Z","body":"**Reported by joxy on 2011-08-30 20:05 UTC**\n\\(04:17:12\\) joxy: is the following bug in openmsx0.8.1 fixed?\r\n\\(04:17:12\\) joxy: $ locate libtcl8.5.so\r\n\\(04:17:13\\) joxy: /usr/local/lib/libtcl8.5.so\r\n\\(04:18:11\\) joxy: \\(that place tcl 8.5.10 installed itself by default on ubuntu lucid\\)\r\n\\(04:19:13\\) joxy: tcl build line used was: $ ./configure --enable-threads --enable-shared --enable-symbols && make && make test && sudo make install\r\n\\(04:20:05\\) joxy: openmsx build line used was: $ ./configure && make && sudo make install\r\n\\(04:20:41\\) joxy: the bug is: $ openmsx --version \r\n\\(04:20:41\\) joxy: openmsx: error while loading shared libraries: libtcl8.5.so: cannot open shared object file: No such file or directory\r\n\\(04:21:01\\) joxy: wouter\\_: openmsx builds successfully.\r\n\\(04:22:23\\) wouter\\_: what is the result of   'ldd openmsx'?\r\n\\(04:22:56\\) wouter\\_: \\(only paste the libtcl related output\\)\r\n\\(04:24:23\\) wouter\\_: sorry should be     ldd &lt;path-to-openmsx-executable&gt;\r\n\\(04:24:28\\) joxy: wouter\\_: http://pastebin.com/8XEaWsYE \\(full output\\), libtcl8.5.so =&gt; not found\r\n\\(04:25:08\\) joxy: ldd \\`which openmsx\\`\r\n\\(04:25:12\\) wouter\\_: ok, if you look at   &lt;openmsx-source-tree&gt;/derived/&lt;build-flavour&gt;/config/probed\\_defs.mk\r\n\\(04:25:52\\) wouter\\_: in that file shoule be two lines with  TCL\\_CFLAGS  and TCL\\_LDFLAGS\r\n\\(04:26:08\\) wouter\\_: do those refer to the correct location?\r\n\\(04:27:23\\) joxy: TCL\\_LDFLAGS:=-L/usr/local/lib -ltcl8.5 ----------correct location\r\n\\(04:28:32\\) joxy: TCL\\_CFLAGS doesn't have this path in it\r\n\\(04:28:43\\) wouter\\_: and the -I part of TCL\\_CFLAGS \\(end of the line for me\\) also points to /usr/local?\r\n\\(04:29:42\\) wouter\\_: it should point to /usr/local/include probably\r\n\\(04:29:45\\) joxy: TCL\\_CFLAGS: \r\n1\\.\r\nopenmsx-0.8.1/derived/x86-linux-i686/config$ cat probed\\_defs.mk |grep TCL\\_\r\n2\\.\r\nHAVE\\_TCL\\_H:=true\r\n3\\.\r\nHAVE\\_TCL\\_LIB:=true\r\n4\\.\r\nTCL\\_CFLAGS:=-DPACKAGE\\_NAME=tcl -DPACKAGE\\_TARNAME=tcl -DPACKAGE\\_VERSION=8.5 -DPACKAGE\\_STRING=tcl\\\\\\\\\\ 8.5 -DPACKAGE\\_BUGREPORT= -DSTDC\\_HEADERS=1 -DHAVE\\_SYS\\_TYPES\\_H=1 -DHAVE\\_SYS\\_STAT\\_H=1 -DHAVE\\_STDLIB\\_H=1 -DHAVE\\_STRING\\_H=1 -DHAVE\\_MEMORY\\_H=1 -DHAVE\\_STRINGS\\_H=1 -DHAVE\\_INTTYPES\\_H=1 -DHAVE\\_STDINT\\_H=1 -DHAVE\\_UNISTD\\_H=1 -DHAVE\\_LIMITS\\_H=1 -DHAVE\\_SYS\\_PARAM\\_H=1 -DUSE\\_THREAD\\_ALLOC=1 -D\\_REENTRANT=1 -D\\_THREAD\\_SAFE=1 -DHAVE\\_PTHREAD\\_ATTR\\_SETSTACKSIZE=1 -DHAVE\\_PTHREAD\\_GETATTR\\_NP=1 -DGETATTRNP\\_NOT\\_DECLARED=1 -DTCL\\_THREADS=1 -DTCL\\_CFGVAL\\_ENCODING=iso8859-1 -DMODULE\\_SCOPE=extern\\ \\_\\_attribute\\_\\_\\\\\\(\\\\\\(\\_\\_visibility\\_\\_\\\\\\(hidden\\\\\\)\\\\\\)\\\\\\) -DTCL\\_SHLIB\\_EXT=.so -DTCL\\_CFG\\_DEBUG=1 -DTCL\\_TOMMATH=1 -DMP\\_PREC=4 -D\\_LARGEFILE64\\_SOURCE=1 -DTCL\\_WIDE\\_INT\\_TYPE=long\\ long -DHAVE\\_STRUCT\\_STAT64=1 -DHAVE\\_OPEN64=1 -DHAVE\\_LSEEK64=1 -DHAVE\\_TYPE\\_OFF64\\_T=1 -DHAVE\\_GETCWD=1 -DHAVE\\_OPENDIR=1 -DHAVE\\_STRTOL=1 -DHAVE\\_WAITPID=1 -DHAVE\\_GETADDRINFO=1 -DHAVE\\_GETPWUID\\_R\\_5=1 -DHAVE\\_GETPWUID\\_R=1 -DHAVE\\_GETPWNAM\\_R\\_5=1 -DHAVE\\_GETPWNAM\\_R=1 -DHAVE\\_GETGRGID\\_R\\_5=1 -DHAVE\\_GETGRGID\\_R=1 -DHAVE\\_GETGRNAM\\_R\\_5=1 -DHAVE\\_GETGRNAM\\_R=1 -DHAVE\\_GETHOSTBYNAME\\_R\\_6=1 -DHAVE\\_GETHOSTBYNAME\\_R=1 -DHAVE\\_GETHOSTBYADDR\\_R\\_8=1 -DHAVE\\_GETHOSTBYADDR\\_R=1 -DUSE\\_TERMIOS=1 -DHAVE\\_SYS\\_TIME\\_H=1 -DTIME\\_WITH\\_SYS\\_TIME=1 -DHAVE\\_GMTIME\\_R=1 -DHAVE\\_LOCALTIME\\_R=1 -DHAVE\\_MKTIME=1 -DHAVE\\_TM\\_GMTOFF=1 -DHAVE\\_TIMEZONE\\_VAR=1 -DHAVE\\_STRUCT\\_STAT\\_ST\\_BLOCKS=1 -DHAVE\\_STRUCT\\_STAT\\_ST\\_BLKSIZE=1 -DHAVE\\_BLKCNT\\_T=1 -DHAVE\\_INTPTR\\_T=1 -DHAVE\\_UINTPTR\\_T=1 -DHAVE\\_SIGNED\\_CHAR=1 -DHAVE\\_LANGINFO=1 -DHAVE\\_SYS\\_IOCTL\\_H=1 -DTCL\\_UNLOAD\\_DLLS=1 -I/usr/local/include\r\n5\\.\r\nTCL\\_LDFLAGS:=-L/usr/local/lib -ltcl8.5\r\n\r\n\\(04:29:56\\) joxy: -I/usr/local/include\r\n\\(04:30:26\\) wouter\\_: strange.  I'm afraid at this point we need our build expert \\(mth\\)\r\n\\(04:30:39\\) joxy: ah. i can just $ export LD\\_PATH\r\n\\(04:30:46\\) wouter\\_: does it work if you set the LD\\_LIBRARY\\_PATH env var?\r\n\\(04:30:52\\) joxy: trying\r\n\\(04:31:19\\) wouter\\_: i don't know if this is required if you install stuff in /usr/local\r\n\\(04:32:38\\) joxy: $ echo $LD\\_LIBRARY\\_PATH     \\#gives an empty string response\r\n\\(04:32:59\\) joxy: export LD\\_LIBRARY\\_PATH=/usr/local/lib/ \\(makes openmsx --version work\\)\r\n\\(04:33:23\\) joxy: ldd \\`which openmsx\\`|grep tcl \\(gives the following response\\) libtcl8.5.so =&gt; /usr/local/lib/libtcl8.5.so \\(0x00756000\\)\r\n\\(04:34:09\\) wouter\\_: ok, so now the question is. Are you supposedto set LD\\_LIBRARY\\_PATH if you install libs in non-standard locations, or is it supposed to work without?   \\(i honestly don't know\\)\r\n\\(04:34:34\\) joxy: i don't know either.\r\n\\(04:35:10\\) joxy: but that is the location tcl installed itself by its \\(tcl's\\) defaults\r\n\\(04:35:59\\) n...: maybe if the lib is installed in a dir which is not in the path variable, you should then\r\n\\(04:38:04\\) n...: well this page says if you should ;\\) http://linuxmafia.com/faq/Admin/ld-lib-path.html\r\n\\(04:45:15\\) wouter\\_: joxy: in /usr/local  do you have a tclConfig.sh file somewhere   \\(for me it's located in /usr/lib/tcl8.5/tclConfig.sh\\)\r\n\\(04:46:08\\) wouter\\_: does it set the variable TCL\\_LD\\_SEARCH\\_FLAGS to a non-empty value?  \\(around line 91 in my version\\)\r\n\\(04:47:14\\) wouter\\_: i mean does you local tcl installation also have such a file\r\n\\(04:48:43\\) joxy: wouter\\_: \r\n\\(04:48:45\\) joxy: /usr/lib/tcl8.4/tclConfig.sh\r\n\\(04:48:45\\) joxy: /usr/local/lib/tclConfig.sh\r\n\\(04:48:45\\) joxy: /usr/share/tcltk/tcl8.4/tclConfig.sh\r\n\\(04:49:00\\) joxy: 8.4 is the ubuntu's newest repo version\r\n\\(04:49:33\\) wouter\\_: joxy: ok look in /usr/local/lib/tclConfig.sh for the TCL\\_LD\\_SEARCH\\_FLAGS variable\r\n\\(04:49:46\\) joxy: I've overwritten 8.4 with 8.5-compiled-from-sources\r\n\\(04:50:23\\) joxy: wouter\\_: TCL\\_LD\\_SEARCH\\_FLAGS='-Wl,-rpath,$\\{LIB\\_RUNTIME\\_DIR\\}'\r\n\\(04:51:01\\) joxy: and yes, this file contains TCL\\_VERSION='8.5' in headers\r\n\\(04:51:57\\) wouter\\_: ok, i'll have to discuss with mth when he gets here  \\(or you\\)\r\n"},"comment":{"url":"https://api.github.com/repos/openMSX/openMSX/issues/comments/111684653","html_url":"https://github.com/openMSX/openMSX/issues/737#issuecomment-111684653","issue_url":"https://api.github.com/repos/openMSX/openMSX/issues/737","id":111684653,"user":{"login":"andete","id":689017,"avatar_url":"https://avatars.githubusercontent.com/u/689017?v=3","gravatar_id":"","url":"https://api.github.com/users/andete","html_url":"https://github.com/andete","followers_url":"https://api.github.com/users/andete/followers","following_url":"https://api.github.com/users/andete/following{/other_user}","gists_url":"https://api.github.com/users/andete/gists{/gist_id}","starred_url":"https://api.github.com/users/andete/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andete/subscriptions","organizations_url":"https://api.github.com/users/andete/orgs","repos_url":"https://api.github.com/users/andete/repos","events_url":"https://api.github.com/users/andete/events{/privacy}","received_events_url":"https://api.github.com/users/andete/received_events","type":"User","site_admin":false},"created_at":"2015-06-13T07:41:20Z","updated_at":"2015-06-13T07:41:20Z","body":"**Commented by joxy on 2011-08-31 18:44 UTC**\nmth: why use a hardcoded location when there is a lookup system?\nj: well... i tend to agree - that indirect ref is better than a direct one..,\nj: okay. indirection is saner.\nj: so the question is closed."}}