Giter Club home page Giter Club logo

masterq32 / kristall Goto Github PK

View Code? Open in Web Editor NEW
724.0 17.0 43.0 22.04 MB

Graphical small-internet client for windows, linux, MacOS X and BSDs. Supports gemini, http, https, gopher, finger.

Home Page: https://kristall.random-projects.net/

License: GNU General Public License v3.0

C++ 94.63% QMake 1.50% Makefile 0.70% Shell 0.77% Dockerfile 0.15% Batchfile 0.49% Awk 0.23% CMake 1.53%
gemini-protocol browser qt5 qt5-gui gopher gopher-client gopher-protocol finger finger-protocol

kristall's Introduction

Kristall

A high-quality visual cross-platform gemini browser.

Preview Image

Features

Screenshots

Generates Outlines

Outline Generation

Fully Customizable Site Theme

Site Theme

Build/Install Instructions

Note: master branch is the latest development status (sometimes called "nightly") whereas the tagged versions are the stable releases.

If you want to build a stable experience, check out the latest version and build that!

See BUILDING.md

Credits

  • Thanks to James Tomasino for helping out with understanding gopher
  • Thanks to Vane Vander for providing the Haiku build instructions
  • Thanks to James Tomasino, styan and tiwesdaeg for improving the Makefile
  • Thanks to Alex Naskos for providing windows build instructions
  • Thanks to tiwesdaeg for improving the application icon

Bundled Dependencies

Changelog

See src/about/updates.gemini

Roadmap

See ROADMAP.md

License

Kristall is released under the GPLv3 or (at your option) any later version. See LICENSE as well

kristall's People

Contributors

a-andreyev avatar acidus99 avatar alexnask avatar bkmgit avatar carmina16 avatar charles2910 avatar danielledeleo avatar davidmon21 avatar dimkr avatar entropic77 avatar goshhhy avatar gregbair avatar gymnasiast avatar heyitsols avatar hyphenrf avatar ifreund avatar jake-87 avatar jamestomasino avatar jnse avatar koyuawsmbrtn avatar ljcooke avatar makew0rld avatar masterq32 avatar omnivagant avatar paper42 avatar ryliejamesthomas avatar severak avatar swinslow avatar tastytea avatar xavidcr92 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kristall's Issues

Can't re-dock document outline window

I accidentally unpinned the document outline into a floating window, and there doesn't seem to be any way to re-dock it. It remains a floating window even after closing and re-starting the application.

Debian Build Works (with hints for rank amateurs like me)

This probably doesn't belong here, but on the build instructions page, you asked for confirmation of whether the build instructions work on Debian. They do on the current stable (10.6).

"Notes for Ubuntu

Supported Versions: 18.04, 20.04 Unsupported Versions: 16.04

Required packages
    qt5-default
    qt5-qmake
    qtmultimedia5-dev
    libqt5svg5-dev
    libssl-dev
    make
    g++

These notes are probably also correct for Debian (someone please verify)"

Verified. Install all of the above packages.

As root:

clone the repo: "git clone https://github.com/MasterQ32/kristall.git"

Enter the directory

Enter the commands "make" and then "make install"

As user:

start the program by typing "kristall"

It does create a .desktop file, but I'm not seeing the item in my menu, so I'll have to have a look at it later.

Edit: move the Kristall.desktop file from /usr/local/share/applications to /home/yourusername/.local/share/applications and as root enter: chown yourusername Kristall.desktop

Getting timeouts when requesting certain gemini servers

Today, after building 7fbf49b on my Mac (big thanks to @jagger27 for the Makefile update), I'm getting timeouts when making requests to certain servers. Last night, I could connect to these servers with Kristall, and I'm able to connect to them with Solderpunk's bare-bones python client as well as using portal.mozz.us.

Some examples that are failing with my Kristall build:
gemini://zaibatsu.circumlunar.space
gemini://vi.rs

Some examples that do work with Kristall:
gemini://gemini.circumlunar.space/
gemini://gemini.conman.org
gemini://gus.guru

