Tiny Core Linux
Tiny Core Extensions => TCE Talk => Extension requests => Topic started by: kalu on December 10, 2014, 01:48:09 AM
-
It would be great if there's a Midori extension for TC v5.4. We would like to replace our kiosk thin client products with Midori because it's a lot lighter than Firefox. I would try to contribute (somehow) if that happens. So, pretty please! ;D
-
How about the fifth fltk browser on tc v6.0 - it's much lighter still.
-
It was my boss's decision. Is it comparable in terms of stability and functionality? I'm still new :-[, so I don't think I have much to say about anything, unfortunately..
Otherwise, I might have to just install Midori from source. Is there a guide on how to install from source in TC or is it just like how it's usually done in other Linux systems?
-
And I'm curious why you suggest fltk browser over the many other light weight browsers, is it best supported or most popular in TinyCore, because that could be a good argument to give to my boss. I'm gonna try it right now...
-
Do fifth has a kiosk mode where user can't go back to op system?
-
Fifth is already in the repo, while midori is not yet compiled there. It doesn't currently have any kiosk mode though.
edit: For a single, full-screen window, there's not much point in locking down a browser. It would be faster to code a new app using webkitfltk, afterall such a kiosk window doesn't need much beyond a webview.
For compiling instructions, see the book and wiki.
-
And I'm curious why you suggest fltk browser over the many other light weight browsers, is it best supported or most popular in Tinycore...
The tinycore gui applets use fltk, so fifth uses libs that are already loaded.
-
Thank you all, for your answers..!
The tinycore gui applets use fltk, so fifth uses libs that are already loaded.
That's a good reason... I'll see if that works with us..
For compiling instructions, see the book and wiki.
I found it!! (http://wiki.tinycorelinux.net/wiki:creating_extensions)
-
Hi
u can build a midori extension using https://code.google.com/p/tc-ext-tools/source/browse/packages/midori (https://code.google.com/p/tc-ext-tools/source/browse/packages/midori) but tc-ext-tools itself should be updated
-
Hi all, need a big help compiling here. I get an error like this for trying to compile Midori on TC v5.4:
-- valac 0.24.0 found
-- checking for modules 'libxml-2.0>=2.6;sqlite3>=3.6.19;gmodule-2.0;gio-2.0>=2.32.3;libsoup-gnome-2.4>=2.27.90'
-- package 'libxml-2.0>=2.6' not found
-- package 'sqlite3>=3.6.19' not found
-- package 'gmodule-2.0' not found
-- package 'gio-2.0>=2.32.3' not found
-- package 'libsoup-gnome-2.4>=2.27.90' not found
CMake Error at /tmp/tcloop/cmake/usr/local/share/cmake-3.0/Modules/FindPkgConfig.cmake:341 (message):
A required package was not found
Call Stack (most recent call first):
/tmp/tcloop/cmake/usr/local/share/cmake-3.0/Modules/FindPkgConfig.cmake:395 (_pkg_check_modules_internal)
CMakeLists.txt:116 (pkg_check_modules)
CMake Error at CMakeLists.txt:127 (if):
if given arguments:
"VERSION_GREATER" "2.29.91"
Unknown arguments specified
-- Configuring incomplete, errors occurred!
See also "/home/tc/midori-0.5.9/_build/CMakeFiles/CMakeOutput.log".
I don't understand because the current versions of these packages are libxml2.tcz v2.9.0, sqlite3.tcz v3.8.5.0, libsoup-gnome.tcz v2.42.2 (according to tce-ab), which are higher than the required versions from the error message. And I just installed TC, so my system must have the latest versions (I don't really know yet how to check for versions of downloaded extensions). And they're already loaded because this happens when I try to load them:
tc@box:~/midori-0.5.9$ tce-load -i libsoup-gnome sqlite3 libxml2
libsoup-gnome is already installed!
sqlite3 is already installed!
libxml2 is already installed!
tc@box:~/midori-0.5.9$
Help, I have much experience with GNU/Linux systems, but for compiling nothing much beyond './configure && make && make install'.
This was the instruction from Midori:
====== Build the code ======
mkdir _build
cd _build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install
Hi
u can build a midori extension using https://code.google.com/p/tc-ext-tools/source/browse/packages/midori (https://code.google.com/p/tc-ext-tools/source/browse/packages/midori) but tc-ext-tools itself should be updated
That'd be great, but I don't know how to use it yet. If this method is the cleaner way, more efficient in the long-term but has a somewhat steeper learning curve, I'm gonna try to do it when I have some free time at the office, because at the moment I'm kinda panicky because I sense some impatience among superiors with my work/training.
How about the fifth fltk browser on tc v6.0 - it's much lighter still.
I tried installing fifth, but I'm guessing it's not supported in tc v5.4 :( . When is tc v6.0 coming out?
-
And I've also inserted the "Suggested compiler flags on x86 (for compatibility)", "cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..", "touch /tmp/mark" as the creating-extensions wiki had suggested, but it still gave the same error message as before :(
Did I miss something?
-
you need the -dev extensions to be installed to compile:
$ tce-load -i libsoup-gnome-dev sqlite3-dev libxml2-dev
-
you need the -dev extensions to be installed to compile: $ tce-load -i libsoup-gnome-dev sqlite3-dev libxml2-dev
Thanks Juanito, it worked. But now other, similar error messages start to appear. So I'm guessing that whenever a package is claimed to be 'not found' when it is in fact installed, then the solution would just be to install the *-dev package along with it. (strange.. ??? ) And this is how I'm handling it right now, but I'm concerned that the more of these *-dev packages (and their depencies) I install the less free memory space my thin client gets. I'm trying to compile Midori on a thin client with 1G of HD and 1G of memory. I've never tried this. I've only had experience compiling in big computers using big Linux distributions. Do you think this is a sane idea, or it would take a long time or impossible to be carried out? I was thinking that it might be better if I compiled it in another computer in which I will install TC, but then the specifications would be specific to that computer wouldn't it?
tc@box:~$ free -m
total used free shared buffers
Mem: 1000 653 347 0 54
-/+ buffers: 599 401
Swap: 241 6 235
tc@box:~$
-
I'm trying to compile Midori on a thin client with 1G of HD and 1G of memory. I've never tried this. I've only had experience compiling in big computers using big Linux distributions. Do you think this is a sane idea, or it would take a long time or impossible to be carried out? I was thinking that it might be better if I compiled it in another computer in which I will install TC, but then the specifications would be specific to that computer wouldn't it?
1gb hd space and 1gb ram should be enough to compile midori - you only need the -dev extensions to compile, not to run, midori.
You can also compile on a different machine running tinycore - using the standard tc standard compiler flags "-march=i486 -mtune=i686" will ensure that it will work on any i486 and up.
Compiling on a different machine running a different linux distro is more of a risk - midori may link against libs that do not exist in tinycore.
You could also compile on a different machine running tinycore with vm software
-
Wow Juanito, thanks for the speedy yet comprehensive answer. I was just a bit worried because I'm downloading dependencies and they seem like heavy downloads and I haven't even begun compiling. Thanks again. If it takes too long, then I will just compile in another TCed computer.
-
Hi again, turns out that dependencies might require other dependencies, which in turn... I'm learning a lot here... But I'm having trouble figuring this one out:
checking for GLIB... yes
checking for GIO_UNIX... yes
checking for DBUS... yes
checking for xsltproc... no
configure: error: xsltproc (from the libxslt source package) is required
tc@box:~/telepathy-glib-0.19.10$ tce-load -wil libxslt
libxslt is already downloaded.
tc@box:~/telepathy-glib-0.19.10$
-
tce-load handles nested dependencies.
-
Apps -> click on the button that reads 'Search' and change it to 'Provides' -> enter xsltproc into the search field -> press ENTER.
-
Hi kalu
If you enter:
which xsltproc
what does it say?
-
Thank you all. I entered "tce-load -i xsltproc" (without any reasoning behind it) just to try and see what happens (instead of -wil) and tce-load loaded xsltproc. I'm not really sure what the difference is, but it worked. And now it's compiling, but I'm sure I will run into other problems! :)
-
/usr/local/bin/valac \
--target-glib=2.26 --pkg gio-2.0 --pkg gio-unix-2.0 --pkg gtk+-3.0 --pkg json-glib-1.0 ../libzeitgeist/zeitgeist-datamodel-2.0.vapi ../libzeitgeist/zeitgeist-2.0.vapi ../config.vapi ./glib-extra.vapi -C --pkg telepathy-glib \
data-provider.vala desktop-launch-listener.vala downloads-directory-provider.vala kde-recent-document-provider.vala recent-manager-provider.vala utils.vala zeitgeist-datahub.vala telepathy-observer.vala
error: Package `telepathy-glib' not found in specified Vala API directories or GObject-Introspection GIR directories
Compilation failed: 1 error(s), 0 warning(s)
make[2]: *** [zeitgeist_datahub_vala.stamp] Error 1
make[2]: Leaving directory `/home/tc/zeitgeist-0.9.14/datahub'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/tc/zeitgeist-0.9.14'
make: *** [all] Error 2
tc@box:~/zeitgeist-0.9.14$ tce-load -i telepathy-glib
telepathy-glib is already installed!
tc@box:~/zeitgeist-0.9.14$ tce-load -i vala vala-dev
vala is already installed!
vala-dev is already installed!
tc@box:~/zeitgeist-0.9.14$ ls /usr/local/share/vala-0.24/vapi/
alsa.deps gtk+-2.0.deps
alsa.vapi gtk+-2.0.vapi
atk.vapi gtk+-3.0.deps
atspi-2.deps gtk+-3.0.vapi
atspi-2.vapi gtkmozembed.deps
avahi-client.vapi gtkmozembed.vapi
avahi-gobject.deps gtksourceview-2.0.deps
avahi-gobject.vapi gtksourceview-2.0.vapi
bzlib.vapi gtksourceview-3.0.deps
cairo-xcb.deps gtksourceview-3.0.vapi
cairo-xcb.vapi gudev-1.0.deps
cairo.vapi gudev-1.0.vapi
...
...
...
tc@box:~/zeitgeist-0.9.14$
Does anyone know the solution to this? I compiled telepathy-glib myself, but I don't know how to make it available "in the specified Vala API directories or GObject-Introspection GIR" like all the other extensions, so that make wouldn't complain about it.
-
I compiled telepathy-glib myself, but I don't know how to make it available "in the specified Vala API directories or GObject-Introspection GIR" like all the other extensions, so that make wouldn't complain about it.
Did you build it with gobject-introspection? If yes, there must be /usr/local/lib/girepository-1.0 directory. If not, rebuild with --gobject-introspection=yes config option. Of cource install gobject-introspection-dev.tcz before.
-
Yes bmarkus, it does have /usr/local/lib/girepository-1.0 directory. But it's also missing the telepathy-glib file just like in the vala API directory:
tc@box:~$ ls /usr/local/lib/girepository-1.0/
DBus-1.0.typelib GObject-2.0.typelib xfixes-4.0.typelib
DBusGLib-1.0.typelib Gio-2.0.typelib xft-2.0.typelib
GIRepository-2.0.typelib cairo-1.0.typelib xlib-2.0.typelib
GL-1.0.typelib fontconfig-2.0.typelib xrandr-1.3.typelib
GLib-2.0.typelib freetype2-2.0.typelib
GModule-2.0.typelib libxml2-2.0.typelib
tc@box:~$
What do I do to it?
-
These look like the default typelib files that come with the gobject-introspection extension.
Did you recompile telepathy-glib with gobject-introspection-dev (and vala-dev) loaded?
-
I think so Juanito. They're loaded right now, so they probably were when I was compiling telepathy-glib. You mean I should have unloaded them, before I compiled it?
-
In order to compile the gir and vala dev files you need the gobject-introspection-dev and vala-dev extensions to be loaded.
The ./configure script usually automatically checks for gobject-introspection-dev and vala-dev files, but you might need to force the issue with a ./configure switch (see ./configure --help for details).
-
Alright, I'm going to try recompiling it again. Quick question, how do I gracefully remove existing 'telepathy-glib' from my system without rebooting? Before I did something like this:
tc@box:~/telepathy-glib-0.23.3$ tce-audit builddb
Building Extension Database from /etc/sysconfig/tcedir/optional
...
tc@box:~/telepathy-glib-0.23.3$ tce-audit delete telepathy-glib
/etc/sysconfig/tcedir/optional/telepathy-glib.tcz
tc@box:~/telepathy-glib-0.23.3$ rm /mnt/sda1/tce/optional/telepathy-glib.tcz
rm: remove '/mnt/sda1/tce/optional/telepathy-glib.tcz'? y
tc@box:~/telepathy-glib-0.23.3$ sudo reboot
-
You don't necessarily need to remove it, you can just install over the top of it.
-
Man was I happy when I saw "TelepathyGLib-0.12.typelib" in the girepository...
You don't necessarily need to remove it, you can just install over the top of it.
Wow, that's simple..., I already reboot though
-- package 'webkit-1.0>=1.8.1' not found
-- package 'javascriptcoregtk-1.0' not found
What about these? I've found plenty of these in the web but don't know which one. Thanks again to you all who are helping me!
-
webkitgtk in the repo has these two files:
/usr/local/lib/pkgconfig/webkit2gtk-3.0.pc
/usr/local/lib/pkgconfig/javascriptcoregtk-3.0.pc
..so I guess you need something earlier - http://webkitgtk.org/releases/webkit-1.9.6.tar.xz - maybe?
-
Thanks for your assistence Juanito. I tried several of the earlier webkit releases just as you said Juanito, but they (the four releases that I tried) all had (varying) errors which I can't solve myself, but at the same time I'm too embarassed to post anymore errors here :P :-[. OTOH, Curaga's suggestion to build an app for web kiosk is starting to make a lot of sense and probably a lot more fun than compiling and looking for dependencies ;D
-
Reviving old thread, still on topic, almost 3000 reads, would appear Midori is a topic of interest, nice browser.
Making an attempt at Midori in TC7x, due to some older libraries trying midori_0.5.10_all_.tar.bz2, still a relatively recent release. All dependency libraries met thus far via Apps with exception of -- package 'javascriptcoregtk-1.0' not found as described by kalu ~2 years ago. Based on Juanito's suggestion, attempting to build the webkitgtk version linked above. It configures successfully:
CC="gcc -march=i486 -mtune=i686 -Os -pipe" CXX="g++ -march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti" ./configure --disable-geolocation --disable-webkit2 --with-gtk=2.0 --prefix=/usr/local --disable-static --localstatedir=/var
Configure outcome:
WebKit was configured with the following options:
Build configuration:
Enable debugging (slow) : no
Compile with debug symbols (slow) : no
Enable debug features (slow) : no
Enable GCC build optimization : yes
Code coverage support : no
Unicode backend : icu
Font backend : freetype
Optimized memory allocator : yes
Accelerated rendering backend : opengl
Features:
=======
WebGL : yes
Accelerated Compositing : yes
Animation API : no
Blob support : yes
Color input support : no
CSS3 Flexbox support : no
CSS box-decoration-break support : yes
CSS Exclusions support : yes
CSS Regions support : yes
CSS Filters support : no
CSS Compositing support : no
DeviceOrientation support : no
Directory upload : no
DOM mutation observer support : no
Fast Mobile Scrolling : no
Filters support : yes
Fullscreen API support : yes
Gamepad support : no
Geolocation support : no
HTML5 channel messaging support : yes
HTML5 data transfer items support : no
HTML5 FileSystem API support : no
HTML5 iframe seamless attribute support : yes
HTML5 meter element support : yes
HTML5 microdata support : no
HTML5 progress element support : yes
HTML5 track element support : no
HTML5 video element support : yes
Icon database support : yes
JavaScript debugger/profiler support : yes
JIT compilation : autodetect
Legacy WebKitBlobBuilder support : yes
Link prefetch support : no
MathML support : yes
Media source : no
Media statistics : no
Media stream support : no
MHTML support : yes
Opcode stats : no
Page Visibility API support : no
Quota API support : no
Register Protocol Handler support : no
RequestAnimationFrame support : yes
Scripted speech support : no
Shadow DOM support : yes
SharedWorkers support : yes
Speech input support : no
Spellcheck support : no
SQL client-side database storage support : yes
SVG fonts support : yes
SVG support : yes
Text Autosizing support : no
Touch Icon Loading support : no
Web Audio support : no
WebGL : yes
Web Sockets support : yes
Web Timing support : no
Web Workers support : yes
Widget region support :
XSLT support : yes
WebKit2 support:
WebKit2 support : no
WebKit2 plugin process : no
GTK+ configuration:
GTK+ version : 2.0
GDK target : x11
GStreamer version : 0.10
Introspection support : no
Generate documentation : no
...but make fails quickly:
tc@box:/tmp/webkit-1.9.6$ make
GEN DerivedSources/WebCore/idl_supplemental_dependencies
Can't exec "/usr/bin/gcc": No such file or directory at /usr/local/lib/perl5/5.22.0/IPC/Open3.pm line 281.
open2: exec of /usr/bin/gcc -E -P -x c++ -DLANGUAGE_JAVASCRIPT=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_METER_ELEMENT=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_SQL_DATABASE=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_VIDEO=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_XSLT=1 -DENABLE_WORKERS=1 -DENABLE_SHADOW_DOM=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_FILTERS=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_MATHML=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_BLOB=1 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_WEBGL=1 -DENABLE_3D_RENDERING=1 -DACCELERATED_COMPOSITING=1 -DENABLE_MHTML=1 -DENABLE_IFRAME_SEAMLESS=1 ./Source/WebCore/Modules/gamepad/Gamepad.idl failed at Source/WebCore/bindings/scripts/preprocessor.pm line 80.
GNUmakefile:79887: recipe for target 'DerivedSources/WebCore/idl_supplemental_dependencies' failed
make: *** [DerivedSources/WebCore/idl_supplemental_dependencies] Error 2
Already tried a fresh source extract and terminal. Noteworthy, GCC is /usr/local/bin not /usr/bin, should this be specified although gcc was successfully found during ./configure? Also /usr/local/lib/perl5/5.22.0/IPC/Open3.pm file is present and gamepad is disabled by default ./configure. Thanks for any suggestions.
-
Hi nitram
You could try getting past the error by creating a link at /usr/bin/gcc to /usrlocal/bin/gcc.
-
Attempted to simplify the build by disabling most every available option:
CC="gcc -march=i486 -mtune=i686 -Os -pipe" CXX="g++ -march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti" ./configure --disable-geolocation --disable-webkit2 --with-gtk=2.0 --prefix=/usr/local --disable-static --localstatedir=/var --disable-schemas-compile --disable-webgl --disable-accelerated-compositing --disable-channel-messaging --disable-meter-tag --disable-progress-tag --disable-javascript-debugger --disable-gamepad --disable-sql-database --disable-icon-database --disable-datalist --disable-iframe-seamless --disable-video --disable-fullscreen-api --disable-xslt --disable-mathml --disable-svg --disable-shadow-dom --disable-shared-workers --disable-workers --disable-css-box-decoration-break --disable-filters --disable-svg-fonts --disable-web-sockets --disable-blob --disable-legacy-webki
t-blob-builder --disable-fast-malloc --disable-jit --disable-request-animation-frame --disable-css-exclusions --disable-css-regions --disable-webkit2 --disable-plugin-process --disable-gtk-doc-html
Unfortunately make still fails:
tc@box:/tmp/webkit-1.9.6$ make
GEN DerivedSources/WebCore/idl_supplemental_dependencies
Can't exec "/usr/bin/gcc": No such file or directory at /usr/local/lib/perl5/5.22.0/IPC/Open3.pm line 281.
open2: exec of /usr/bin/gcc -E -P -x c++ -DLANGUAGE_JAVASCRIPT=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_MHTML=1 ./Source/WebCore/Modules/gamepad/Gamepad.idl failed at Source/WebCore/bindings/scripts/preprocessor.pm line 80.
GNUmakefile:79887: recipe for target 'DerivedSources/WebCore/idl_supplemental_dependencies' failed
make: *** [DerivedSources/WebCore/idl_supplemental_dependencies] Error 2
Edit: Hi Rich. Thanks for advice. Already drafted above so posting anyway, obviously a problem here. Will link gcc and try again later, not sure i will be able to get back to this again today. Sometimes get frustrated, drop it for a few hours, try again.
-
Thanks Rich! Make is now happily chugging, webkit bit of a beast. These gotchas drive me CRAZY. IMHO if ./configure is successful make should work every time. Embarrassed to say i'm still a newbie. Compiling 101, fix the most obvious first error spotted, retest before proceeding. Thanks again.
-
Hi nitram
It kinda looks like configure figured out where gcc was located but some perl modules have a hard coded path to where
they feel gcc should be placed.