throstur62
Posts: 9
Joined: Thu Jul 26, 2012 1:34 pm

POCO on RaspBerry Pi

Thu Nov 22, 2012 5:07 pm

Hi,
Has anyone tried to build POCO (http://pocoproject.org) on RaspBerryPi with Raspian. I just tried to make it and got this error message after compiling all the files:

** Compiling src/pcre_tables.c (debug, shared)
** Compiling src/SyslogChannel.cpp (debug, shared)
** Building shared library (debug) /home/pi/projects/eclipse/temp/poco-1.4.5-all/lib/Linux/armv6l/libPocoFoundationd.so.15
ln: failed to create symbolic link `/home/pi/projects/eclipse/temp/poco-1.4.5-all/lib/Linux/armv6l/libPoc oFoundationd.so': Operation not supported
make[1]: *** [/home/pi/projects/eclipse/temp/poco-1.4.5-all/lib/Linux/armv6l/libPocoFoundationd.so.15] Error 1
make: *** [Foundation-libexec] Error 2

I'm pretty new to this Linux stuff and can't rely figure out what those error message indicate.

I Di the config such:
./configure --omit=Data/ODBC,Data/MySQL
and then:
make -s

Another question is why all the compiles saying (debug, shared)
That is to say dose the "debug" mean it is compiled with debugging options on?
Regards
Throstur62

OneNineRight
Posts: 1
Joined: Sun May 19, 2013 6:41 pm

Re: POCO on RaspBerry Pi

Sun May 19, 2013 6:55 pm

Throstur62,

Unfortunately, I've only used Poco on "big" Linux (amd64 Gentoo, Red Hat, etc). The error you've shown seems very odd since it's saying it can't create a symlink. It seems like possibly a better question for the Poco forums...

Regarding the "(debug, shared)", you are correct. It is building a debug build of the library, [and it's also building a "shared" library].

If you're quite new to Linux, a shared library ("shared") in Linux (lib***.so) is the same thing as a DLL in Windows (***.dll). Just like in Windows, this means the code in the library isn't actually included in your program, there's just one copy of it (generally somewhere in "/lib/" or "/usr/lib/") and any program that uses that library just uses that static copy of the compiled library.

The other option is to build a static library ("static") [which I believe in the case of Poco requires manually editing some file; I did this at a previous job once...]. A static library is totally different, it's including in your program just like another other code you're written. The difference over directly including Poco's source code, is that a static library is already compiled and just sits there waiting for you to link it in to your program, so it's faster than recompiling all of the library's code every single time you build your program. Using static libraries makes your program executable bigger, but it causes it to have less dependencies, which means it's easier to deploy it to new systems. Ultra-high performance programs also tend towards static linkage (using these static libraries) because the linker can streamline your executable better (your program doesn't have to be jumping back and forth between your code and the code in the library, which will be in different areas of RAM).

sdjf
Posts: 1388
Joined: Fri Mar 16, 2012 5:20 am
Location: California
Contact: Website

Re: POCO on RaspBerry Pi

Sun May 19, 2013 8:56 pm

If it cannot create a symlink, sure sounds like a permissions problem. Are you running as root? If not, will need to use sudo or su.

The other possibility is you cannot create symlinks in vfat partitions. Is this in your root partition, which should be ext4?
FORUM TIP: To view just one person's posting history, sign in, click on their user name, then click on "Search User's Posts." || My 512MB Model B only runs Arch.

Return to “Advanced users”

Who is online

Users browsing this forum: mosespi, westcoastRC and 18 guests