Not sure if there's some new quirk in my build environment that popped up (something strange with OpenSSL?) or perhaps if something changed about the servers that made them unreachable with Kristall. I've tried stepping through with a debugger, but I haven't seen anything obvious so far.

Only the first part of gopher documents is displayed

Version: 0c57280
Qt version: 5.14.2

Problem

The most part of gopher documents is cut off. This doesn't happen for “Table of contents”¹.

The screenshot shows the same URL² in Castor(left) and Kristall(right).

Screenshot

Log

% ./kristall gopher://gemini.circumlunar.space:70/0/docs/specification.txt
QMetaObject::connectSlotsByName: No matching signal for on_tab_titleChanged(QString)
QMetaObject::connectSlotsByName: No matching signal for on_tab_locationChanged(QUrl)
QMetaObject::connectSlotsByName: No matching signal for on_tab_fileLoaded(qlonglong,QString,int)
QMetaObject::connectSlotsByName: No matching signal for on_focus_inputbar()
QMetaObject::connectSlotsByName: No matching signal for on_media_positionChanged(qlonglong)
QMetaObject::connectSlotsByName: No matching signal for on_media_playbackChanged(QMediaPlayer::State)
Loaded 524 bytes of type "text/plain"

¹ Like gopher://gopher.club:70/1/phlogs/
² gopher://gemini.circumlunar.space:70/0/docs/specification.txt

Suggestion: Separate settings for horizontal and vertical page margins

Currently, Kristall's "page margin" setting affects all sides of the page equally.

My suggestion is to separate the page margin setting into two (or four?) settings, with horizontal and vertical margin.

This will allow people to control how wide their text should be independently of how much they have to scroll in order to actually see text.

(Also related: "maximum text width" and line spacing options, but i am not entirely sure if they should be separate issues or one big issue. Not sure how you all do things here)

Bullet lists aren't themable

Hi!

Thank you for making kristall, and making binary builds easily accessible ^_^

I made a custom theme and noticed the bullets in bullet lists weren't themeable, causing a clash with darker themes. See screenshot below
image

Support shortcuts

Some HTTP websites are mirrored on gemini and gopher by different people on different servers which makes them more accessible and more lightweight. These mirrors are hard or slow to find. But I think there could be a system of shortcuts like this:

If the user types hackernews to the url bar, kristall will look at its database of shortcuts and if one of them matches, it will redirect to that site. Users should be able to create their own shortcuts, but there could also be a public list of known mirrors hosted on github where everyone could contribute to it. I suggest the following really simple plain-text format for shortcuts:

<shortcut><space><url>

everything after the <url> should be ignored

for example:

hackernews gopher://hngopher.com/1/live/p1/

In this case it doesn't really matter, hngopher is not that hard to remember, but most mirrors are not on a separate domain.

Emoji are shown as “question marks”

Example from gemini.circumlunar.space¹, Kristall vs. Castor:

screenshot_2020-06-18T17-52-43
screenshot_2020-06-18T17-53-25

The response line is 20 text/gemini and the charset seems to be UTF-8 (my terminal displays it correctly).

The font is “Source Serif Pro”, which doesn't support “😞”, in both browsers. The emoji in Castor is taken from “Noto Emoji”, as configured via Fontconfig.

¹ gemini://gemini.circumlunar.space/~solderpunk/cornedbeef/why-not-just-use-a-subset-of-http-and-html.gmi

idea: show page titles in tabs

Currently it's shows full URL in tabs. This may be too long/unreadable.

I protopose this this way of showing page titles of tabs:

  1. HTML <title> or first heading when rendering gemtext
  2. filename of file (or maybe full URL, I am not sure)

Confused by MacOS installation instructions

I am trying to install Kristall on MacOS/Catalina, but the instructions are pretty cryptic:

"Use the Makefile to build build/kristall instead of the default target. There is currently no auto-recognition of MacOS (where qmake will output a kristall.app file), so you have to be a bit more manual."

