ofSketch v0.3.0 is here!

ofSketch is a simple Processing-like IDE for openFrameworks. @brannondorsey and I have been actively developing it as a Google Summer of Code project this summer and we would love some feedback!

Some features …

  • Releases for OSX, Linux32, Linux64, Linux Armv6l (RPi) … Windows soon …
  • Inline compiler tips
  • Addon support
  • Multi-language GUI support (currently spanish, german, Japanese … add yours!)
  • Single button compile / play and stop.
  • And lots more …

A video intro …

A readme.

Some images …


Get the latest release below and give us your feedback!

3 Likes

Very interesting! i will test it!

@bakercp i tested the v. 0.3 (linux 64 bit) but i get :

 ./ofSketch: error while loading shared libraries: libGLEW.so.1.6: cannot open shared object file: No such file or directory

i have glew v.1.10 in my system so i need to recompile by myself, as a note i have ubuntu 14.04 and OF 0.83. maybe you have a different linux version…

Hey @kalwalt thanks so much for checking it out! @brannondorsey compiled the linux64 release – so I’m not sure which ubuntu he is using – probably 12.*, since it also worked on my 12.10 when I tested it yesterday.

Do you or (or perhaps @arturo or @bilderbuchi or @underdoeg ) know how to compile executables that link to a non-versioned dynamic lib so that we won’t be tied to a specific (or perhaps that is the wrong approach altogether?).

Is it even possible to build an executable that relies on dynamic libs that will run on Arch, and various versions of Linux? Or … perhaps we need to compile for each version … or somehow move to static libs?

So many platforms … :smile:

1 Like

phew, no idea. Off the top of my (not very knowledgeable) head, I wouldn’t expect this to work, though - how would this deal with API/ABI differences between different target versions of the lib?

1 Like

Interesting question - I found this

Linux App Checker

The Linux App Checker contains tools for analyzing dependencies (libraries and interfaces externally required) of application packages. In particular it helps developers in testing their applications for LSB compliance and enables easy steps for LSB certification. To install the Linux App Checker, please download the appropriate tar file, extract the tar file, and run the included install.sh script. 
1 Like

Hi @kalwalt, I built the linux64 distro on Ubuntu 12.04.4 with oF 0.8.3. Are you able to easily build ofSketch from source?

1 Like

distributing binaries on linux is not going to work by default, the system is thought to have applications distributed as source code, and compiling a binary that will work on every platform is kind of tricky, you need to somehow compile with all dependencies as static.

I think the easiest is to just distribute as source and have some script to make compiling and installing any dependencies as easy as possible.

to @bakercp: sorry… but i have no idea. Probably as for other software the solution is to prepare different version for different O.S. versions, or include a diynamic lib in the package or move to static libs…

to @brannondorsey: yes i think shouldn’t be so much problem to compile it from source. There are a bit of addons but i’m not afraid for this. If i compile it i can make a pull request and you can include on your fork if you want.

p.s i think @arturo solution is the smartest we can think…

i will build ofSketch from source this evening… more news will come!

Great, thank you for your help!

hi @brannondorsey, running the first script i get this issue, do not know why:

walter@walter-RC530-RC730:~/ofSketch$  ./scripts/init_repo.sh
./scripts/init_repo.sh: riga 11: ./helpers/ostype.sh: File o directory non esistente

Initializing ofSketch

--------------------------------------------------
        OS: 
OF_VERSION: 0.8.3
OF_RELEASE: of_v0.8.3__release
--------------------------------------------------

Initializing ofSketch repo ...
sysctl: cannot stat /proc/sys/hw/ncpu: File o directory non esistente
./scripts/init_repo.sh: riga 40: cd: ../ofSketchApp/bin/data/: File o directory non esistente

ofSketch INSTALLED_OF_VERSION: NONE
ofSketch REQUIRED_OF_VERSION: 0.8.3

Downloading of_v0.8.3__release ...
rm: impossibile rimuovere "openFrameworks/.gitkeep": Permesso negato
mkdir: impossibile creare la directory "openFrameworks/": File già esistente
touch: impossibile fare touch di "openFrameworks/.gitkeep": Permesso negato
./scripts/init_repo.sh: riga 70: curl: comando non trovato
unzip:  cannot find or open of_v0.8.3__release.zip, of_v0.8.3__release.zip.zip or of_v0.8.3__release.zip.ZIP.
mv: impossibile eseguire stat di "of_v0.8.3__release/addons": File o directory non esistente
mv: impossibile eseguire stat di "of_v0.8.3__release/export": File o directory non esistente
mv: impossibile eseguire stat di "of_v0.8.3__release/libs": File o directory non esistente
mv: impossibile eseguire stat di "of_v0.8.3__release/LICENSE.md": File o directory non esistente
mv: impossibile eseguire stat di "of_v0.8.3__release/CHANGELOG.md": File o directory non esistente
Building openFrameworks distribution ...
./scripts/init_repo.sh: riga 92: cd: openFrameworks/libs/openFrameworksCompiled/project: File o directory non esistente
make: ***  Nessuna regola per generare l'obiettivo "Release".  Arresto.

ofSketch initialization Complete!

my fault: i hadn’t installed curl!! now the scripts is working right…!

@brannondorsey @bakercp I build it, but i get an error trying to launch the app:

compiling done
     to launch the application

     cd bin
     ./ofSketchApp
     
     - or -
     
     make run


make[1]: uscita dalla directory "/home/walter/of_v0.8.3_linux64_release/apps/ofSketch/ofSketchApp"
checking pkg-config libraries:   cairo zlib gstreamer-app-1.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-base-1.0 libudev freetype2 fontconfig sndfile openal openssl libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123 
terminate called after throwing an instance of 'Poco::FileNotFoundException'
  what():  File not found
Aborted (core dumped)
make: *** [run] Errore 134

also some notes: i need to add -std=c++11 in the cflags and some little modifications in the scripts ( basiclly for the root of the folders…)

p.s. this with debugging:

(gdb) run
Starting program: /home/walter/of_v0.8.3_linux64_release/apps/ofSketch/ofSketchApp/bin/ofSketchApp 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffebca2700 (LWP 12671)]
[New Thread 0x7fffeb4a1700 (LWP 12672)]
terminate called after throwing an instance of 'Poco::FileNotFoundException'
  what():  File not found

Program received signal SIGABRT, Aborted.
0x00007ffff456bf89 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56	../nptl/sysdeps/unix/sysv/linux/raise.c: File o directory non esistente.
(gdb) 

@bakercp Maybe docker is of help to package it. I have not yet tried it tough… https://www.docker.com/

1 Like