This tutorial is for advanced users only!
Fonz provides many pre-compiled packages for the NAS in his repository, but obviously cannot provide every package which someone out there might need. So to help users compile and link packages themselves, Fonz has created a complete software environment for building packages for the NAS device.
This ffpbuildenv
environment consists of a few scripts and a standardized process for building software packages. It runs on the NAS itself, rather than requiring special cross-compilation tools on a PC. This helps guarantee full compatibility with the target system and ensures that the environment is familiar to developers with a Linux background.
The following tutorial builds on Fonz’s work, but also contains procedures and descriptions by Uli. User PeterH did his usual testing and polishing routine on this text.
Contents
Preparations
Setup a fun_plug and install ALL packages available as described in the linked tutorial.
Setup
ffpbuildenv
can best be installed on one of the hard disks:
mkdir /mnt/HD_a2/ffpbuildenv cd /mnt/HD_a2/ffpbuildenv svn co svn://inreto.de/svn/dns323/funplug/trunk .
These steps create a new directory on drive /mnt/HD_a2/
and copy the required files from Fonz’ repository using the [http://en.wikipedia.org/wiki/Subversion_(software) Subversion] version control system.
General Use
Chrooting to the build environment
To get a well-defined environment, you chroot
to this directory using a script appropriately called chroot.sh
:
cd /mnt/HD_a2/ffpbuildenv/ sh chroot.sh cd /mnt/HD_a2/ffpbuildenv/source/
It makes the ffpbuildenv
look like the root directory of the file system, at least for the current process. Note that the chroot
step creates a new command shell running within your current command shell: if you later exit
from the that shell, you end up back in the original shell.
Downloading the distribution file
cd /mnt/HD_a2/ffpbuildenv/source/ ./Make.sh -F <PACKAGENAME>
Compiling a package
cd /mnt/HD_a2/ffpbuildenv/source/ ./Make.sh <PACKAGENAME>
The compiled and packaged archive is placed in /mnt/HD_a2/ffpbuildenv/packages/
then. Errors are logged to /mnt/HD_a2/ffpbuildenv/build-logs/--.log
Setting up a package
If you take a look into the directory of a package, you will see several files. In the following text, I will describe lighttpd
if not stated otherwise.
Required files
PR
Tells the Revision of the compiled package. E.g. if you compiled a package, forgot to include something and want to redo the package, e.g. the third version of php-5.2.6: php-5.2.6-3.tgz
1
PV
This is the version of the source code, e.g. lighttpd-1.4.20.tar.bz2
1.4.20
SRC_URI
Link to the source-file. You can use the following variables:
- $PV – Packageversion – Value from above
- $PN – Packagename – Value from above
- $P – Concated Variable: “Packagename-Packageversion” ($PN-$PV)
http://www.lighttpd.net/download/lighttpd-$PV.tar.bz2
This will result in http://www.lighttpd.net/download/lighttpd-1.4.20.tar.bz2
Optional files
DESC
Describes the package. If present, it is shown during installation.
Lighttpd is a secure, speedy, compliant, and very flexible web-server
which is designed and optimized for for high-performance environments.
With a small memory footprint compared to other web-servers, effective
management of the CPU-load, and advanced feature set (FastCGI, SCGI,
Auth, Output-Compression, URL-Rewriting and many more) lighttpd is the
perfect solution for every server that is suffering load problems.
[pkgsrc]
HOMEPAGE
This is the general homepage of the program.
http://www.lighttpd.net/
doinst.sh
This file gets executed during the installation of a compiled package. Here you can add additional commands, like adding system accounts or printing additional information.
This file is not needed in lighttpd, the code below is from sudo
def() { if [ ! -r "$1" ]; then mv $1.new $1 elif cmp -s $1 $1.new; then rm $1.new fi } def ffp/etc/sudoers
configure.sh
This file is used for configuring the source code with other commands than ./configure
. If it is not available ./configure
with the optional configure_args
(see below) will be run in the source directory.
This file is not needed in lighttpd, the code below is from openssl
./config \ --prefix=$CPREFIX \ --openssldir=$CSYSCONFDIR/ssl \ zlib shared
configure_args
These arguments are used, if there is no configure.sh
available in the directory. Only the part after ./configure
is included!
--libdir=$CPREFIX/lib/$P --program-prefix="" --with-openssl --with-pcre --with-zlib
destdir.sh
Optional
This file is used for “make” on the source code. If it is not available,
make DESTDIR=$D install
will be used in the source directory.
This file is not needed in lighttpd, the code below is from screen
make DESTDIR=$D install mkdir -p $D$CPREFIX/etc install -m 0644 etc/etcscreenrc $D$CPREFIX/etc/screenrc
destdir-*.sh
Additional actions like moving or adding files. * can be replaced by etc or whatever, they all are run after compilation.
This is the content of destdir-etc.sh
:
mkdir -p $D$CPREFIX/etc/examples cd $X/etc/examples install -m 0644 -o root -g root \ lighttpd.conf lighttpd.conf-with-php \ $D$CPREFIX/etc/examples
start-*.sh
These files get installed into the directory “/ffp/start/” during the installation. These contain a starter file.
This is the content of start-kickwebs.sh
:
#!/ffp/bin/sh # PROVIDE: kickwebs # REQUIRE: LOGIN # BEFORE: lighttpd . /ffp/etc/ffp.subr name="kickwebs" start_cmd="kickwebs_start" stop_cmd=: kickwebs_start() { echo "Kicking webs ..." killall webs } run_rc_command "$1"
This is the content of start-lighttpd.sh
:
#!/ffp/bin/sh # PROVIDE: lighttpd # REQUIRE: LOGIN . /ffp/etc/ffp.subr name="lighttpd" command="/ffp/sbin/lighttpd" lighttpd_flags="-f /ffp/etc/lighttpd.conf" required_files="/ffp/etc/lighttpd.conf" run_rc_command "$1"
Walk-through
Install an editor (like nano
), you will need one for editing the above files.
This walk-through will show you how to compile nano.
We start by changing to the correct directory:
>cd /mnt/HD_a2/ffpbuildenv/source/
Now we create the directory and change to it:
mkdir nano cd nano
We open http://www.nano-editor.org/ for the latest stable version, which is 2.0.9. Open the file PV
for the package version:
And enter 2.0.9
.
Reset PR, we do this process for the first time. Open PR
:
And enter 1
.
Now we search for the [http://www.nano-editor.org/download.php download-url]. Is there a consistent way of numbering the releases? The example of nano shows us this numbering:
http://www.nano-editor.org/dist/v2.0/nano-2.0.6.tar.gz http://www.nano-editor.org/dist/v2.0/nano-2.0.7.tar.gz http://www.nano-editor.org/dist/v2.0/nano-2.0.8.tar.gz http://www.nano-editor.org/dist/v2.0/nano-2.0.9.tar.gz
Do you see the similarity?
If so, then we can substitute the version by using $PV:
http://www.nano-editor.org/dist/v2.0/nano-$PV.tar.gz
If not, you need to enter the url manually:
http://www.nano-editor.org/dist/v2.0/nano-2.0.9.tar.gz
Pull this URL to SRC_URI
.
Now we fulfilled the requirements for compiling, but nano will fail in some sections with these settings due to missing libraries (spellchecker). So we need to add some configure arguments using configure_args:
--enable-nanorc --enable-color --enable-multibuffer --disable-speller
Now everything is set for compiling. Now we chroot to the respective directory:
sh /mnt/HD_a2/ffpbuildenv/chroot.sh cd /mnt/HD_a2/ffpbuildenv/source/
And run the download:
./Make.sh -F nano
And run the compilation:
./Make.sh nano
This will take a while. If you get you prompt back and the line above states “OK.” everything went fine and you will find the final package in /mnt/HD_a2/ffpbuildenv/packages/
. Otherwise, you should check the log:
tail /mnt/HD_a2/ffpbuildenv/build-logs/nano*log
Tried to follow your step-by-step tutorial for creating a compile for the latest version of Aria2c, but got an error on the first Make.sh command:
Any pointers on what should be in the distfiles directory?
Hi,
did you download aria2c in the first place?
“distfiles” contains the source-files, which are downloaded using “-F”
Cheers,
Uli
Hi Uli,
What a service… almost instant reply. 🙂 Really appreciate your site and effort.
You were correct in deducting the error. When scrolling through the tutorial I have overseen the first make command with the -F option.
Went through the steps again and got a long way, but Make crashed somehow:
I’ll try to find the clue myself, but if anybody has any useful hints?
Would you please check the file /mnt/HD_a2/ffpbuildenv/source/Conf.d/build-env/distcc.sh and check if it looks like this:
If not: Modify it so that it looks like this 🙂 Why is that happening? If “CC=”distcc gcc”” is activated, distcc is trying to compile your source. As nothing is configured for distcc, the compiler is failing.
Hope that helps,
Uli
Great! Exactly what was wrong. I added some ‘#’ and additional lines as described by you and the mentioned failure disappeared.
Make continued and then I ran into more trouble. Seems that some required packages were not installed, so I installed required packages, until I found out that in the Fonz packages and your Additional packages, the c-ares package was not available.
With your tutorial I managed to compile c-ares 1.7.4 and installed it as required package.
Guessed that I now have everything in place, but got the following message:
SocketCore.cc: In member function 'void aria2::SocketCore::bindWithFamily(uint16_t, int, int)':
SocketCore.cc:260: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See for instructions.
make[2]: *** [SocketCore.o] Error 1
make[2]: Leaving directory `/mnt/HD_a2/ffpbuildenv/work/aria2-1.10.9/aria2-1.10.9/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/HD_a2/ffpbuildenv/work/aria2-1.10.9/aria2-1.10.9'
make: *** [all] Error 2
Internal compiler error: segmentation fault What to make of that?
I guess that I chose a challenging subject for a newbie 🙂
Please add following package also to preparation section:
/ffp/pkg/additional/dev-util/subversion-1.6.13-1.tgz
rather add all of these
/ffp/pkg/additional/dev-util/subversion-1.6.13-1.tgz
/ffp/pkg/additional/dev-libs/apr-util-1.3.9-1.tgz
/ffp/pkg/additional/dev-libs/apr-1.3.12-1.tgz
/ffp/pkg/packages/neon-0.25.5-1.tgz
I also needed bash:
/ffp/pkg/packages/bash-*.tgz
I am trying compile ffmpeg and would need some hints to proceed please
First I hit and issue where the packaging script fails lke:
+ info ' destdir-checks: check_prefix'
+ cat
+ cd /mnt/HD_a2/ffpbuildenv/work/ffmpeg-0.5.4/pkg
+ . /mnt/HD_a2/ffpbuildenv/source/Conf.d/destdir-checks/check_prefix.sh
++ test -d .//ffp
++ die '/ffp not found in package directory /mnt/HD_a2/ffpbuildenv/work/ffmpeg-0.5.4/pkg'
++ cat
++ exit 1
To over come I did a quick hack by adding following to
/mnt/HD/HD_a2/ffpbuildenv/source/Conf.d/destdir-start-files.sh
# a hack to create a ffp directory even if there is no start file
mkdir -p $D/ffp/
echo "/ffp created ..."
I could not figure out which script creates the /ffp directory. But when compiling a different package I noticed that it gets created.
Now I manage to proceed from this point onwards, but the packaging script now fails at
+ . /mnt/HD_a2/ffpbuildenv/source/Conf.d/destdir-checks/check_prefix.sh
++ test -d .//ffp
+++ ls -a
++ for _f in '$(ls -a)'
++ test . = . -o . = ..
++ continue
++ for _f in '$(ls -a)'
++ test .. = . -o .. = ..
++ continue
++ for _f in '$(ls -a)'
++ test ffp = . -o ffp = ..
++ test ffp = install
++ test /ffp '!=' /ffp
++ for _f in '$(ls -a)'
++ test install = . -o install = ..
++ test install = install
++ continue
++ for _f in '$(ls -a)'
++ test usr = . -o usr = ..
++ test usr = install
++ test /usr '!=' /ffp
++ die 'usr: Not allowed in package'
++ cat
++ exit 1
The script does not like the /usr directory in /mnt/HD_a2/ffpbuildenv/work/ffmpeg-0.5.4/pkg.
ffmpeg from source get installed in /usr/local/ so it creates the directory structure under …./pkg but not under …./pkg/ffp
Can I have some help to force the install path to /ffp/…
Perhaps some parameter in config stage in package source?
The PREFIX /ffp must be set in the configure-options, you forgot to set this. Then the make creates this. Hacking the Conf.d-Directory is not needed!
Cheers,
Uli
I am trying to compile kerberos 5 right now.
I run into the following error:
* krb5-1.9-1
config.site found
unpack krb5-1.9.tar.gz ...
updating ./krb5-1.9/src/config/config.guess ...
updating ./krb5-1.9/src/config/config.sub ...
destdir-start-files.sh
destdir-descr.sh
destdir-doinst.sh
destdir-checks: check_libs
destdir-checks: check_prefix
FATAL: /ffp not found in package directory /mnt/HD_a2/ffpbuildenv/work/krb5-1.9/pkg
What is going wrong?
Thank you,
The PREFIX is not set. Check if you need to add this to the configure-options.
Cheers,
Uli
I have set
--exec-prefix=$CPREFIX
and get this result.
I also tried
--exec-prefix=$CPREFIX/ffp
.This sub folder is not being created. It looks like the creation of the sub folder is failing. Where do I have to check the location of the creation of the ffp subfolder?
Thanks.
Then check the configure-Script to determine how to set the PREFIX. Compiling Software is unfortunately no easy 1…2…3 way 🙂
Cheers,
Uli
where the PREFIX has to be set? in configure.sh? In configure_args? Or is it to be set as a text file as PV and PR? I succeeded in packaging NcFTP, but I did not set PREFIX anywhere, while trying compiling duplicity I got the same error as Dirk…
you can use either configure.sh to set all configure-arguments yourself or configure_args to add arguments. The prefix is added automatically with the build environment. Sometimes that fails, so you have to set it yourself.
Cheers,
Uli
Hi federico,
just one additional comment: Did you try the buildscript for duplicity from here already? I’m not sure, but i think it works.
Cheers,
Uli
hi, i am trying to compile ktorrent. sorry, i am a Linux noob, i am not quite understand the instruction. i am lost at “Downloading the distribution file”. Is this the tutorial to compile any linux software to be used on fun_plug?
This is the tutorial to compile any linux software for the fun_plug, yes. Try transmission for bittorrent?
Cheers,
Uli
transmission doesn’t have the feature to select specific files to download in a torrent.
i set up the “Chrooting to the build environment” and ffpbuildenv, and got lost at “Downloading the distribution file”, not quite sure what it means and how it can download the distribution file from
“cd /mnt/HD_a2/ffpbuildenv/source/
./Make.sh -F “
how can mount second hdd sdb?
Integrated Sata device found
scsi0 : Marvell SCSI to SATA adapter
scsi1 : Marvell SCSI to SATA adapter
scsi 0:0:0:0: Direct-Access WDC WD20EARS-00MVWB0 51.0 PQ: 0 ANSI: 5
scsi 1:0:0:0: Direct-Access Seagate ST2000DL001-9VT1 CC96 PQ: 0 ANSI: 5
scsi 0:0:0:0: Attached scsi generic sg0 type 0
scsi 1:0:0:0: Attached scsi generic sg1 type 0
i want to mount ntfs file system on sdb (sg1)
Same answer as here:
Cheers,
Uli
Hello,
Is there an ISCSI target compiled?
Thanks.
Hi,
name me a software that does that and we’ll try to compile it. I’ve nevery worked with iSCSI so i got no idea how that works.
Cheers,
Uli
Hallo Uli
There is software called tgtd
you Can use This to try compile for isci support.
Link:
http://manpages.ubuntu.com/manpages/natty/man8/tgtd.8.html
Keep up the good work
Kind Regards Jesper
Another link to the isci target (tgtd/tgtadmin)
Link:
http://kmaiti.blogspot.com/2011/05/setup-iscsi-target-using-tgtadm-in-red.html
Kind Regards
Jesper
Hi, I’m new in linux in general and I have installed ffp on my nas.
Now I wish to install some applications.
Reading several tutorials on installing application on linux, I see there should be some directories or i should be able to inpuy some commands, but I can’t find them or I can execute them in part. For example, I wish to use my printer (a Canon MP830) through my nas.
As the native firmware of the nas recognize my printer but doesn’t let it works, I found a tutorial here: http://dev.linuxfoundation.org/~till/printing-tutorial/tut.html on how to use the printer. Saddenly lot of commands exit with errors as: modprobe , or connecting to cups via http (cupsd seems to be running on the ffp 0.5. Through the ps -A command I find it…)…so where should I begin? Should I try package cups from source and reinstall it? After this it would support all commands? Or using it (as other applications) on a nas means “to lose” some feautures? Thank you in advance
I’m trying following your tutorial, but…at first line I get an error…
I have searched for mnt directory, but there isn’t on my ffp….
at third line:
On teh inreto.de website there is no more a directory namedsvn…
maybe they are my errors…anyway please help!
For the first command I have discovered my only hard drive is /dev/md0 and I have a mnt directory as subdirectory of /tmp.
Anyway I found a directory called i-data that is my hard drive as it contains another directory and then the files I copied on my nas hard drive.
So I execute the command
mkdir /i-data/129b5666/admin/ffpbuildenv
and then
cd /i-data/129b5666/admin/ffpbuildenv
is it correct the same?
Anyway I have still the problem with the svn command. On the inreto.de directories I found a “source” directory before a svn one, but also pointing there I got a “connection refused” by the host….
hei…now svn goes….
almost resolved every problem but on an “easy” step (downloading) I get:
The url is correct, if I digit it on a browser I can save it….have I to add a point at the end of the command of url? i.e.
???
thanks
solved changing http://www.nano-editor.org with its ip address…maybe I have dns not correctly installed…
Hi Uli, i have tried to compile ffmpeg for my sharecenter but im just too n00b to do it =) the ffmpeg needs ./configure and i thought that autoconfig would work but autoconfig requires another program etc. Is there anyway to get ffmpeg as a package?
Hello Mattias,
check here.
Best Regards,
Uli
Hi Uli
I would like to use e-mail on the DNS-323 and DNS-343. Mutt and msmstp are installed by the firmware. I understand I also need fetchmail, too? (To pull-in incoming mail). fetchmail has to be compiled, right, since there is no ready-made ffp package for it?
Or is there an equivalent program for fetching mail, which exists among the current ffp packages?
Fetchmail is not available yet, i will try to compile. You can use optware in the meantime.
Cheers,
Uli
Hi,
I’m trying to compile 7zip for my NAS, but I get this error:
If I create that directory manually before running Make.sh, it gets deleted. What am I doing wrong?
Probably the prefix is not set correctly in the make-file.
Cheers,
Uli
I’m having issues compiling id3v2 (source available from id3v2.sourceforge.net ). It required id3lib, which is available as fun_plungin package.
When trying to compile id3v2, I get gazillion of
“Undefined reference to” (insert function name here). Basically for all calls that refer to id3lib.
g++ -I/usr/local/include/ -DVERSION="\"0.1.11\"" -c -o convert.o convert.cpp
g++ -I/usr/local/include/ -DVERSION="\"0.1.11\"" -c -o list.o list.cpp
g++ -I/usr/local/include/ -DVERSION="\"0.1.11\"" -c -o id3v2.o id3v2.cpp
g++ -I/usr/local/include/ -DVERSION="\"0.1.11\"" -c -o genre.o genre.cpp
c++ -Wl,-rpath -Wl,/ffp/lib -L/usr/local/lib/ -pedantic -Wall -lz -lid3 -g -o id3v2 convert.o list.o id3v2.o genre.o
I tried everything, in the chroot environment I even symlinked /usr/local/lib to /usr/lib and same with /usr/local/include to /usr/include
That way I was 100% sure that the include and lib paths that were given as parameters were valid and contained the headers and libraries.
As the lib-files are libid3.a and libid3.ar (instead of libid3.so), I tried even modifying the linker parameters, removing -W parameter and using -static (I read from somewhere that .a is a static library).
Nevertheless, no success.
Any ideas what I’m missing?
I use id3v2 to tag the radioshows I have on my NAS. if file doesn’t contain any id3 ver 2 tag, then the whole file needs to be copied over, thus updating 100meg file, generates some 200megs of network traffic in the first update. I’d rather do that update “locally” on the NAS instead of over the network.
Darn, I should proof read what I write. Just to clarify, libid3 is installed and available when trying to compile id3v2.
Trying this guide to compile minidlna patched for Samsung on my DNS-320.
I made a clean ffp 0.5 install. Then I installed apr, apr-util, bash, gcc, neon and subversion from your repository, proceeded on svn ffpbuildenv etc.. At last, when I download any package like lighttpd or mediatomb etc to try to compile, compilation tells me “C compiler cannot create executables”… Something wrong?
Did you install _ALL_ packages as instructed in https://nas-tweaks.net/82/installing-and-uninstalling-packages-and-activation-and-deactivation-of-daemons-in-fonz-fun_plug/#Packages
Thank you 🙂 Now I’m able to compile minidlna.. Still having trouble with my DNS-320 vs minidlna vs inotify, retrying a solution found googling 🙂
how to apply a patch to source before compiling?
you can put your patch in the patches directory /mnt/HD/HD_a2/ffpbuildenv/patches/ and refer to it from a file called
patch-series in the directory of your application /mnt/HD/HD_a2/ffpbuildenv/source//patch-series. You can look at for example vim or zlib.
Thank you Alain for this precious information; just finished compiling it in 2 versions with relative patches 🙂
Hi,
I’m trying install aria2 on my NAS.
While doing “./Make.sh aria2c” I get nothing.
In log I found:
ln: creating symbolic link `/bin/bash’: Read-only file system
Is there any way to solve this problem?
Robert
Fabio, I need to compile minidlna CVS on my DNS-325 but it doesn’t work. How can I do this ? Thanks.
3rd time trying to reply… After you install _ALL_ packages as Jani suggested me, you need to prepare the ffpbuildenv as you read here.
Then you need the minidlna buildenv, that you can find in plord fun_plug repo and should be good to read also this topic for inotify problems and suggestion: forum_dsmg600_info viewtopic_php?pid=44857
Sorry, this answer is for R0b1n but I don’t know why I can’t post there
OK thanks Fabio I will try this 😉
I tried to crosscompile the pthsem-package.
Everything was going fine – but in the end there was a problem.
Any help?
./Make.sh pthsem-2.0.8
+ rm -rf /i-data/0faecd45/ffpbuildenv/work/pthsem-2.0.8-2.0.8
+ mkdir -p /i-data/0faecd45/ffpbuildenv/work/pthsem-2.0.8-2.0.8
++ ls /i-data/0faecd45/ffpbuildenv/source/Conf.d/build-env/bin_bash.sh /i-
data/0faecd45/ffpbuildenv/source/$
+ for _f in ‘$(ls $CONFDIR/build-env/*.sh 2>/dev/null)’
+ . /i-data/0faecd45/ffpbuildenv/source/Conf.d/build-env/bin_bash.sh
++ check_required_files /ffp/bin/bash
++ for _f in ‘”$@”‘
++ ‘[‘ -r /ffp/bin/bash ‘]’
++ ‘[‘ -e /bin/bash ‘]’
++ ln -s /ffp/bin/bash /bin/bash
++++ readlink -f /bin/sh
+++ basename /bin/busybox
++ ‘[‘ busybox ‘!=’ bash ‘]’
++ ‘[‘ -e /bin/sh ‘]’
++ mv /bin/sh /bin/sh.orig
++ ln -s /ffp/bin/bash /bin/sh
+ for _f in ‘$(ls $CONFDIR/build-env/*.sh 2>/dev/null)’
+ . /i-data/0faecd45/ffpbuildenv/source/Conf.d/build-env/cc.sh
++ ‘[‘ -z ” ‘]’
++ export CC=gcc
++ CC=gcc
+ for _f in ‘$(ls $CONFDIR/build-env/*.sh 2>/dev/null)’
+ . /i-data/0faecd45/ffpbuildenv/source/Conf.d/build-env/distcc.sh
++ export DISTCC_DIR=/i-data/0faecd45/ffpbuildenv/source/Conf.d/distcc
++ DISTCC_DIR=/i-data/0faecd45/ffpbuildenv/source/Conf.d/distcc
++ export ‘CC=distcc gcc’
++ CC=’distcc gcc’
++ export ‘CXX=distcc g++’
++ CXX=’distcc g++’
+ for _f in ‘$(ls $CONFDIR/build-env/*.sh 2>/dev/null)’
+ . /i-data/0faecd45/ffpbuildenv/source/Conf.d/build-env/flags.sh
++ export ‘CFLAGS=-O2 -pipe’
++ CFLAGS=’-O2 -pipe’
+ for _f in ‘$(ls $CONFDIR/build-env/*.sh 2>/dev/null)’
+ . /i-data/0faecd45/ffpbuildenv/source/Conf.d/build-env/rpath.sh
++ RPATH=/ffp/lib
++ LDFLAGS_RPATH=’-Wl,-rpath -Wl,/ffp/lib’
++ export ‘LDFLAGS= -Wl,-rpath -Wl,/ffp/lib’
++ LDFLAGS=’ -Wl,-rpath -Wl,/ffp/lib’
+ for _f in ‘$(ls $CONFDIR/build-env/*.sh 2>/dev/null)’
+ . /i-data/0faecd45/ffpbuildenv/source/Conf.d/build-env/usr_bin_file.sh
++ ‘[‘ -e /usr/bin/file ‘]’
++ ln -s /ffp/bin/file /usr/bin/file
ln: failed to create symbolic link `/usr/bin/file’: Read-only file system
I find the error. It was not chrootet. But when I chroot the NAS has the problem that for dev its not possible to mount / bind. My NAS is a MEDION P89630. How can I solve this problem.
FFP 0.0.7 installed.
Hi all, I’m in need of the latest version of mkvtoolnix, 5.3.0 (that solve a bug about “segmentation fault”), but I removed the ffp build environment from my DNS-320… Any hint on creating a virtual machine (on a Win7 PC, with QEMU, Virtual PC or anything) for ffpbuildenv? Otherwise, can any very very nice guy build it for me? 🙂 Thank you for the precious informations…
After following this tutorial, the last steo fails during installation. I know it’s related to a prefix problem but I’m not sure how to resolve it. I set configure_args to –prefix=$CPREFIX but that did not fix the problem.
sh-3.2# ./Make.sh cups
* cups-1.5.2-1
config.site found
unpack cups-1.5.2-source.tar.gz …
configure …
make …
destdir …
destdir-descr.sh
destdir-start-files.sh
destdir-doinst.sh
destdir-checks: check_libs
destdir-checks: check_prefix
FATAL: /ffp not found in package directory /mnt/HD_a2/ffpbuildenv/work/cups-1.5.2/pkg
Hello all. Im having this error:
/mnt/HD/HD_a2/ffpbuildenv # svn co svn://inreto.de/svn/dns323/funplug/trunk .
/ffp/bin/sh: svn: not found
Looks that the SVN isnt there anymore. Is there any other source to get the svn?
Trying to download the files from the server but the connection keeps getting rejected.
root@dlink-0A5066:/mnt/HD_a2/ffp/etc# cd /mnt/HD_a2/ffpbuildenv
root@dlink-0A5066:/mnt/HD_a2/ffpbuildenv# svn co svn://inreto.de/svn/dns323/funplug/trunk .
svn: Can’t connect to host ‘inreto.de’: Connection refused Any thoughts about why?
Hallo,
könnte jemand der das zum laufen bekommen hat das Paket curlftps für den NAS kompilieren und mir senden?
Würde mich riesig freuen.
Grüße,
Matze
Ich bekomme immer den Fehler
error: C compiler cannot create executables
my fun_plug 0.5 doesn’t have SVN? Should I upgrade to 0.7 will that have SVN?
Hey,
the svn repo url doesn’t work anymore:
Please help! Has someone else a mirror of the repo?
Cheers
Gerald
Looks like fonz has stopped the service, please ask him 🙂
How can I contact him? Sorry, Uli I’m new to it…
Hi,
can anybody help me? I’ve tried to contact fonz, but got no reply from him. Is there another possibility to get the environment set up?
fonz svn service is still not working. Again I get the same error message as before:
svn: E000111: Can’t connect to host ‘inreto.de’: Connection refused
Please help me, I’ve got stucked and can not create a new package as I want to.
Thanks in advance,
Gerry
Hello Gerry,
sorry for the late reply. Do you want to create a package for ffp 0.7? Then you could use my new environment, which can be found here: https://github.com/SirUli/funplug/tree/master/0.7/ffpcompiler
I will describe it soon, the above was only for 0.5.
Best Regards,
Uli
Hi Uli,
good news! I’d appreciate it.
I don’t want to hurry you, but will you publish the article in the next days? I’m looking forward to read your blog entry!
Cheers,
Gerry
Hi!
A guide on how to use it would be very appreciated!
Hi, I’m using vblade that I patched to achieve best performance on DLink DNS-325.
I also failed to make package by this instructions due to “Unable to connect to a repository”.
One of packages – is libaio 0.3.110 that is neccessary for my changes in vblade and that I just compiled on NAS. I tried to create this package ‘manually’ by combining file tree and using makepkg, that gave me libaio-0.3.110-1-arm-1.txz file that looks pretty like a package I wanted.
So first question – what to do with it? How can I ‘submit’ it (and another package – my patched vblade)?
Hello, I realize this is a very old post, but I still use the ffp build environment described here regularly (thanks for such a helpful write up). I recently lost my SSH connection to my NAS in the middle of a build. When I reconnected and tried to run the chroot.sh script, I got an error saying “/ffp-chroot exists”. I’m kind of stuck at this point. I looked at the chroot.sh script and it’s not obvious to me what I need to to do clean up the environment and start over. Any advice would be greatly appreciated. Thanks.
Hey guys,
tried to setup the compiler, but when I try to do this step:
svn co svn://inreto.de/svn/dns323/funplug/trunk
I get an Error:
-sh: svn: command not found
what am i doing wrong?
I guess the ffp build environment wont work that way for funPlug 0.7
to install svn you Need the package subvision
but it wont help. I think this site (svn://inreto.de/svn/dns323/funplug/trunk) exists no more
I am interestet to get these packages to compile from source for my armV5tel (DNS 320L) but i didn’t found the right ones.
Can somebody give me a link?
Ulis ffp-compiler.sh work well on my DNS 320L
Hi JeyFrog,
I know this is a couple of years ago now, but how is ffp-compiler.sh used to compile software for funplug 0.7?
I can’t figure it out!!!
Thanks for your help.
AyGee
Never mind – figured it out!
Hi Uli,
I know the above is a few years old but I am still interested in compiling software for funplug 0.7 and would like to know how to use your environment at Github.
I cannot figure out how to use it and would appreciate some help.
Thanks in advance.
AyGee
Never mind – figured it out!