I cloned the Kristall repo and know how to edit Makefile. I also installed qt5 and qt-editor via Homebrew. But now I am stuck - apparently I need to install "widgets and network modules," which I have no idea how to do, while it isn't at all clear how I have to edit the Makefile.

Is this app only for experienced qt users? If not, I'd be grateful for some more helpful instructions.

idea: open with default browser

Hi,
I have idea:

For external HTML links we should have item "open with default browser..." in right click menu. This will be useful for example for linking to javascript apps.

Start page isn't counted on history

What the title says. It isn't something you might notice if your start page is set to about:favourites (the default), but basically it means you can't hit back if you clicked on the wrong link.

Emojis don't display

This is with the latest master, on Arch Linux. I just get boxes for most emojis.

Feature request: sorting columns for certificate list

When opening the settings panel and viewing the list of certificates (to revoke one), there is no option to change the sorting of the columns to use the Host Name field, which would be helpful when looking for a specific one. As my list grows longer and longer finding one to revoke is taking significantly more time.

I'd suggest that clicking on one of the column headers sort the list by that column in asceding/descending (toggle) mode. I haven't looked it up, but I'm willing to bet there's an out-of-the-box behavior for that using Qt.

error on "make install"

workdir/kristall - [tags/V0.3] » sudo make install
[sudo] password for sebastian:            
# Install icons
install -m 644 src/icons/kristall.svg /usr/local/share/icons/hicolor/scalable/apps/net.random-projects.kristall.svg
install: cannot create regular file '/usr/local/share/icons/hicolor/scalable/apps/net.random-projects.kristall.svg': No such file or directory
make: *** [Makefile:24: install] Error 1
workdir/kristall - [tags/V0.3] » 

Github Action - Building Windows

The Windows build is getting an error because it can't see the cl compiler. All you have to do to fix this is call vcvars64 (or vcvars32) batch file that microsoft provides to setup the compiler environment.

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat

Add version command

It'd be nice to be able to run kristall --version and get a response like kristall v0.3-b166338, as right now it's hard to know what version of the binary I'm using.

Unable to build 0.3 on Ubuntu 20.04.

Hello, I'm unable to build 0.3 on Ubuntu 20.02. I get the following error message:

$ cat /etc/os-release                                                                                                                   2 ↵
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ make
mkdir -p build
cd build && qmake ../src/kristall.pro && make 
make[1]: Entering directory 'xxx/kristall-0.3/build'
g++ -c -pipe -Wno-unused-parameter -Werror=return-type -std=c++17 -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../src -I. -I../lib/luis-l-gist -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtSvg -isystem /usr/include/x86_64-linux-gnu/qt5/QtMultimediaWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtMultimedia -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o abouthandler.o ../src/abouthandler.cpp
In file included from ../src/ssltrust.hpp:9:0,
                 from ../src/kristall.hpp:9,
                 from ../src/abouthandler.cpp:2:
../src/trustedhostcollection.hpp:7:20: fatal error: optional: No such file or directory
compilation terminated.
make[1]: *** [Makefile:960: abouthandler.o] Error 1
make[1]: Leaving directory 'xxx/kristall-0.3/build'
make: *** [Makefile:20: build/kristall] Error 2
$

Any idea what I might be missing? Thanks in advance!

Client does not work with ed25519 server certificate

The Go-based clients appear to have support through the standard library.

The certificate and key were generated and self signed with OpenSSL 1.1.1g:
openssl req -x509 -newkey ed25519 -keyout key.pem -out cert.pem -days 365 -subj '/CN=localhost' -nodes

I tested it locally with a custom server running the Gig framework.
[gig-debug] gemini: tls: peer doesn't support any of the certificate's signature algorithms

I'll poke around in src/certificatehelper.cpp and some other places (not too familiar with it yet) to see if I can't get some other types working!

Light icons for dark themes

I'm using the OS Default theme and the black icons can be hard to see depending on the area:

Screenshot_20200622_132541

An option to switch icons to a white variant for dark theme users would help.

kristall does not take arguments

Version: 425f9d4
Qt version: 5.14.2
OS: Gentoo Linux

