Active Topics

 


Reply
Thread Tools
Posts: 78 | Thanked: 57 times | Joined on Jul 2007
#1
Hi,

This is a request for help to get the boron language built for diablo.
Boron is an open source rebol like functional language which would be a great fit for these tablets.
http://urlan.sourceforge.net/boron/

I am not familiar with scratchbox so would really appreciate it if somebody could do a build for me.

Thanks,
John
 
Posts: 6 | Thanked: 4 times | Joined on Oct 2010 @ Melbourne, Australia
#2
I built version 0.1.4 and it installs and starts fine on my n810. However, I don't know anything about Boron so I can't tell if it's behaving nicely.

Versions 0.1.6 and 0.1.8 don't build and since my porting skills are limited to running configure and make I didn't look into why.

I'm also not sure how I'm supposed to get it to you so I packed up a .deb and attached it below.
Attached Files
File Type: deb boron.deb (209.3 KB, 121 views)
 

The Following 3 Users Say Thank You to PhillipJ For This Useful Post:
Posts: 78 | Thanked: 57 times | Joined on Jul 2007
#3
Fantastic, thank you. I'm running it now.

I have been using rebol for years and it is my language of choice for many simple (and complicated) tasks, but unfortunately it is closed source. This is a very similar language although there are quite a number of differences.
I'll have a play with it and come up with a few examples of using it based on some of the rebol examples.
-J
 
Posts: 78 | Thanked: 57 times | Joined on Jul 2007
#4
Random trivial examples:
Code:
)> foreach character "maemo" [ print character ]
m
a
e
m
o
)> type? last [ 1 "maemo" 10:30 ]
== time!
)> type? second [ 1 "mameo" 10:30 ]
== string!
)> do [ print "compose" ]
compose
It is useful as an interesting functional language.
Hopefully it will be extended to contain more useful protocols soon.

For example, in rebol you can type
Code:
send fred@example.com read http://talk.maemo.org
to send "fred" a copy of the html for talk.maemo.org. It is very useful having url and email as basic datatypes I hope more of these rebol features end up in Boron soon.

Let me know the compilation errors and I'll drop them on the mailing list to see if anyone can help.

Cheers,
John
 
Posts: 6 | Thanked: 4 times | Joined on Oct 2010 @ Melbourne, Australia
#5
When attempting to build 0.1.8 the only errors are:

- sys/eventfd.h not found.
- EFD_CLOEXEC is undeclared.

A little bit of googling leads me to believe that libc6-dev might be in the wrong place or out of date.

Both errors are in port_thread.c so EFD_CLOEXEC is probably declared in the missing header.

I also had a problem with "no rule to make link.txt" in boron-lib.dir but I (think I) resolved that by copying the link.txt from my normal (i.e. not scratchbox) build directory and changing the complier settings to match the link.txt in boron-bin.dir.

[edit] copypasta of console output:

/arm_linux/boron-0.1.8/port_thread.c:25:25: sys/eventfd.h: No such file or directory
/arm_linux/boron-0.1.8/port_thread.c: In function `_initThreadQueue':
/arm_linux/boron-0.1.8/port_thread.c:99: warning: implicit declaration of function `eventfd'
/arm_linux/boron-0.1.8/port_thread.c:99: error: `EFD_CLOEXEC' undeclared (first use in this function)
/arm_linux/boron-0.1.8/port_thread.c:99: error: (Each undeclared identifier is reported only once
/arm_linux/boron-0.1.8/port_thread.c:99: error: for each function it appears in.)
make[2]: *** [CMakeFiles/boron-lib.dir/port_thread.c.o] Error 1
make[1]: *** [CMakeFiles/boron-lib.dir/all] Error 2
make: *** [all] Error 2

Last edited by PhillipJ; 2010-10-21 at 02:01.
 
Posts: 78 | Thanked: 57 times | Joined on Jul 2007
#6
Hi Philip,

The Boron developer sent the following suggestion.

Thanks again,
John


The eventfd man page says it is available since Linux 2.6.22 and glibc 2.8.
If this API is not available you can disable threads by setting thread: false
in the project.b file or apply the following patch to CMakeLists.txt if you
build that way.

I don't know anything about a link.txt file, so I'm afraid I can't help you
with that.


diff --git a/CMakeLists.txt b/CMakeLists.txt
index b19da15..4a28204 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,7 +20,7 @@ add_definitions(
-DCONFIG_COMPRESS=1
-DCONFIG_RANDOM
# -DCONFIG_TIMECODE
- -DCONFIG_THREAD
+# -DCONFIG_THREAD
)

if(CMAKE_BUILD_TYPE STREQUAL "Debug")
@@ -64,7 +64,7 @@ add_library(boron-lib SHARED
boron.c
port_file.c
port_socket.c
- port_thread.c
+# port_thread.c
${OS_FILE}
)

@@ -78,7 +78,7 @@ if (APPLE)
# target_link_libraries(boron-lib m bz2)
endif ()
if (UNIX AND NOT APPLE)
- target_link_libraries(boron-lib m z pthread)
+ target_link_libraries(boron-lib m z)
# target_link_libraries(boron-lib m bz2 pthread)
endif ()
if (WIN32)


-Karl
 
Posts: 6 | Thanked: 4 times | Joined on Oct 2010 @ Melbourne, Australia
#7
Given that we only have one CPU to play with disabling threads is probably for the best anyway so I might give that a try.
 
Reply


 
Forum Jump


All times are GMT. The time now is 05:17.