HACKERALERT / Picocrypt

A very small, very simple, yet very secure encryption tool.
GNU General Public License v3.0
2.44k stars 146 forks source link

Not work in Debian 11 #143

Closed JackJeisly closed 1 year ago

JackJeisly commented 1 year ago

Hello, the Appimage 1.28-1.31 not work in Debian 11+ LXDE + nvidia-legacy-390xx. I get an error:

$ ./Picocrypt.AppImage
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  155 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x3000009
  Serial number of failed request:  154
  Current serial number in output stream:  154

When I try build from source code, I get:

root@deeph:/home/userh/Downloads/Picocrypt-1.31/src# go build -ldflags="-s -w" Picocrypt.go
/root/go/pkg/mod/github.com/!h!a!c!k!e!r!a!l!e!r!t/giu@v0.5.7-0.20221117223150-211c1da061d9/MasterWindow.go:5:2: package embed is not in GOROOT (/usr/lib/go-1.15/src/embed)
And yes, I don't find "embed" in /usr/lib/go-1.15/src/

Maybe problem with nvidia-legacy-390xx driver? But I need it fir normal work with two monitors.

Thank advance!

HACKERALERT commented 1 year ago

Hmm, I'm not sure what's happening. I have the AppImage set to use software rendering, so the GPU shouldn't matter. Can you try to install these packages and then try again? Thanks. libc6 libgcc-s1 libgl1 libgtk-3-0 libstdc++6 libx11-6

HACKERALERT commented 1 year ago

If that doesn't work, you can try building from source. The issue you are getting is because you are using an older version of Go (1.15) instead of the latest. Do the following to get Go up to date: sudo apt-get install curl git mercurial make binutils bison gcc build-essential bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) Close your terminal and in a new one: gvm install go1.19.4 (this command will take a while) gvm use go1.19.4 --default

Go should now be on 1.19.4, you can verify this with go version. Now you can run go build again and Picocrypt will build.

JackJeisly commented 1 year ago

libc6 libgcc-s1 libgl1 libgtk-3-0 libstdc++6 libx11-6

It's all installed... Looks that problem in not it...

apt install libc6 libgcc-s1 libgl1 libgtk-3-0 libstdc++6 libx11-6
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libgcc-s1 is already the newest version (10.2.1-6).
libstdc++6 is already the newest version (10.2.1-6).
libc6 is already the newest version (2.31-13+deb11u5).
libgtk-3-0 is already the newest version (3.24.24-4+deb11u2).
libgtk-3-0 set to manually installed.
libgl1 is already the newest version (1.3.2-1).
libgl1 set to manually installed.
libx11-6 is already the newest version (2:1.7.2-1).
libx11-6 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
JackJeisly commented 1 year ago

The plan B doesn't work too... (

# apt-get install curl git mercurial make binutils bison gcc build-essential
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
binutils is already the newest version (2.35.2-2).
binutils set to manually installed.
build-essential is already the newest version (12.9).
build-essential set to manually installed.
gcc is already the newest version (4:10.2.1-1).
git is already the newest version (1:2.30.2-1).
make is already the newest version (4.3-4.1).
make set to manually installed.
The following additional packages will be installed:
  mercurial-common
Suggested packages:
  bison-doc kdiff3 | kdiff3-qt | kompare | meld | tkcvs | mgdiff qct
  python3-mysqldb