I tried to get kristall to open a page immediately after starting with kristall gemini://random-projects.net/blog/2020-06-07-kristall.gemini but it ignored my request.

Start page resets to default setting

Using latest git version on Arch Linux.

I changed the default start page on the settings, but ever since updating to yesterday's commits the browser resets it back to about:favourites every time I close/open it again. Other settings save properly.

Code formatting not working properly (ascii, monospaced fonts)

Trying to make ASCII art work (mostly for titles and make them a bit more catchy, lots of gemini sites use them) I tried to add one for my gemini site and found out that the notation "```" doesn't work well in Kristall. I have to say I modified my Kristall so that it used a monospace font. This is the example I'm using:

https://alex.flounder.online/example.gmi

    ,... ,...                                                
  .d' ".d' ""                           mm                   
  dM`  dM`                              MM                   
 mMMmmmMMm`7MM  `7MM  .gP"Ya `7MMpMMMbmmMMmm .gP"Ya  ,pP"Ybd 
  MM   MM   MM    MM ,M'   Yb  MM    MM MM  ,M'   Yb 8I   `" 
  MM   MM   MM    MM 8M""""""  MM    MM MM  8M"""""" `YMMMa. 
  MM   MM   MM    MM YM.    ,  MM    MM MM  YM.    , L.   I8 
.JMML.JMML. `Mbod"YML.`Mbmmd'.JMML  JMML`Mbmo`Mbmmd' M9mmmP'

I assume it should look well in Kristall too but it doesn't.

Feature Request: port kristall to the Genode operating system framework

I love Genode - the Chromium browser via Falkon is beautiful, and I can spin up a virtual machine for more complicated stuff. What's really missing is a gopher/gemini browser, and kristall seems like the ideal choice as Genode has excellent support for Qt-based applications. purrrrhaps this could be done at some point in the future?

HTML rendering limitations?

I just gave Kristall 0.3 a whirl after learning about it yesterday (running the Linux AppImage if that helps), and couldn't help but notice that it renders certain web pages just fine, but shows only a blank screen for others. Contrast my recent essay versus my homepage.

It would be good to know what trips Kristall in the latter case. Thought it might be from my use of HTML5 structural elements, but the footer is rendered just fine in the former example. Thank you.

Add libssl-dev to "Notes for Ubuntu 20.04" subsection

The build failed on a fairly pristine install of Ubuntu Mate 20.04. Installing the libssl-dev package fixed it.
It's possible this is specific to the Mate flavour of Ubuntu, but having this as a recommended addition it won't hurt for all flavours.

fatal error: optional: No such file or directory (Debian)

I'm following the steps to build from source and after 'make' I got:

fatal error: optional: No such file or directory

image

I know that isn't directly related to Kristall but it can be worth for other users trying to build in the future

I'm thinking about possible workarounds to that. My early test didn't fix the problem like modify the code to #include <experimental/optional> that produces another kind of errors...

image

Maybe the solution will be updating my g++ (from 6.x to 7.x) but I'd like to check first if somebody here has a better idea.

Thanks

Makefile: do not assume directories exist

Hi! Build is going well until it tries to install icons.

On my system, /usr/share/icons/hicolor/ and subdirectories do not exist.
The simple workaround is obviously to create

share/icons/hicolor/scalable/apps
share/icons/hicolor/16x16/apps
share/icons/hicolor/32x32/apps
share/icons/hicolor/64x64/apps
share/icons/hicolor/128x128/apps
share/applications

But if those could be created in the makefile it would maybe help others.

Thanks!

Protocol Violation error on conforming server response

Hey! On a non existent resource request, my Gemini server responds with the following:

51 \r\l

The Gemini protocol states, that

<STATUS><SPACE><META><CR><LF>

Status codes beginning with 5 are PERMANENT FAILURE status codes, meaning:

"The request has failed. There is no response body. The nature of the failure is permanent, i.e. identical future requests will reliably fail for the same reason. The contents of META may provide additional information on the failure, and should be displayed to human users. Automatic clients such as aggregators or indexing crawlers should not repeat this request."

