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

Trouble installing on Fedora 26 #940

Closed
rickardlindberg opened this issue Apr 3, 2020 · 19 comments
Closed

Trouble installing on Fedora 26 #940

rickardlindberg opened this issue Apr 3, 2020 · 19 comments
Milestone

Comments

@rickardlindberg
Copy link

I'm trying to install GToolkit on my (old) Fedora 26 system.

Here is what I did:

$ wget https://dl.feenk.com/gt/GToolkitLinux64-v0.7.859.zip
$ unzip GToolkitLinux64-v0.7.859.zip
$ cd GToolkitLinux64/
$ ./bin/gtoolkit GToolkit-64-20200402222012-3d4b7c8.image --interactive
pthread_setschedparam failed: Operation not permitted
This VM uses a separate heartbeat thread to update its internal clock
and handle events.  For best operation, this thread should run at a
higher priority, however the VM was unable to change the priority.  The
effect is that heavily loaded systems may experience some latency
issues.  If this occurs, please create the appropriate configuration
file in /etc/security/limits.d/ as shown below:

cat <<END | sudo tee /etc/security/limits.d/pharo.conf
*      hard    rtprio  2
*      soft    rtprio  2
END

and report to the pharo mailing list whether this improves behaviour.

You will need to log out and log back in for the limits to take effect.
For more information please see
https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux
primitive #loadSymbol:module: in ExternalAddress class failed
ExternalAddress class(ProtoObject)>>primitiveFailed:
ExternalAddress class(ProtoObject)>>primitiveFailed
ExternalAddress class>>loadSymbol:module:
TFExternalFunction>>validate
TFPooledExternalAsyncCall(TFExternalAsyncCall)>>validateFunction
TFPooledExternalAsyncCall(TFExternalAsyncCall)>>prepareExecution
[ semaphore := aRunner semaphorePool takeOne.
self prepareExecution.
self doExecuteOn: aRunner ] in TFPooledExternalAsyncCall>>executeOn: in Block: [ semaphore := aRunner semaphorePool takeOne....
BlockClosure>>ensure:
TFPooledExternalAsyncCall>>executeOn:
TFSameThreadRunner(TFRunner)>>invokeFunction:withArguments:
LGitLibrary>>libgit2_init
TFCalloutAPI(FFICalloutAPI)>>function:library:
TFCalloutAPI(FFICalloutAPI)>>function:module:
LGitLibrary(FFILibrary)>>ffiCall:
LGitLibrary>>libgit2_init
[ self libgit2_init.
self recordInitializationSuccess ] in LGitLibrary>>initializeLibGit2 in Block: [ self libgit2_init....
BlockClosure>>on:do:
LGitLibrary>>initializeLibGit2
LGitLibrary class>>startUp:
ClassSessionHandler>>startup:
[ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in Block: [ :each | each startup: isImageStarting ]
[ aBlock value: each ] in [ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ aBlock value: each ]
BlockClosure>>on:do:
[ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ :each | ...
Array(SequenceableCollection)>>do:
WorkingSession>>runList:do:
WorkingSession>>runStartup:
WorkingSession>>start:
SessionManager>>launchSnapshot:andQuit:
[ isImageStarting := self launchSnapshot: save andQuit: quit.
wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ isImageStarting := self launchSnapshot: save and...etc...
primitive #primitiveReleaseParameters:releaseReturn: in TFPooledExternalAsyncCall failed
TFPooledExternalAsyncCall(ProtoObject)>>primitiveFailed:
TFPooledExternalAsyncCall(ProtoObject)>>primitiveFailed
TFPooledExternalAsyncCall(TFExternalAsyncCall)>>primitiveReleaseParameters:releaseReturn:
TFPooledExternalAsyncCall(TFExternalAsyncCall)>>cleanUp
[ self cleanUp.
semaphore reset.
aRunner semaphorePool returnOne: semaphore ] in TFPooledExternalAsyncCall>>executeOn: in Block: [ self cleanUp....
Context>>resume:through:
BlockClosure>>ensure:
TFPooledExternalAsyncCall>>executeOn:
TFSameThreadRunner(TFRunner)>>invokeFunction:withArguments:
LGitLibrary>>libgit2_init
TFCalloutAPI(FFICalloutAPI)>>function:library:
TFCalloutAPI(FFICalloutAPI)>>function:module:
LGitLibrary(FFILibrary)>>ffiCall:
LGitLibrary>>libgit2_init
[ self libgit2_init.
self recordInitializationSuccess ] in LGitLibrary>>initializeLibGit2 in Block: [ self libgit2_init....
BlockClosure>>on:do:
LGitLibrary>>initializeLibGit2
LGitLibrary class>>startUp:
ClassSessionHandler>>startup:
[ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in Block: [ :each | each startup: isImageStarting ]
[ aBlock value: each ] in [ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ aBlock value: each ]
BlockClosure>>on:do:
[ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ :each | ...
Array(SequenceableCollection)>>do:
WorkingSession>>runList:do:
WorkingSession>>runStartup:
WorkingSession>>start:
SessionManager>>launchSnapshot:andQuit:
[ isImageStarting := self launchSnapshot: save andQuit: quit.
wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ isImageStarting := self launchSnapshot: save and...etc...
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self value....
External module not found
ExternalLibraryFunction(Object)>>error:
ExternalLibraryFunction(Object)>>externalCallFailed
ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments:
SkiaSurface class>>primNewRaster32PremultipliedWidth:height:
FFICalloutAPI>>function:library:
SkiaSurface class(Object)>>ffiCall:library:options:
SkiaSurface class(Object)>>ffiCall:library:
SkiaSurface class(Object)>>ffiCall:
SkiaSurface class>>primNewRaster32PremultipliedWidth:height:
SkiaSurface class>>newRasterPremultipled:
SkiaCanvas class>>extent:
SkiaCanvas class>>offscreen
BlSpartaSkiaCanvasBuilder class>>offscreen
BrGlamorousFonts class>>initializeFonts
BrGlamorousFonts class>>startUp:
ClassSessionHandler>>startup:
[ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in Block: [ :each | each startup: isImageStarting ]
[ aBlock value: each ] in [ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ aBlock value: each ]
BlockClosure>>on:do:
[ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ :each | ...
Array(SequenceableCollection)>>do:
WorkingSession>>runList:do:
WorkingSession>>runStartup:
WorkingSession>>start:
SessionManager>>launchSnapshot:andQuit:
[ isImageStarting := self launchSnapshot: save andQuit: quit.
wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ isImageStarting := self launchSnapshot: save and...etc...
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self value....
./bin/../lib/gtoolkit: Relink `/home/rick/downloads/gtoolkit/GToolkitLinux64/libGlutin.so' with `/lib64/librt.so.1' for IFUNC symbol `clock_gettime'
^C

It hangs there and nothing is shown on the screen.

I suspect it is because of the "External module not found".

@akgrant43
Copy link
Contributor

This is looking a bit like the wrong version of libgit2 is being used.

There should be a libgit2.so in the VM directory.

Could you attach the output of:

ldd libgit2.so

Thanks,
Alistair

@rickardlindberg
Copy link
Author

$ ll lib/libgit2.so
-rw-r--r--. 1 rick rick 3019447 Mar 25  2019 lib/libgit2.so

$ ldd libgit2.so
ldd: ./libgit2.so: No such file or directory

@akgrant43
Copy link
Contributor

$ ll lib/libgit2.so
-rw-r--r--. 1 rick rick 3019447 Mar 25 2019 lib/libgit2.so

Can you run ldd against this file?

@rickardlindberg
Copy link
Author

$ ld lib/libgit2.so
ld: warning: libcurl-gnutls.so.4, needed by lib/libgit2.so, not found (try using -rpath or -rpath-link)
ld: warning: libssl.so.1.0.0, needed by lib/libgit2.so, not found (try using -rpath or -rpath-link)
ld: warning: libcrypto.so.1.0.0, needed by lib/libgit2.so, not found (try using -rpath or -rpath-link)
ld: warning: cannot find entry symbol _start; not setting start address
lib/libgit2.so: undefined reference to `CRYPTO_set_locking_callback'
lib/libgit2.so: undefined reference to `sk_value'
lib/libgit2.so: undefined reference to `SSL_load_error_strings'
lib/libgit2.so: undefined reference to `curl_easy_send@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `CRYPTO_num_locks'
lib/libgit2.so: undefined reference to `curl_easy_setopt@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `sk_num'
lib/libgit2.so: undefined reference to `SSL_library_init'
lib/libgit2.so: undefined reference to `curl_easy_getinfo@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_recv@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_init@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_perform@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_cleanup@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `SSLv23_method'

@akgrant43
Copy link
Contributor

Thanks. I'm not familiar with Fedora, but a quick search shows other applications have had this problem. Do you know if you have libcurl installed? If so, it may be a case of creating a symbolic link as suggested in

The libssl and libcrypto issues should be resolved by setting:

export LD_LIBRARY_PATH=<the VM location>

After you've resolved the above, can you run and provide the output of ldd again?

Thanks,
Alistair

@rickardlindberg
Copy link
Author

$ ln -s /usr/lib64/libcurl.so.4 lib/libcurl-gnutls.so.4
$ LD_LIBRARY_PATH=./lib ld lib/libgit2.so
ld: warning: cannot find entry symbol _start; not setting start address
lib/libgit2.so: undefined reference to `curl_easy_send@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_setopt@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_getinfo@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_recv@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_init@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_perform@CURL_GNUTLS_3'
lib/libgit2.so: undefined reference to `curl_easy_cleanup@CURL_GNUTLS_3'

Perhaps I have too old version of libcurl?

@akgrant43
Copy link
Contributor

$ LD_LIBRARY_PATH=./lib ld lib/libgit2.so

ld is the linker, it should be ldd

@rickardlindberg
Copy link
Author

Sorry about that. Here is the ldd output:

$ LD_LIBRARY_PATH=./lib ldd lib/libgit2.so
ldd: warning: you do not have execution permission for `lib/libgit2.so'
lib/libgit2.so: ./lib/libcurl-gnutls.so.4: no version information available (required by lib/libgit2.so)
	linux-vdso.so.1 (0x00007ffdf45f5000)
	libcurl-gnutls.so.4 => ./lib/libcurl-gnutls.so.4 (0x00007fdac7340000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fdac7129000)
	libssl.so.1.0.0 => ./lib/libssl.so.1.0.0 (0x00007fdac6eb6000)
	libcrypto.so.1.0.0 => ./lib/libcrypto.so.1.0.0 (0x00007fdac6acd000)
	libssh2.so.1 => ./lib/libssh2.so.1 (0x00007fdac6895000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fdac668d000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdac646e000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fdac6099000)
	libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007fdac5e74000)
	libidn2.so.0 => /lib64/libidn2.so.0 (0x00007fdac5c57000)
	libpsl.so.5 => /lib64/libpsl.so.5 (0x00007fdac5a49000)
	libssl3.so => /lib64/libssl3.so (0x00007fdac57f7000)
	libsmime3.so => /lib64/libsmime3.so (0x00007fdac55d0000)
	libnss3.so => /lib64/libnss3.so (0x00007fdac52a6000)
	libnssutil3.so => /lib64/libnssutil3.so (0x00007fdac5076000)
	libplds4.so => /lib64/libplds4.so (0x00007fdac4e72000)
	libplc4.so => /lib64/libplc4.so (0x00007fdac4c6d000)
	libnspr4.so => /lib64/libnspr4.so (0x00007fdac4a2e000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fdac482a000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007fdac45dd000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007fdac42f6000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007fdac40c3000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fdac3ebf000)
	liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007fdac3cb0000)
	libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007fdac3a5e000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fdac7904000)
	libunistring.so.2 => /lib64/libunistring.so.2 (0x00007fdac36de000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007fdac34cf000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fdac32cb000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fdac30b1000)
	libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007fdac2e94000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fdac2c6c000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fdac2a36000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fdac27c4000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007fdac25c1000)

@akgrant43
Copy link
Contributor

Does it work after:

sudo chmod +x lib/*.so

@rickardlindberg
Copy link
Author

First error disappeared. The rest was the same:

$ LD_LIBRARY_PATH=./lib ldd lib/libgit2.so
lib/libgit2.so: ./lib/libcurl-gnutls.so.4: no version information available (required by lib/libgit2.so)
	linux-vdso.so.1 (0x00007ffccf1e1000)
	libcurl-gnutls.so.4 => ./lib/libcurl-gnutls.so.4 (0x00007fb407c62000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fb407a4b000)
	libssl.so.1.0.0 => ./lib/libssl.so.1.0.0 (0x00007fb4077d8000)
	libcrypto.so.1.0.0 => ./lib/libcrypto.so.1.0.0 (0x00007fb4073ef000)
	libssh2.so.1 => ./lib/libssh2.so.1 (0x00007fb4071b7000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fb406faf000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb406d90000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fb4069bb000)
	libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007fb406796000)
	libidn2.so.0 => /lib64/libidn2.so.0 (0x00007fb406579000)
	libpsl.so.5 => /lib64/libpsl.so.5 (0x00007fb40636b000)
	libssl3.so => /lib64/libssl3.so (0x00007fb406119000)
	libsmime3.so => /lib64/libsmime3.so (0x00007fb405ef2000)
	libnss3.so => /lib64/libnss3.so (0x00007fb405bc8000)
	libnssutil3.so => /lib64/libnssutil3.so (0x00007fb405998000)
	libplds4.so => /lib64/libplds4.so (0x00007fb405794000)
	libplc4.so => /lib64/libplc4.so (0x00007fb40558f000)
	libnspr4.so => /lib64/libnspr4.so (0x00007fb405350000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fb40514c000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007fb404eff000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007fb404c18000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007fb4049e5000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fb4047e1000)
	liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007fb4045d2000)
	libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007fb404380000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb408226000)
	libunistring.so.2 => /lib64/libunistring.so.2 (0x00007fb404000000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007fb403df1000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fb403bed000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fb4039d3000)
	libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007fb4037b6000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fb40358e000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fb403358000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fb4030e6000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007fb402ee3000)

@akgrant43
Copy link
Contributor

Apart from the 'no version information' message, the rest is basically what we want to see (all the dependencies of libgit2 have been found).

What happens if you try to run Pharo?

@rickardlindberg
Copy link
Author

I get the following output and then it terminates:

$ LD_LIBRARY_PATH=./lib ./bin/gtoolkit GToolkit-64-20200402222012-3d4b7c8.image --interactive
pthread_setschedparam failed: Operation not permitted
This VM uses a separate heartbeat thread to update its internal clock
and handle events.  For best operation, this thread should run at a
higher priority, however the VM was unable to change the priority.  The
effect is that heavily loaded systems may experience some latency
issues.  If this occurs, please create the appropriate configuration
file in /etc/security/limits.d/ as shown below:

cat <<END | sudo tee /etc/security/limits.d/pharo.conf
*      hard    rtprio  2
*      soft    rtprio  2
END

and report to the pharo mailing list whether this improves behaviour.

You will need to log out and log back in for the limits to take effect.
For more information please see
https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux
External module not found
ExternalLibraryFunction(Object)>>error:
ExternalLibraryFunction(Object)>>externalCallFailed
ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments:
SkiaSurface class>>primNewRaster32PremultipliedWidth:height:
FFICalloutAPI>>function:library:
SkiaSurface class(Object)>>ffiCall:library:options:
SkiaSurface class(Object)>>ffiCall:library:
SkiaSurface class(Object)>>ffiCall:
SkiaSurface class>>primNewRaster32PremultipliedWidth:height:
SkiaSurface class>>newRasterPremultipled:
SkiaCanvas class>>extent:
SkiaCanvas class>>offscreen
BlSpartaSkiaCanvasBuilder class>>offscreen
BrGlamorousFonts class>>initializeFonts
BrGlamorousFonts class>>startUp:
ClassSessionHandler>>startup:
[ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in Block: [ :each | each startup: isImageStarting ]
[ aBlock value: each ] in [ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ aBlock value: each ]
BlockClosure>>on:do:
[ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ :each | ...
Array(SequenceableCollection)>>do:
WorkingSession>>runList:do:
WorkingSession>>runStartup:
WorkingSession>>start:
SessionManager>>launchSnapshot:andQuit:
[ isImageStarting := self launchSnapshot: save andQuit: quit.
wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ isImageStarting := self launchSnapshot: save and...etc...
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self value....
Error: External module not found
ExternalLibraryFunction(Object)>>error:
ExternalLibraryFunction(Object)>>externalCallFailed
ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments:
SkiaSurface class>>primNewRaster32PremultipliedWidth:height:
FFICalloutAPI>>function:library:
SkiaSurface class(Object)>>ffiCall:library:options:
SkiaSurface class(Object)>>ffiCall:library:
SkiaSurface class(Object)>>ffiCall:
SkiaSurface class>>primNewRaster32PremultipliedWidth:height:
SkiaSurface class>>newRasterPremultipled:
SkiaCanvas class>>extent:
SkiaCanvas class>>offscreen
BlSpartaSkiaCanvasBuilder class>>offscreen
BrGlamorousFonts class>>initializeFonts
BrGlamorousFonts class>>startUp:
ClassSessionHandler>>startup:
[ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in Block: [ :each | each startup: isImageStarting ]
[ aBlock value: each ] in [ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ aBlock value: each ]
BlockClosure>>on:do:
[ :each | 
[ aBlock value: each ]
	on: Exception
	do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ :each | ...
Array(SequenceableCollection)>>do:
WorkingSession>>runList:do:
WorkingSession>>runStartup:
WorkingSession>>start:
SessionManager>>launchSnapshot:andQuit:
[ isImageStarting := self launchSnapshot: save andQuit: quit.
wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ isImageStarting := self launchSnapshot: save and...etc...
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self value....
GtInspector(BlElement)>>effectBounds:Bounds:iedWidth:height:ts: BlBlocUIManager>>debugProcess:context:label:spawningDebuggingUsing:

@a12l
Copy link

a12l commented Apr 12, 2020

I'm reposting this message here that I originally posted in my issue #967 because according to @girba this is the same issue.

Could it be related to pharo-project/pharo#4463?

New video on YouTube showing the problem

Console Output.txt

@girba
Copy link
Member

girba commented Apr 13, 2020

Thanks @inquisitiv3

@akgrant43
Copy link
Contributor

Hi @rickardlindberg & @inquisitiv3 ,

There's obviously some differences between Fedora and Ubuntu that we need to take in to account - I'm on Ubuntu 18.04.

I'll set up a Fedora 31 VM and step through the installation process and get back to you.

Thanks,
Alistair

@akgrant43
Copy link
Contributor

Hi @rickardlindberg & @inquisitiv3 ,

I've started to put together some additional help on getting Gtoolkit running on Fedora, see the attached draft PDF.

Could I also ask you to run the attached script and send me back the resulting log file (renamed to .txt so github is happy to upload it).

The script needs to be run from the Gtoolkit image directory and assumes that the VM is in the lib subdirectory.

It's less than 100 lines, so should be straightforward to check that it isn't doing anything nasty.

Thanks,
Alistair

central-HowtorunGtoolkitonFedora-140420-0658.pdf

gt_check_libs.txt

@rickardlindberg
Copy link
Author

My output:

$ ../gt_check_libs.txt 
./libSkia.so: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ./libSkia.so)
Library dependencies missing
Output saved to GtLibs-2020-04-14.log

rick@x220 | ~/downloads/gtoolkit/GToolkitLinux64
$ cat GtLibs-2020-04-14.log 
Run: Tue Apr 14 12:20:46 CEST 2020

Image directory:

total 309664
drwxr-xr-x. 2 rick rick      4096 Apr  3 13:29 bin
-rw-rw-r--. 1 rick rick      2613 Apr  3 13:29 crash.dmp
drwxr-xr-x. 3 rick rick      4096 Apr  3 00:21 gt-extra
-rw-rw-r--. 1 rick rick        54 Apr 14 12:20 GtLibs-2020-04-14.log
-rwxr-xr-x. 1 rick rick      2130 Feb 28 09:08 gtoolkit
-rw-r--r--. 1 rick rick  28302963 Apr 14 12:19 GToolkit-64-20200402222012-3d4b7c8.changes
-rw-r--r--. 1 rick rick 226661296 Apr  3 00:21 GToolkit-64-20200402222012-3d4b7c8.image
drwxr-xr-x. 2 rick rick      4096 Apr  3 19:58 lib
-rwxr-xr-x. 1 rick rick   2831336 Apr  3 00:21 libBoxer.so
-rwxr-xr-x. 1 rick rick   2777864 Apr  3 00:21 libClipboard.so
-rwxr-xr-x. 1 rick rick   3686648 Apr  3 00:21 libGleam.so
-rwxr-xr-x. 1 rick rick   5482056 Apr  3 00:21 libGlutin.so
-rwxr-xr-x. 1 rick rick   9064736 Apr  3 00:21 libSkia.so
-rw-r--r--. 1 rick rick  37956046 Apr  3 00:21 Pharo8.0-32bit-a153e04.sources
-rw-rw-r--. 1 rick rick    267262 Apr 14 12:19 PharoDebug.log
drwxrwxr-x. 3 rick rick      4096 Apr  3 08:54 pharo-local

lib directory:

total 24204
-rwxr-xr-x. 1 rick rick   12272 Feb 28 09:10 gtoolkit
-rwxr-xr-x. 1 rick rick  298504 Feb 28 09:10 libB2DPlugin.so
-rwxr-xr-x. 1 rick rick  182184 Feb 28 09:10 libBitBltPlugin.so
-r-xr-xr-x. 1 rick rick 2258490 Mar 25  2019 libcrypto.so.1.0.0
lrwxrwxrwx. 1 rick rick      23 Apr  3 19:58 libcurl-gnutls.so.4 -> /usr/lib64/libcurl.so.4
-rwxr-xr-x. 1 rick rick   32912 Feb 28 09:10 libDSAPrims.so
-rwxr-xr-x. 1 rick rick   51024 Dec 17 10:50 libffi.so
-rwxr-xr-x. 1 rick rick   51024 Dec 17 10:50 libffi.so.7
-rwxr-xr-x. 1 rick rick   51024 Dec 17 10:50 libffi.so.7.1.0
-rwxr-xr-x. 1 rick rick   88208 Feb 28 09:10 libFileAttributesPlugin.so
-rwxr-xr-x. 1 rick rick  136528 Feb 28 09:10 libFilePlugin.so
-rwxr-xr-x. 1 rick rick 3019447 Mar 25  2019 libgit2.so
-rwxr-xr-x. 1 rick rick 3019447 Mar 25  2019 libgit2.so.0.25.1
-rwxr-xr-x. 1 rick rick 3019447 Mar 25  2019 libgit2.so.25
-rwxr-xr-x. 1 rick rick 3462736 Feb 28 09:10 libGToolkitVMCore.so
-rwxr-xr-x. 1 rick rick  160608 Feb 28 09:10 libIA32ABI.so
-rwxr-xr-x. 1 rick rick   51520 Feb 28 09:10 libJPEGReaderPlugin.so
-rwxr-xr-x. 1 rick rick  912656 Feb 28 09:10 libJPEGReadWriter2Plugin.so
-rwxr-xr-x. 1 rick rick   84072 Feb 28 09:10 libLargeIntegers.so
-rwxr-xr-x. 1 rick rick   54232 Feb 28 09:10 libLocalePlugin.so
-rwxr-xr-x. 1 rick rick   40496 Feb 28 09:10 libMiscPrimitivePlugin.so
-rwxr-xr-x. 1 rick rick  144448 Dec 17 10:50 libPThreadedPlugin.so
-rwxr-xr-x. 1 rick rick 1683021 Mar 25  2019 libSDL2-2.0.so.0
-rwxr-xr-x. 1 rick rick 1683021 Mar 25  2019 libSDL2-2.0.so.0.7.0
-rwxr-xr-x. 1 rick rick 1683021 Mar 25  2019 libSDL2.so
-rwxr-xr-x. 1 rick rick   23616 Feb 28 09:10 libSecurityPlugin.so
-rwxr-xr-x. 1 rick rick  210168 Feb 28 09:10 libSocketPlugin.so
-rwxr-xr-x. 1 rick rick  153624 Feb 28 09:10 libSqueakFFIPrims.so
-rwxr-xr-x. 1 rick rick   91664 Feb 28 09:10 libSqueakSSL.so
-rwxr-xr-x. 1 rick rick  256489 Mar 25  2019 libssh2.so
-rwxr-xr-x. 1 rick rick  256489 Mar 25  2019 libssh2.so.1
-rwxr-xr-x. 1 rick rick  256489 Mar 25  2019 libssh2.so.1.0.1
-r-xr-xr-x. 1 rick rick  521853 Mar 25  2019 libssl.so
-r-xr-xr-x. 1 rick rick  521853 Mar 25  2019 libssl.so.1.0.0
-rwxr-xr-x. 1 rick rick   28080 Feb 28 09:10 libSurfacePlugin.so
-rwxr-xr-x. 1 rick rick   29592 Dec 17 10:50 libTestLibrary.so
-rwxr-xr-x. 1 rick rick  151648 Feb 28 09:10 libUnixOSProcessPlugin.so
-rwxr-xr-x. 1 rick rick   27112 Feb 28 09:10 libUUIDPlugin.so

libSkia.so

./libSkia.so: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ./libSkia.so)
	linux-vdso.so.1 (0x00007ffd6f9a4000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f014fca0000)
	libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f014fa5b000)
	libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f014f7ab000)
	libGL.so.1 => /lib64/libGL.so.1 (0x00007f014f51f000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f014f31b000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f014f113000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f014eef4000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f014ecdd000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f014e908000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f0150776000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f014e5f2000)
	libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f014e3bf000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f014e1a8000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f014df98000)
	libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f014dd65000)
	libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f014db33000)
	libX11.so.6 => /lib64/libX11.so.6 (0x00007f014d7f5000)
	libXext.so.6 => /lib64/libXext.so.6 (0x00007f014d5e3000)
	libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f014d32d000)
	libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f014d105000)
	libXau.so.6 => /lib64/libXau.so.6 (0x00007f014cf01000)

lib/libgit2.so

lib/libgit2.so: /home/rick/downloads/gtoolkit/GToolkitLinux64/lib/libcurl-gnutls.so.4: no version information available (required by lib/libgit2.so)
	linux-vdso.so.1 (0x00007ffd56771000)
	libcurl-gnutls.so.4 => /home/rick/downloads/gtoolkit/GToolkitLinux64/lib/libcurl-gnutls.so.4 (0x00007f50c8923000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f50c870c000)
	libssl.so.1.0.0 => /home/rick/downloads/gtoolkit/GToolkitLinux64/lib/libssl.so.1.0.0 (0x00007f50c8499000)
	libcrypto.so.1.0.0 => /home/rick/downloads/gtoolkit/GToolkitLinux64/lib/libcrypto.so.1.0.0 (0x00007f50c80b0000)
	libssh2.so.1 => /home/rick/downloads/gtoolkit/GToolkitLinux64/lib/libssh2.so.1 (0x00007f50c7e78000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f50c7c70000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f50c7a51000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f50c767c000)
	libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007f50c7457000)
	libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f50c723a000)
	libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f50c702c000)
	libssl3.so => /lib64/libssl3.so (0x00007f50c6dda000)
	libsmime3.so => /lib64/libsmime3.so (0x00007f50c6bb3000)
	libnss3.so => /lib64/libnss3.so (0x00007f50c6889000)
	libnssutil3.so => /lib64/libnssutil3.so (0x00007f50c6659000)
	libplds4.so => /lib64/libplds4.so (0x00007f50c6455000)
	libplc4.so => /lib64/libplc4.so (0x00007f50c6250000)
	libnspr4.so => /lib64/libnspr4.so (0x00007f50c6011000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f50c5e0d000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f50c5bc0000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f50c58d9000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f50c56a6000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f50c54a2000)
	liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f50c5293000)
	libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f50c5041000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f50c8ee7000)
	libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f50c4cc1000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f50c4ab2000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f50c48ae000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f50c4694000)
	libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f50c4477000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f50c424f000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f50c4019000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f50c3da7000)
	libfreebl3.so => /lib64/libfreebl3.so (0x00007f50c3ba4000)

@bjorn3
Copy link

bjorn3 commented Apr 14, 2020

./libSkia.so: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ./libSkia.so)

It seems that your glibc version is older than the version which was used to compile Skia.

@akgrant43
Copy link
Contributor

Hi @rickardlindberg ,

As @bjorn3 says, the version of glibc in Fedora 26 is too old for libSkia. We tried building it on an earlier version of glibc, but libSkia uses features from the newer glibc, so unfortunately you'll need to upgrade to the current Fedora release.

We've successfully run Gtoolkit in Fedora 31, so hopefully you can continue there.

I'll close this issue since it is specific to Fedora 26, but if you have any other questions, please let me know.

Thanks!
Alistair

@girba girba added this to the v0.7.0 milestone Apr 20, 2020
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

No branches or pull requests

5 participants