The following NEW packages will be installed:
  bison curl mercurial mercurial-common
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,450 kB of archives.
After this operation, 19.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bullseye/main amd64 bison amd64 2:3.7.5+dfsg-1 [1,104 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 curl amd64 7.74.0-1.3+deb11u3 [269 kB]
Get:3 http://deb.debian.org/debian bullseye/main amd64 mercurial-common all 5.6.1-4 [2,726 kB]
Get:4 http://deb.debian.org/debian bullseye/main amd64 mercurial amd64 5.6.1-4 [351 kB]
Fetched 4,450 kB in 1s (4,711 kB/s)
Selecting previously unselected package bison.
(Reading database ... 293833 files and directories currently installed.)
Preparing to unpack .../bison_2%3a3.7.5+dfsg-1_amd64.deb ...
Unpacking bison (2:3.7.5+dfsg-1) ...
Selecting previously unselected package curl.
Preparing to unpack .../curl_7.74.0-1.3+deb11u3_amd64.deb ...
Unpacking curl (7.74.0-1.3+deb11u3) ...
Selecting previously unselected package mercurial-common.
Preparing to unpack .../mercurial-common_5.6.1-4_all.deb ...
Unpacking mercurial-common (5.6.1-4) ...
Selecting previously unselected package mercurial.
Preparing to unpack .../mercurial_5.6.1-4_amd64.deb ...
Unpacking mercurial (5.6.1-4) ...
Setting up mercurial-common (5.6.1-4) ...
Setting up bison (2:3.7.5+dfsg-1) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
Setting up curl (7.74.0-1.3+deb11u3) ...
Setting up mercurial (5.6.1-4) ...

Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version
Processing triggers for man-db (2.9.4-2) ..

# bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
Cloning from https://github.com/moovweb/gvm.git to /root/.gvm
Created profile for existing install of Go at "/usr/lib/go-1.15"
Installed GVM v1.0.22

Please restart your terminal session or to get started right away run
 `source /root/.gvm/scripts/gvm`

# gvm install go1.19.4
Downloading Go source...
Installing go1.19.4...
 * Compiling...
go1.19.4 successfully installed!

# gvm use go1.19.4 --default
Now using version go1.19.4

# go version
go version go1.19.4 linux/amd64

# go build -ldflags="-s -w" Picocrypt.go
go: downloading github.com/HACKERALERT/crypto v0.0.0-20220905152506-aa0dd62d8f67
go: downloading github.com/HACKERALERT/giu v0.5.7-0.20221117223150-211c1da061d9
go: downloading github.com/HACKERALERT/dialog v0.0.0-20220508022504-af3bc34fe379
go: downloading github.com/HACKERALERT/imgui-go v1.12.1-0.20221117223032-1d1c00423178
go: downloading github.com/HACKERALERT/infectious v0.0.0-20220905152109-2c37b99f37ff
go: downloading github.com/HACKERALERT/serpent v0.0.0-20210716182301-293b29869c66
go: downloading github.com/HACKERALERT/zxcvbn-go v0.0.0-20220508022013-fa924b767f89
go: downloading github.com/HACKERALERT/sys v0.0.0-20220905150735-46e319fb60c9
go: downloading github.com/HACKERALERT/glfw/v3.3/glfw v0.0.0-20221117222155-c08d79e41abe
go: downloading github.com/HACKERALERT/mainthread v0.0.0-20211027212305-2ec9e701cc14
go: downloading github.com/HACKERALERT/gl v0.0.0-20220507232930-73af36e130d3

With Go 1.19 file was compiled, but....

# ./Picocrypt
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  155 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x1800009
  Serial number of failed request:  154
  Current serial number in output stream:  154
HACKERALERT commented 1 year ago

Hmm, that's unfortunate. If neither of those two methods work, then it's most likely an Nvidia driver issue as you suspected. There's not much I can do about that, sorry!

JackJeisly commented 1 year ago

Looks, yes, this problem is with the proprietary Nvidia drivers. I found a very old thread on https://superuser.com/questions/106056/force-software-based-opengl-rendering/210381#210381 , where said that:

Alternately, you can set LIBGL_ALWAYS_SOFTWARE=1, which will only affect programs started with that environment variable, not the entire system.

Both these changes may not work if you're using the binary NVidia drivers, which supply their own libGL.
JackJeisly commented 1 year ago

Anyway, thanks for trying to help. Happy New Year and good luck!

HACKERALERT commented 1 year ago

No problem, I couldn't really help though 😅 . Hopefully Nvidia gets their drivers together this year. Happy new year!