As of my understanding, the META may be empty, so "51 \r\l" is a valid response.
But Kristall shows the following error message:

Protocol Violation
The server did not serve the content you requested in a well-defined manner and Kristall could not process the data sent.
Line is too short for valid protocol

<hr> elements on HTML sites blend in on dark themes

I use a very dark color scheme, so the default black color for the <hr> element blends in. I don't actually use kristall to browse http websites, but I am using it alongside Lynx to see how my site looks on HTML-only browsers, which is how I noticed:

Screenshot_20200718_211357

(Link censored since the site is also for my artwork and the content is inappropriate.)

I think having it be the same color as one of the other elements would be a good fix (maybe either the text or the blockquote background).

Media type error message uses OS text color

The "unsupported media type" error is shown in the OS's text color, instead of using the theme's text color. In my case, the result is light text on a light background.

  • OS: macOS 10.14
  • UI Theme: OS Default (light text on dark background)
  • Browser style: dark text #2D2D2D, light background #E8E6DF

kristall-bug

Build on Fedora 32

To get the Makefile to work on Fedora 32, the command in the Makefile needs to be changed from qmake to qmake-qt5

13 errors on MacOS build

Downloaded updated repo > reinstalled qt and openssl with Homebrew > make build/kristall > 13 error messages (below)

In file included from dialogs/certificateselectiondialog.cpp:8:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:1638:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:318:9: error:
no member named 'signbit' in the global namespace
using ::signbit;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:319:9: error:
no member named 'fpclassify' in the global namespace
using ::fpclassify;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:320:9: error:
no member named 'isfinite' in the global namespace; did you mean 'finite'?
using ::isfinite;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:749:12: note:
'finite' declared here
extern int finite(double)
^
In file included from dialogs/certificateselectiondialog.cpp:8:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:1638:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:321:9: error:
no member named 'isinf' in the global namespace
using ::isinf;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:322:9: error:
no member named 'isnan' in the global namespace
using ::isnan;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:323:9: error:
no member named 'isnormal' in the global namespace
using ::isnormal;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:324:9: error:
no member named 'isgreater' in the global namespace; did you mean
'qGreater'?
using ::isgreater;
~~^
/usr/local/opt/qt/include/QtCore/qalgorithms.h:163:43: note: 'qGreater' declared
here
class QT_DEPRECATED_X("Use std::greater") qGreater
^
In file included from dialogs/certificateselectiondialog.cpp:8:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:1638:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:325:7: error:
no member named 'isgreaterequal' in the global namespace; did you mean
'::std::greater_equal'?
using ::isgreaterequal;
^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/functional:757:29: note:
'::std::greater_equal' declared here
struct _LIBCPP_TEMPLATE_VIS greater_equal : binary_function<_Tp, _Tp, bool>
^
In file included from dialogs/certificateselectiondialog.cpp:8:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:1638:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:326:9: error:
no member named 'isless' in the global namespace
using ::isless;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:327:9: error:
no member named 'islessequal' in the global namespace
using ::islessequal;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:328:9: error:
no member named 'islessgreater' in the global namespace
using ::islessgreater;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:329:9: error:
no member named 'isunordered' in the global namespace
using ::isunordered;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:330:9: error:
no member named 'isunordered' in the global namespace
using ::isunordered;
~~^
13 errors generated.
make: *** [certificateselectiondialog.o] Error 1

HTML rendering errors

  • document outline is not created
  • some CSS is taken into account when rendering HTML (which looks ugly with custom style settings)

Error with non-responding connections

When hosts don't respond, the tab is broken. Repro: Drop all packets in the firewall, not reject.

Fix by kevinsan:

