ninoh-fox / toolchain Goto Github PK
View Code? Open in Web Editor NEWtoolchain for RG350 and PG2 rogue cfw
License: GNU General Public License v2.0
toolchain for RG350 and PG2 rogue cfw
License: GNU General Public License v2.0
====================================================== ============= RG350 BUILD INSTRUCTIONS =============== ====================================================== ### Pre-Build Steps ### $ sudo apt-get update $ sudo apt-get install bison flex gettext texinfo wget cpio python unzip mercurial subversion libncurses5-dev libc6-dev-i386 bzr libssl-dev g++-multilib rsync java-wrappers mtools default-jdk ecj ## you need a javac compiler, (i.e. sudo apt-get install gcj-4.9-jdk) Make the folder /opt and download http://www.gcw-zero.com/files/opendingux-gcw0-toolchain.2014-08-20.tar.bz2 how superuser move the bz2 file in /opt folder and type /opt$ sudo tar jxvf ./opendingux-gcw0-toolchain.2014-08-20.tar.bz2 /opt$ sudo rm -rf ./opendingux-gcw0-toolchain.2014-08-20.tar.bz2 the next step is add the GCW0 Path in .bashrc file in your home folder, type this in the last line in the file: export PATH="/opt/gcw0-toolchain/usr/bin:${PATH}:/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/bin" ### Build Steps ### ## Enter the directory where you want to clone the git repo $ git clone https://github.com/Ninoh-FOX/toolchain.git $ cd toolchain $ make rg350_defconfig $ make ====================================================== To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) Use your shiny new root filesystem. Depending on which sort of root filesystem you selected, you may want to loop mount it, chroot into it, nfs mount it on your target device, burn it to flash, or whatever is appropriate for your target system. You do not need to be root to build or run buildroot. Have fun! Offline build: ============== In order to do an offline-build (not connected to the net), fetch all selected source by issuing a $ make source before you disconnect. If your build-host is never connected, then you have to copy buildroot and your toplevel .config to a machine that has an internet-connection and issue "make source" there, then copy the content of your dl/ dir to the build-host. Building out-of-tree: ===================== Buildroot supports building out of tree with a syntax similar to the Linux kernel. To use it, add O=<directory> to the make command line, E.G.: $ make O=/tmp/build And all the output files (including .config) will be located under /tmp/build. More finegrained configuration: =============================== You can specify a config-file for uClibc: $ make UCLIBC_CONFIG_FILE=/my/uClibc.config And you can specify a config-file for busybox: $ make BUSYBOX_CONFIG_FILE=/my/busybox.config To use a non-standard host-compiler (if you do not have 'gcc'), make sure that the compiler is in your PATH and that the library paths are setup properly, if your compiler is built dynamically: $ make HOSTCC=gcc-4.3.orig HOSTCXX=gcc-4.3-mine Depending on your configuration, there are some targets you can use to use menuconfig of certain packages. This includes: $ make HOSTCC=gcc-4.3 linux-menuconfig $ make HOSTCC=gcc-4.3 uclibc-menuconfig $ make HOSTCC=gcc-4.3 busybox-menuconfig Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: [email protected]
As I'm trying to automake from Fuse emulator's Makefile.am I'm getting
$ automake --add-missing --copy --force-missing
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/${ <-- HERE ([^ \t=:+{}]+)}/ at /opt/gcw0-toolchain/usr/bin/automake line 3930.
The fix (backslashing brackets):
3930
#$text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
$text =~ s/\$\{([^ \t=:+{}]+)\}/substitute_ac_subst_variables_worker ($1)/ge;
It seems to be related to Perl version. I'm using:
This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi
Hi @Ninoh-FOX ,
When running make, after around 1 hour I'm getting the following problem and I'm not sure what's going on.
Applying strace-02-fix-ptrace_peeksiginfo_args.patch using patch: patching file configure.ac Hunk #1 FAILED at 257. 1 out of 1 hunk FAILED -- saving rejects to file configure.ac.rej patching file process.c Hunk #1 FAILED at 63. 1 out of 1 hunk FAILED -- saving rejects to file process.c.rej patching file signal.c Hunk #1 FAILED at 51. 1 out of 1 hunk FAILED -- saving rejects to file signal.c.rej patching file syscall.c Hunk #1 FAILED at 48. 1 out of 1 hunk FAILED -- saving rejects to file syscall.c.rej patching file util.c Hunk #1 FAILED at 55. 1 out of 1 hunk FAILED -- saving rejects to file util.c.rej Patch failed! Please fix strace-02-fix-ptrace_peeksiginfo_args.patch! package/pkg-generic.mk:146: recipe for target '/toolchain/output/build/strace-5.4/.stamp_patched' failed make: *** [/toolchain/output/build/strace-5.4/.stamp_patched] Error 1
Thanks for your great contribution!
CMake in /opt/gcw0-toolchain/usr/bin/cmake uses /opt/gcw0-toolchain/usr/share/cmake-3.1/Modules/
There is FindSDL.cmake and other FindSDL_* but no FindSDL2. Developers add custom FindSDL_ to their source code. Eg. here:
https://github.com/brendan-w/collector/tree/master/cmake
But even the existing FindSDL.cmake cannot find SDL in
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib
Why? Can it use a relative path? I'm not sure yet.
To fix this in my case, FIND_LIBRARY needs to be updated. Eg.
FIND_LIBRARY(SDL2_LIBRARY_TEMP
NAMES SDL2
HINTS
$ENV{SDL2DIR}
PATH_SUFFIXES lib64 lib
PATHS
/sw
/opt/local
/opt/csw
/opt
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib
)
There is a way to use $ENV{SDL2DIR} but I still need to learn how.
Hi! I've managed to build the sd_image from your repo and flashed it into my RG280V SD-card.
The console starts to boot, shows the graphical logo, reports that it is creating a swap (but I don't see any progress bar change there), shows that it "wipes the old config" and reboots. Then the same repeats over and over.
How to debug this? What could be the problem?
I was building in Ubuntu 18.04, had to make some small patches in the build scripts, but I haven't changed any C/C++ code and haven't changed anything major.
With the latest toolchain dated Sep 8, 2021 I'm getting:
/opt/gcw0-toolchain/usr/lib/gcc/mipsel-gcw0-linux-uclibc/4.9.1/../../../../mipsel-gcw0-linux-uclibc/bin/ld: cannot find -lresolv
Maybe not an issue but still worth looking at.
The latest toolchain has both libpng14 and libpng16. During compilation/linking version 14 is used by default instead of 16.
I guess it's because 14 comes before 16 alphabetically.
My Go build now looks like this:
CC='/opt/gcw0-toolchain/usr/bin/mipsel-gcw0-linux-uclibc-gcc' \
CGO_CFLAGS='-I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include
-I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/libpng16
-D_REENTRANT' \
CGO_ENABLED=1 \
CGO_LDFLAGS='-L/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -lSDL2 -lpng16' \
GOARCH=mipsle \
GOMIPS=softfloat \
GOOS=linux \
PKG_CONFIG='/opt/gcw0-toolchain/usr/bin/pkg-config' \
go build -o ${TMP_FOLDER}/${TARGET} ${SOURCE}
See how I'm specifying libpng16 because otherwise 14 is used. SDL2 uses 16 I guess.
This version of buildroot has some broken links, as #3 mentioned, also I found htop to be broken. Updating to the latest buildroot should fix this
I'm trying to build OPK for the latest ScummVM. I have downloaded the latest Debian toolchain from the releases page, extracted it into /opt/gcw0-toolchain, and executed bash backends/platform/dingux/build.gcw0.sh
from ScummVM root directory. It builds for a while, until it tries to link:
C++ engines/xeen/xsurface.o
AR engines/libengines.a
mipsel-linux-ar: error while loading shared libraries: libfl.so.2: cannot open shared object file: No such file or directory
libfl.so.2 is shared library provided by flex. Toolchain contains flex, could it be shipped with this shared library as well?
During make
the access on https://bitbucket.org/bartbes/love-experiments
fails as this repository no longer exists (Mercurial support has been removed from Bitbucket).
>>> love2d aeefcc6 Downloading
http authorization required for https://bitbucket.org/bartbes/love-experiments
realm: Bitbucket.org HTTP
user:
password:
http authorization required for https://bitbucket.org/bartbes/love-experiments
realm: Bitbucket.org HTTP
user: interrupted!
--2020-08-19 16:38:16-- http://sources.buildroot.net/love2d-aeefcc6.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.1.37, 172.67.72.56, 104.26.0.37, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.1.37|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2020-08-19 16:38:16 ERROR 404: Not Found.
package/pkg-generic.mk:73: recipe for target 'toolchain/output/build/love2d-6257287/.stamp_downloaded' failed
make: *** [toolchain/output/build/love2d-6257287/.stamp_downloaded] Error 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.