diff --git a/src/protocols/gopherclient.cpp b/src/protocols/gopherclient.cpp
index 63c35ca..8381a3c 100644
--- a/src/protocols/gopherclient.cpp
+++ b/src/protocols/gopherclient.cpp
@@ -64,6 +64,12 @@ bool GopherClient::isInProgress() const
 bool GopherClient::cancelRequest()
 {
     was_cancelled = true;
+
+    if(socket.state() != QTcpSocket::UnconnectedState) {
+        socket.disconnectFromHost();
+        socket.waitForDisconnected(1500);
+    }
+
     socket.close();
     body.clear();
     return true;

Bus error (core dumped)

Getting this same error when trying both the release and master branch (Arch linux):

Bus error (core dumped)

Here's some info from the core dump:

master branch:

Stack trace of thread 2856621:
#0  0x00007f88d4f6774c gst_update_registry (libgstreamer-1.0.so.0 >
#1  0x00007f88d4efc0af n/a (libgstreamer-1.0.so.0 + 0x390af)
#2  0x00007f88d932a4c8 g_option_context_parse (libglib-2.0.so.0 + >
#3  0x00007f88d4ef38dd gst_init_check (libgstreamer-1.0.so.0 + 0x3>
#4  0x00007f88d4ef3985 gst_init (libgstreamer-1.0.so.0 + 0x30985)
#5  0x00007f88d509bec3 n/a (libgstmediaplayer.so + 0x8ec3)
#6  0x00007f88db11f06f n/a (libQt5Multimedia.so.5 + 0x5506f)
#7  0x00007f88db15d84e _ZN12QMediaPlayerC2EP7QObject6QFlagsINS_4Fl>
#8  0x0000564aa7bd9a33 n/a (/home/rjt/.local/bin/kristall/kristall>
#9  0x0000564aa7bb375a n/a (/home/rjt/.local/bin/kristall/kristall>

release

Stack trace of thread 2933655:
#0  0x00007f810016474c gst_update_registry (libgstreamer-1.0.so.0 + 0xa474c)
#1  0x00007f81000f90af n/a (libgstreamer-1.0.so.0 + 0x390af)
#2  0x00007f81041574c8 g_option_context_parse (libglib-2.0.so.0 + 0x604c8)
#3  0x00007f81000f08dd gst_init_check (libgstreamer-1.0.so.0 + 0x308dd)
#4  0x00007f81000f0985 gst_init (libgstreamer-1.0.so.0 + 0x30985)
#5  0x00007f810039eec3 n/a (libgstmediaplayer.so + 0x8ec3)
#6  0x00007f8105f4c06f n/a (libQt5Multimedia.so.5 + 0x5506f)
#7  0x00007f8105f8a84e _ZN12QMediaPlayerC2EP7QObject6QFlagsINS_4FlagEE (libQt5Mul
#8  0x000055f87c82f603 n/a (/home/rjt/.local/bin/kristall-0.3/kristall + 0x4d603)
#9  0x000055f87c80ec0f n/a (/home/rjt/.local/bin/kristall-0.3/kristall + 0x2cc0f)

almost identical

Let me know if there's any other info I could give you that might help.

Problems finding openssl headers on MacOS 10.14.6 and how to fix it

I wanted to build Kristall on my MacBook Pro 2017 running MacOS 10.14.6, but make build/kristall errored out:
image

Openssl was already installed on my machine, but I ran brew reinstall [email protected] just in case; no cigar.

Next, I tried exporting the include path like so

 export LDFLAGS="-L/usr/local/opt/openssl/lib"
 export CFLAGS="-I/usr/local/opt/openssl/include/"
 export CXXFLAGS="-I/usr/local/opt/openssl/include/"

but this didn't work either. Next, I tried modifying kristall-0.3/build/Makefile to add the openssl include path directly to the INCPATH variable, but for some reason the file would get edited back to its original state when running make build/kristall??

So finally, after reading the root Makefile and mostly figuring out what the building process was, I added the openssl include path to the INCPATH variable in the build Makefile, and ran make within the build directory. This finally worked!! Everything built smoothly, and I was able to run Kristall.app and browse Gemini sites.

Has anyone else had the same problem? If so, I would be down to edit the documentation for building on MacOS. Thanks for working on this project; it's a really nice browser!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.