AROS Exec
General => Help => Topic started by: nikos on December 21, 2020, 03:50:48 PM
-
Hi, I know this been discussed before and there are some outdated manuals online.
Is it possible to get some help with this?
I like to try to compile VICE 3.4 using Linux to get a AROS v.0 i386 exe. I can use AROS hosted if that is more easy.
At least that is what I will use to test my .exe if there will ever be one ;)
https://vice-emu.sourceforge.io/
The link to cross compiler is not correct.
https://aros.sourceforge.io/documentation/developers/app-dev/introduction.php#compiling-on-linux-or-windows-with-a-cross-compiler
-
i wanted to try to compile something too i installed the sdk but then i couldn't do anything
-
one question.
linux drivers were considered to be transferred to Aros?
-
The link to cross compiler is not correct.
It hasn't been correct for ages now (while it was good).
If you do not have any idea on how to patch your buildsystem manually then you should perhaps make use of the gimmearos script (afairc provided by mazze) that can be found in the AROS source-tree (here (https://github.com/aros-development-team/AROS/tree/master/scripts)) and that is able to setup a complete (cross) development environment for AROS and allows you to compile AROS itself as well..
You should be able to find a similar script inside the source-tree of deadwood (for both abiv0/abiv1 as deadwoods tree is from before 'the split' ).
The script(s) should be able to install everything needed (and patch them as well, in case required).
-
one question.
linux drivers were considered to be transferred to Aros?
Sorry but that question "does not compute" for me :-[
What exactly do you mean by that ? That it was considered to port linux drivers to AROS ? In case you are then you should have a google at the words "Anubis OS" and/or "ARIX" ;)
If not then i am confused about the question as AROS makes use of something named HIDDS (hardware independent device driver's), and yes there is an occasional peek at how some hardware is addressed on other Operating Systems as there are sometimes quite a few quirks with regards to certain hardware. A HIDD can't be compared to a 'regular' driver (for whatever operating system).
edit: Having said that, i now realised that perhaps you are familiar with projects such as nouveau , mesa and mplayer. Those are ported to AROS.
-
@nikos
Here you have instructions on how to setup you linux and build a cross compiler:
https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md
-
ok deadwood but then in the source of the program that one wants to bring the makefile must be present, if it is not present how to proceed?
-
How to compile an application differs from application to application, so there is no one-size-fits-all answer. What I provided will be enough to build a cross compiler and you have to do development work to compile the application itself.
-
@deadwood: Noted. Thank you for the correction.
-
@nikos
Here you have instructions on how to setup you linux and build a cross compiler:
https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md
Thank you Deadwood. This is what I was looking for :)
I will try to follow the manual and don't be surprised if I got questions ;)
-
No worries, the more people try it, the more feedback they provide and the easier the manual becomes for more people to try.
-
How to compile an application differs from application to application, so there is no one-size-fits-all answer. What I provided will be enough to build a cross compiler and you have to do development work to compile the application itself.
ok :)
-
I got here:
Querying target compiler features...
checking for x86_64-pc-linux-gnu-gcc... /var/www/svn/myrepo/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /var/www/svn/myrepo/alt-abiv0-pc-i386/bin/pc-i386/AROS/Development
checking whether the C compiler works... no
features: error: in `/var/www/svn/myrepo/alt-abiv0-pc-i386/config':
features: error: C compiler cannot create executables
See `config.log' for more details
Makefile:76: recipe for target '/var/www/svn/myrepo/alt-abiv0-pc-i386/config/features.status' failed
make[1]: *** [/var/www/svn/myrepo/alt-abiv0-pc-i386/config/features.status] Error 77
Makefile:229: recipe for target 'bootiso' failed
make: *** [bootiso] Error 2
niko@niko-Latitude-D520 /var/www/svn/myrepo $ dir
alt-abiv0-pc-i386 AROS rebuild.sh toolchain-alt-abiv0-i386
niko@niko-Latitude-D520 /var/www/svn/myrepo $
-
Have you first selected "toolchain-alt-abiv0-i386" in ./rebuild.sh script?
Do you have /var/www/svn/myrepo/toolchain-alt-abiv0-i386/ directory?
-
Have you first selected "toolchain-alt-abiv0-i386" in ./rebuild.sh script?
Do you have /var/www/svn/myrepo/toolchain-alt-abiv0-i386/ directory?
Yes, I have that directory. I did something wrong. I selected nr. 2 and not nr. 1 cause I got this error.
I followed your manual:
$ mkdir myrepo
$ cd myrepo
$ git clone https://github.com/deadw00d/AROS.git AROS
$ cd AROS
$ git checkout alt-abiv0
$ cd ..
$ cp ./AROS/scripts/rebuild.sh .
$ ./rebuild.sh
After that I get this.
niko@niko-Latitude-D520 /var/www/svn/myrepo/toolchain-alt-abiv0-i386/myrepo $ ./rebuild.sh
rebuild.sh v1.2, select an option:
0) exit
1) toolchain-alt-abiv0-i386
2) alt-abiv0-pc-i386
3) alt-abiv0-linux-i386 (DEBUG)
4) alt-abiv0-linux-i386
5) alt-abiv0-mingw32-i386
Toolchain : /var/www/svn/myrepo/toolchain-alt-abiv0-i386/myrepo/toolchain-alt-abiv0-i386
Build : /var/www/svn/myrepo/toolchain-alt-abiv0-i386/myrepo/toolchain-alt-abiv0-i386-build
Ports sources : /var/www/svn/myrepo/toolchain-alt-abiv0-i386/myrepo/portssources
mkdir: klarte ikke ć opprette mappa «/var/www/svn/myrepo/toolchain-alt-abiv0-i386/myrepo/toolchain-alt-abiv0-i386-build»: Ikke tilgang
mkdir: klarte ikke ć opprette mappa «/var/www/svn/myrepo/toolchain-alt-abiv0-i386/myrepo/toolchain-alt-abiv0-i386»: Ikke tilgang
./rebuild.sh: linje 71: cd: /var/www/svn/myrepo/toolchain-alt-abiv0-i386/myrepo/toolchain-alt-abiv0-i386-build: Fila eller mappa finnes ikke
./rebuild.sh: linje 72: ../AROS/configure: Fila eller mappa finnes ikke
make: *** No rule to make target 'crosstools'. Stop.
Using sudo to get access I get this.
Toolchain directory not set. Exiting
-
Yes, something is wrong. Looks like source codes are not present. What is the content of myrepo/AROS directory?
-
And why are you doing this under /var/www/svn/? Do all of these operations under home directory of your user or another directory where your user has write permissions.
-
Thx Deadwood. This is the content I have.
root@niko-Latitude-D520:/home/niko/myrepo/AROS# dir
acinclude.m4 compiler images license.html README.md
ACKNOWLEDGEMENTS config INSTALL.md LICENSE.LGPL rom
aclocal.m4 configure LEGAL make.defaults scripts
arch configure.in LICENSE Makefile.in test
boot external LICENSE.Author mmake.config.in tools
bootstrap _gdbinit LICENSE.GPL mmakefile workbench
root@niko-Latitude-D520:/home/niko/myrepo/AROS#
This is where I get from root.
https://pastebin.com/bCD6LWxr
From what I understand and to translate it say "the file or folder does not exsist"
Fatal error: can't create /home/niko/myrepo/toolchain-alt-abiv0-i386-build/bin/linux-x86_64/gen/host/tools/MetaMake/mmake.o: Fila eller mappa finnes ikke
-
Why are you running this as "root" user? I'd suggest to delete everything and start again as a normal user.
Another question: have you installed all of the required package as the manual says?
-
Why are you running this as "root" user? I'd suggest to delete everything and start again as a normal user.
Another question: have you installed all of the required package as the manual says?
Ok, thx Deadwood. I installed all the packages.
edit: It is building now :)
-
Now it finished with this.
Libraries have been installed in:
/home/niko/myrepo/toolchain-alt-abiv0-i386/lib/gcc/i386-aros/4.6.4
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/usr/bin/install -c -m 644 /home/niko/myrepo/toolchain-alt-abiv0-i386-build/bin/linux-x86_64/Ports/host/gcc/gcc-4.6.4/libquadmath/libquadmath.info '/home/niko/myrepo/toolchain-alt-abiv0-i386/share/info'
install-info --info-dir='/home/niko/myrepo/toolchain-alt-abiv0-i386/share/info' '/home/niko/myrepo/toolchain-alt-abiv0-i386/share/info/libquadmath.info'
/usr/bin/install -c -m 644 /home/niko/myrepo/toolchain-alt-abiv0-i386-build/bin/linux-x86_64/Ports/host/gcc/gcc-4.6.4/libquadmath/quadmath.h /home/niko/myrepo/toolchain-alt-abiv0-i386-build/bin/linux-x86_64/Ports/host/gcc/gcc-4.6.4/libquadmath/quadmath_weak.h '/home/niko/myrepo/toolchain-alt-abiv0-i386/lib/gcc/i386-aros/4.6.4/include'
-
Great, now you have a cross compiler. Next run ./rebuil.sh again and select the linux-i386 option which will build you linux hosted.
-
Great, now you have a cross compiler. Next run ./rebuil.sh again and select the linux-i386 option which will build you linux hosted.
That is beautiful :) One step in the right direction.
Could I make a suggestion in the manual.
Something like this:
Linux-i386
Select "1" toolchain-alt-abiv0-i386
run "./rebuild.sh" again after it is build.
Select "2" alt-abiv0-linux-i386 (DEBUG)
Edit: I tried to follow the manual and run it, but the directory was not found.
I looked at the iso created and there are many files in the system that are not build.
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/distfiles $ dir
aros-pc-i386.iso
Here is some output.
niko@niko-Latitude-D520 ~ $ cd myrepo
niko@niko-Latitude-D520 ~/myrepo $ dir
alt-abiv0-pc-i386 AROS portssources rebuild.sh toolchain-alt-abiv0-i386
niko@niko-Latitude-D520 ~/myrepo $ cd alt-abiv0-pc-i386/
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386 $ dir
arch bootstrap config.log external mmake.cache test
bin compiler config.status images mmake.config tools
boot config distfiles Makefile rom workbench
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386 $ cd bin
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin $ dir
linux-x86_64 pc-i386
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin $ cd linux-x86_64/
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/linux-x86_64 $ dir
gen tools
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/linux-x86_64 $ cd ..
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin $ cd pc-i386/
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/pc-i386 $ dir
AROS gen Ports
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/pc-i386 $ cd AROS/
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/pc-i386/AROS $ dir
Arch C Development EFI L Locale S Tests
AROS.boot Classes Devs Extras Libs Prefs Storage
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/pc-i386/AROS $ cd Arch/
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/pc-i386/AROS/Arch $ dir
pc
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/pc-i386/AROS/Arch $ cd pc
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/pc-i386/AROS/Arch/pc $ dir
bootstrap.gz Devs grub kernel.gz Libs
niko@niko-Latitude-D520 ~/myrepo/alt-abiv0-pc-i386/bin/pc-i386/AROS/Arch/pc $
-
Great, now you have a cross compiler. Next run ./rebuil.sh again and select the linux-i386 option which will build you linux hosted.
I've always had a working cross environment then ;D, deadwood if I want to compile a program what should I give as an option to ./configure in this case using the cross environment
-
@nikos
Thanks, that a good suggestion for manual. I will add it.
About the build, you are building the native version now (pc-i386), let's first try to build hosted. Your system is probably still missing some packages, we will see that when building hosted.
Please run ./rebuild.sh and selection option (3) alt-abiv0-linux-i386 (DEBUG)
-
I'm doing the same procedure too I would like to compile something, i downloaded the opendune code i should have the necessary when i finish compiling the build :)
-
I have encountered some problems
Compiling external/openurl/prefs/popport.c
Compiling external/openurl/prefs/popph.c
Compiling external/openurl/prefs/ftpeditwin.c
Compiling external/openurl/prefs/mailereditwin.c
Compiling external/openurl/prefs/browsereditwin.c
Compiling external/openurl/prefs/applist.c
Compiling external/openurl/prefs/win.c
Compiling external/openurl/prefs/about.c
Compiling external/openurl/prefs/app.c
Compiling external/openurl/prefs/vastubs.c
Compiling external/openurl/prefs/debug.c
Linking AROS/Prefs/OpenURL...
[MMAKE] Building AROS.external-openurl-cmd
[MMAKE] Nothing known about target linklibs- in project AROS
[MMAKE] Making external-openurl-cmd in external/openurl/cmd
mkdir -p /home/salvo/myrepo/alt-abiv0-linux-i386-d/bin/linux-i386/gen/external/openurl/cmd
Makedepend external/openurl/cmd/OpenURL.c...
Makedepend external/openurl/cmd/SmartReadArgs.c...
Makedepend external/openurl/cmd/debug.c...
Compiling external/openurl/cmd/OpenURL.c
Compiling external/openurl/cmd/debug.c
Compiling external/openurl/cmd/SmartReadArgs.c
Linking AROS/C/OpenURL...
[MMAKE] Making AROS in
41 /home/salvo/myrepo/alt-abiv0-linux-i386-d/bin/linux-i386/gen/errors
-
@salvo
I don't see any error in your output. What problem did you encounter?
-
rebuild.sh could not compile all-gcc for me, I'll file an issue about it.
-
@el-topo
Can you paste the output you got? Most of the problems I've seen are related to missing packages.
-
Yes, I did in the issue :)
https://github.com/deadw00d/AROS/issues/35
-
Thanks. I've seen those issues before but can't remember what is the solution :/
-
@salvo
I don't see any error in your output. What problem did you encounter?
I thought I ran into problems during the build process
-
i downloaded the opendune source i put the directory in local but i don't know how to compile there are configure and make scripts
salvo@salvo-AMILO-Pro-Series-V8210:~/myrepo/AROS/local/OpenDUNE-master$ ./configure
checking awk... awk
detecting OS... UNIX
checking build system type... i686-linux-gnu
checking host system type... i686-linux-gnu
checking universal build... no
checking build cc... gcc
checking host cc... gcc
checking strip... disabled
checking builtin depend... yes
checking makedepend... disabled
detecting cpu-type... 32 bits
checking static... no
using debug level... no
disabling asserts
using link time optimization... no
checking OSX sysroot... not OSX, skipping
checking SDL2... not found
checking SDL... found version 1.2.15
checking SDL_image... not found
checking asound... found
checking oss... found
checking pulse... found
checking kai... not found
checking munt... not found
checking GDI video driver... not Windows, skipping
checking assert... disabled
checking sort... sort
checking stripping... skipped
checking distcc... no (only used when forced)
checking ccache... no (only used when forced)
checking revision... no detection
WARNING: there is no means to determine the version.
WARNING: please use a subversion, mercurial, or git checkout of OpenDUNE.
WARNING: USE WITH CAUTION!
installation directory... /
gcc
using CFLAGS_BUILD... -fno-common -Wall -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -W -Wredundant-decls -Wformat=2 -Wformat-security -Wno-format-nonliteral -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -Winit-self -fno-strict-aliasing -Wcast-qual -fno-strict-overflow -Wno-free-nonheap-object -rdynamic -D_FORTIFY_SOURCE=2 -O1 -DNDEBUG
using LDFLAGS_BUILD... -rdynamic
using CFLAGS... -O2 -fomit-frame-pointer -Wno-variadic-macros -fno-common -Wall -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -W -Wredundant-decls -Wformat=2 -Wformat-security -Wno-format-nonliteral -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -Winit-self -fno-strict-aliasing -Wcast-qual -fno-strict-overflow -Wno-free-nonheap-object -rdynamic -DUNIX -I/home/salvo/myrepo/AROS/local/OpenDUNE-master/include -D_FORTIFY_SOURCE=2 -DWITH_SDL -I/usr/include/SDL -D_REENTRANT -DWITHOUT_SDLIMAGE -DALSA -D_REENTRANT -DPULSEAUDIO -DNDEBUG
using LDFLAGS... -L/usr/lib/i386-linux-gnu -lSDL -lasound -lpulse -rdynamic
Generating Makefile...
Generating objs/Makefile...
-
@deadwood/el-topo:
Thanks. I've seen those issues before but can't remember what is the solution :/
I've ran into the same error messages when compiling on/to my (linux) ramdisk (which i expected, ran out of space). The real error became visible for me when compiling with single core (j 1, instead of j 3).
-
@nikos
Thanks, that a good suggestion for manual. I will add it.
About the build, you are building the native version now (pc-i386), let's first try to build hosted. Your system is probably still missing some packages, we will see that when building hosted.
Please run ./rebuild.sh and selection option (3) alt-abiv0-linux-i386 (DEBUG)
Done :)
I guess you like to see the errors?
https://pastebin.com/28ZR51Ss
-
@nikos
I think you pasted the errors file. What i need to see is console output. Just let ./rebuild.sh run and when it stops, copy what is in the console and paste here.
-
@nikos
I think you pasted the errors file. What i need to see is console output. Just let ./rebuild.sh run and when it stops, copy what is in the console and paste here.
That is correct.
Here it is.
/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib -newclib -o wpa_supplicant config.o notify.o bss.o eap_register.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/wpabuf.o wpa_gui_amiga.o ../src/utils/os_amiga.o ../src/utils/eloop_amiga.o config_file.o ../src/rsn_supp/wpa.o ../src/rsn_supp/preauth.o ../src/rsn_supp/pmksa_cache.o ../src/rsn_supp/peerkey.o ../src/rsn_supp/wpa_ie.o ../src/common/wpa_common.o ../src/eapol_supp/eapol_supp_sm.o ../src/eap_peer/eap.o ../src/eap_peer/eap_methods.o ../src/crypto/crypto_internal.o ../src/crypto/tls_none.o ../src/crypto/aes-internal.o ../src/crypto/aes-internal-dec.o ../src/crypto/aes-unwrap.o ../src/crypto/aes-internal-enc.o ../src/crypto/md5.o ../src/crypto/md5-internal.o ../src/crypto/rc4.o mlme.o ../src/common/ieee802_11_common.o ../src/eap_common/eap_common.o ../src/crypto/sha1.o ../src/crypto/sha1-internal.o ../src/crypto/sha1-pbkdf2.o wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o main_amiga.o ../src/drivers/driver_sana2.o ../src/drivers/drivers.o ../src/l2_packet/l2_packet_none.o -lmui
CC ../src/common/wpa_ctrl.c
/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib -newclib -o wpa_passphrase wpa_passphrase.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/wpabuf.o ../src/utils/os_amiga.o ../src/crypto/crypto_internal.o ../src/crypto/md5.o ../src/crypto/md5-internal.o ../src/crypto/sha1.o ../src/crypto/sha1-internal.o ../src/crypto/sha1-pbkdf2.o
CC wpa_cli.c
/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib -newclib -o wpa_cli wpa_cli.o ../src/common/wpa_ctrl.o ../src/utils/os_amiga.o
make[2]: warning: -jN forced in submake: disabling jobserver mode.
cp wpa_supplicant /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/C/WirelessManager
[MMAKE] Nothing known about target kernel-usb-linux-i386 in project AROS
[MMAKE] Making AROS in
41 /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/gen/errors
-
I don't see any errors to be honest. The build just stops like this?
What happens when you try running AROS hosted created by that build?
-
I don't see any errors to be honest. The build just stops like this?
What happens when you try running AROS hosted created by that build?
Oh my god, it works :D
Question is why did not the option 2 work?
-
@nikos
Now that we have linux-hosted build, we can resume native (option 2).
Run ./rebuild.sh and selection option 2. Wait until it finished, then:
$ cd alt-abiv0-pc-i386
$ make
and paste the console output
-
@nikos
Now that we have linux-hosted build, we can resume native (option 2).
Run ./rebuild.sh and selection option 2. Wait until it finished, then:
$ cd alt-abiv0-pc-i386
$ make
and paste the console output
That is a lot!! but here is the end of it.
make[1]: Nothing to be done for 'workbench-network-stacks-arostcp-s'.
[MMAKE] Building AROS.workbench-network-stacks-arostcp-envpackage
[MMAKE] Making workbench-network-stacks-arostcp-envpackage in workbench/network/stacks/AROSTCP/S
echo "SYS:System/Network/AROSTCP" >/home/niko/alt-abiv0-pc-i386/bin/pc-i386/AROS/Prefs/Env-Archive/SYS/Packages/AROSTCP
[MMAKE] Building AROS.workbench-network-stacks-arostcp-db
[MMAKE] Making workbench-network-stacks-arostcp-db in workbench/network/stacks/AROSTCP/db
make[1]: Nothing to be done for 'workbench-network-stacks-arostcp-db'.
[MMAKE] Building AROS.workbench-network-stacks-arostcp-bsdsocket
[MMAKE] Nothing known about target linklibs- in project AROS
[MMAKE] Making workbench-network-stacks-arostcp-bsdsocket in workbench/network/stacks/AROSTCP/bsdsocket
make[1]: Nothing to be done for 'workbench-network-stacks-arostcp-bsdsocket'.
[MMAKE] Making workbench-network-stacks-arostcp in workbench/network/stacks/AROSTCP
make[1]: Nothing to be done for 'workbench-network-stacks-arostcp'.
[MMAKE] Building AROS.network-dhcp-client
[MMAKE] Building AROS.network-dhcp-client-quick
[MMAKE] Building AROS.network-dhcp-libdhcp
[MMAKE] Making network-dhcp-libdhcp in workbench/network/stacks/AROSTCP/dhcp/common
make[1]: Nothing to be done for 'network-dhcp-libdhcp'.
[MMAKE] Building AROS.network-dhcp-libdst
[MMAKE] Making network-dhcp-libdst in workbench/network/stacks/AROSTCP/dhcp/dst
make[1]: Nothing to be done for 'network-dhcp-libdst'.
[MMAKE] Building AROS.network-dhcp-libomapip
[MMAKE] Making network-dhcp-libomapip in workbench/network/stacks/AROSTCP/dhcp/omapip
make[1]: Nothing to be done for 'network-dhcp-libomapip'.
[MMAKE] Building AROS.network-dhcp-libminires
[MMAKE] Making network-dhcp-libminires in workbench/network/stacks/AROSTCP/dhcp/minires
make[1]: Nothing to be done for 'network-dhcp-libminires'.
[MMAKE] Making network-dhcp-client-quick in workbench/network/stacks/AROSTCP/dhcp/client
make[1]: Nothing to be done for 'network-dhcp-client-quick'.
[MMAKE] Nothing known about target linklibs-dhcp in project AROS
[MMAKE] Nothing known about target linklibs-minires in project AROS
[MMAKE] Nothing known about target linklibs-omapip in project AROS
[MMAKE] Nothing known about target linklibs-dst in project AROS
[MMAKE] Making network-dhcp-client in workbench/network/stacks/AROSTCP/dhcp/client
make[1]: Nothing to be done for 'network-dhcp-client'.
[MMAKE] Building AROS.workbench-network-smbfs
[MMAKE] Building AROS.workbench-network-smbfs-client
[MMAKE] Nothing known about target aros-tcpip in project AROS
[MMAKE] Nothing known about target workbench-network-smbfs-setup in project AROS
[MMAKE] Building AROS.workbench-network-smbfs-client-includes
[MMAKE] Building AROS.workbench-network-smbfs-client-makefile
[MMAKE] Making workbench-network-smbfs-client-makefile in workbench/network/smbfs/source_code
make[1]: Nothing to be done for 'workbench-network-smbfs-client-makefile'.
[MMAKE] Building AROS.workbench-network-smbfs-client-includes-dirs
[MMAKE] Making workbench-network-smbfs-client-includes-dirs in workbench/network/smbfs/source_code
make[1]: Nothing to be done for 'workbench-network-smbfs-client-includes-dirs'.
[MMAKE] Building AROS.workbench-network-smbfs-client-fd
[MMAKE] Making workbench-network-smbfs-client-fd in workbench/network/smbfs/source_code
make[1]: Nothing to be done for 'workbench-network-smbfs-client-fd'.
[MMAKE] Making workbench-network-smbfs-client-includes in workbench/network/smbfs/source_code
make[1]: Nothing to be done for 'workbench-network-smbfs-client-includes'.
[MMAKE] Nothing known about target linklibs- in project AROS
[MMAKE] Making workbench-network-smbfs-client in workbench/network/smbfs/source_code
make[1]: Nothing to be done for 'workbench-network-smbfs-client'.
[MMAKE] Nothing known about target workbench-network-smbfs-docs in project AROS
[MMAKE] Building AROS.workbench-network-common
[MMAKE] Building AROS.workbench-network-common-c
[MMAKE] Nothing known about target network-includes in project AROS
[MMAKE] Nothing known about target linklibs- in project AROS
[MMAKE] Making workbench-network-common-c in workbench/network/common/C
make[1]: Nothing to be done for 'workbench-network-common-c'.
[MMAKE] Building AROS.workbench-network-wirelessmanager
[MMAKE] Building AROS.workbench-network-wirelessmanager-target
[MMAKE] Nothing known about target setup in project AROS
[MMAKE] Building AROS.workbench-network-wirelessmanager-quick
[MMAKE] Building AROS.workbench-network-wirelessmanager-configure
[MMAKE] Making workbench-network-wirelessmanager-configure in workbench/network/WirelessManager/wpa_supplicant
make[1]: Nothing to be done for 'workbench-network-wirelessmanager-configure'.
[MMAKE] Building AROS.workbench-network-wirelessmanager-build_and_install-quick
[MMAKE] Making workbench-network-wirelessmanager-build_and_install-quick in workbench/network/WirelessManager/wpa_supplicant
make[1]: Nothing to be done for 'workbench-network-wirelessmanager-build_and_install-quick'.
[MMAKE] Nothing known about target kernel-usb-pc-i386 in project AROS
[MMAKE] Making AROS in
-
Now
$ make bootiso
-
Now
$ make bootiso
Yes, that worked :)
/home/niko/alt-abiv0-pc-i386/distfiles
All the files are in the ISO :)
Seams my build system is set up correct now?
-
Yes, good.
Now, your compiler is located in toolchain-alt-abiv0-i386 directory and named i386-aros-gcc. Includes are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/include and libraries are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development.lib.
This is how then can be passed to the compiler:
/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib
-
Yes, I did in the issue :)
https://github.com/deadw00d/AROS/issues/35 (https://github.com/deadw00d/AROS/issues/35)
I am now able to confirm this is an issue on newer (Linux) distributions, as i tested it on a newer debian.
Apparently it seems to be an issue with regards to texinfo, being too new (backwards incompatibility).
Google turned up two different approaches:
1) downgrade textinfo on your system
2) patch gcc (patch for specific compiler versions seem to be available online)
Option 1 might be very inconvenient for your system/setup, and 2 requires a little help from our friend deadwood in that the build-system runs an extra patch over gcc ?
Other ideas/suggestions are welcome.
-
@magorium
Thanks for looking into this. This will then go away once I update gcc to newer version.
-
@deadwood
No problem looking into it, as i wanted to test it anyway (just was not able to do it sooner :-\ ).
afairc from the bug-report reactions it is an issue specific with the 4.x series of the compiler so indeed it should be fixed automatically with upgrading the compiler.
-
I tried to compile VICE 3.5
I assumed that I could do this.
./configure --host=i686-aros
and then
make
It is building and everything seams to be ok but I'm pretty sure I'm building Linux files.
It is all .c .h .o files. Not any .exe
Here is the log.
https://filebin.net/7kl40i9mava3ssmd
The readme in VICE 3.1 say this:
- MorphOS
Using the AHI or SDL sound system, the CGX graphics system, the LowLevel
input system and the MUI GUI system.
- AROS
Using the AHI or SDL sound system, the CGX graphics system, the LowLevel
input system and the MUI GUI system.
These ports are still missing some dialogs and missing some features,
however, we are working on implementing them.
Building the binaries using a cross-compiler :
- AmigaOS3: configure with --host=m68k-amigaos
- AmigaOS4: configure with --host=ppc-amigaos
- MorphOS: configure with --host=ppc-morphos
- Intel AROS: configure with --host=i686-aros
- PPC AROS: configure with --host=powerpc-aros
- AROS64: configure with --host=x86_64-aros
After the configure script is done:
make
make bindist
I also tried this:
niko@niko-Latitude-D520 ~/vice-emu-code/vice $ ./configure --host=i686-pc-aros CC=i386-aros-gcc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i686-pc-aros-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
option checking is yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... i686-pc-aros
checking for i686-pc-aros-gcc... i386-aros-gcc
checking whether the C compiler works... no
configure: error: in `/home/niko/vice-emu-code/vice':
configure: error: C compiler cannot create executables
See `config.log' for more details
-
It is building and everything seams to be ok but I'm pretty sure I'm building Linux files.
It is all .c .h .o files. Not any .exe
That is affirmative.
That is because the vice scripts are already telling you that:
checking build system type... x86_64-pc-linux-gnu
checking host system type... i686-pc-aros
checking for i686-pc-aros-gcc... i386-aros-gcc
checking whether the C compiler works... no
See `config.log' for more details
The system you build on is a 64-bit linux pc and that the host system you wish to build for is i686-pc-aros. Then tries to find/locate the compiler to be able to accomplish that task... and tells you it failed in locating the (correct) compiler ("checking whether the C compiler works... no")
You can check that yourself by opening a terminal and entering the following command:
i686-pc-aros-gcc
or
i386-aros-gcc
And in case that returns some output other than "command not found" then you should be good to go.
Where you actually have your cross-compiler located, i have no idea (but you should be able to know where it is ;) ). If you know where it is located now all that is left for you to do is to make sure the vice build system knows that as as well (*).
If you have been able to correct that, then you would most probably run into the next issue, and am guessing that would be that the vice configure/make scripts are unable to locate some AROS related (source)files.
(*) There are several approaches possible. If you wish to keep the cross compiler separated from your system then you can have a look at the examples that are for example given here: https://stackoverflow.com/questions/10435816/configuring-for-a-compiler-different-than-the-default-while-running-configure
-
@nikos and @magorium
I listed paths to cross compiler, includes and libraries in last post on previous page.
-
Thanks Magorium and Deadwood :)
I get it.
-
@deadwood
No problem looking into it, as i wanted to test it anyway (just was not able to do it sooner :-\ ).
afairc from the bug-report reactions it is an issue specific with the 4.x series of the compiler so indeed it should be fixed automatically with upgrading the compiler.
Thanks to your tip about a possible solution I did some searching too and found a suggestion that you can remove texinfo from the system during the compile. When the compiler can't find texinfo it skips building the docs and continue with the rest. When the compile was finished I put texinfo back again :)
So that is a workaround if one encounters this problem.
-
I have to change --sysroot to sysroot= as the configure did not like that, but seams -L is also a problem?
niko@niko-Latitude-D520 ~/vice-emu-code/vice $ ./configure --host=i686-pc-aros CC=/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc sysroot=home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib
configure: error: unrecognized option: `-L'
Try `./configure --help' for more information
niko@niko-Latitude-D520 ~/vice-emu-code/vice $
This is what I got when I removed everything after .........Development
https://pastebin.com/s1qTGpTd
-
I did not understand the string to be given to compile a program having a development environment, I will try to do something like some porting if I can :)
-
I have to change --sysroot to sysroot= as the configure did not like that, but seams -L is also a problem?
niko@niko-Latitude-D520 ~/vice-emu-code/vice $ ./configure --host=i686-pc-aros CC=/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc sysroot=home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib
configure: error: unrecognized option: `-L'
Try `./configure --help' for more information
niko@niko-Latitude-D520 ~/vice-emu-code/vice $
This is what I got when I removed everything after .........Development
https://pastebin.com/s1qTGpTd
Skip the -L option for now. If it at least compiles, you can hack the Makefile at the end to add the -L parameter
-
I have to change --sysroot to sysroot= as the configure did not like that, but seams -L is also a problem?
niko@niko-Latitude-D520 ~/vice-emu-code/vice $ ./configure --host=i686-pc-aros CC=/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc sysroot=home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib
configure: error: unrecognized option: `-L'
Try `./configure --help' for more information
niko@niko-Latitude-D520 ~/vice-emu-code/vice $
This is what I got when I removed everything after .........Development
https://pastebin.com/s1qTGpTd
Skip the -L option for now. If it at least compiles, you can hack the Makefile at the end to add the -L parameter
Without the -L parameter I get this.
niko@niko-Latitude-D520 ~/vice-emu-code/vice $ ./configure --host=i686-pc-aros CC=/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc sysroot=home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i686-pc-aros-strip... no
checking for strip... strip
configure: WARNING: using cross tools not prefixed with host triplet
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
option checking is yes
checking build system type... Invalid configuration `/home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib': machine `/home/niko/alt-abiv0-linux-i386-d/bin/linux' not recognized
configure: error: /bin/bash ./config.sub /home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib failed
niko@niko-Latitude-D520 ~/vice-emu-code/vice $
https://pastebin.com/HPi7BXGL
Edit: It is obvious that the last line after -d have to be removed.
niko@niko-Latitude-D520 ~/vice-emu-code/vice $ ./configure --host=i686-pc-aros CC=/home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc sysroot=home/niko/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i686-pc-aros-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
option checking is yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... i686-pc-aros
checking for i686-pc-aros-gcc... /home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc
checking whether the C compiler works... no
configure: error: in `/home/niko/vice-emu-code/vice':
configure: error: C compiler cannot create executables
See `config.log' for more details
niko@niko-Latitude-D520 ~/vice-emu-code/vice $
Edit:
What is this?
gcc error -V >&5
-
I have to change --sysroot to sysroot= as the configure did not like that, but seams -L is also a problem?
In your previous post you wrote that you got it. Apparently you still do not entirely got the message :)
The configure script seems to want to take 3 parameters by default "--build, --host, --target"
The sysroot option, as well as the -L option are flags that you need to pass on to the (gcc) compiler in order to override whatever nonsense vice config/makefile is producing by default (simply because you use a stand-alone cross-compiler, and vice config/make has no knowledge about that).
In order to pass flags to the compiler you need to set the cflags (or cppflags) environment variable, just as you did for cc.
In case the vice scripts are overriding your custom flags as well , then file a bug-report to their developers website (unless they provide other means to set those flags in a custom way and that are taken into consideration during config/make).
If all that still fails, then afaik the only other option is to do their bidding and mess up your buildystem by providing links to their so wanted i686 compiler, but then pointing towards your i386 named executables). Of course these (file)links then also need to be located inside your path so they can be accessed from everywhere on your system. That is considered bad practising though.
For a list of options that you can pass to the compiler or you wish to know more information about, see https://gcc.gnu.org/onlinedocs/gcc/Option-Index.html#Option-Index (https://gcc.gnu.org/onlinedocs/gcc/Option-Index.html#Option-Index)
(hint: try to lookup the --sysroot and -L options so that you are able to understand what they are suppose to do).
-
@deadwood
No problem looking into it, as i wanted to test it anyway (just was not able to do it sooner :-\ ).
afairc from the bug-report reactions it is an issue specific with the 4.x series of the compiler so indeed it should be fixed automatically with upgrading the compiler.
Thanks to your tip about a possible solution I did some searching too and found a suggestion that you can remove texinfo from the system during the compile. When the compiler can't find texinfo it skips building the docs and continue with the rest. When the compile was finished I put texinfo back again :)
So that is a workaround if one encounters this problem.
Ah, splendid. No idea why i was not ale to think out of the box like that. I am able to confirm that this works splendidly. :) Thank you for that.
In case wishing to address it more appropriately: apparently you can pass MISSING=texinfo to the gcc configure command. That way you would not have to un/re-install texinfo.
Of course that does require an additional check when to parse this option, e.g. >= texinfo5 (as the the backwards compatibility seems to be introduced with version 5).
Ah well, just as much use your workaround for the moment in anticipation on the new compiler :)
-
I have to change --sysroot to sysroot= as the configure did not like that, but seams -L is also a problem?
In your previous post you wrote that you got it. Apparently you still do not entirely got the message :)
The configure script seems to want to take 3 parameters by default "--build, --host, --target"
The sysroot option, as well as the -L option are flags that you need to pass on to the (gcc) compiler in order to override whatever nonsense vice config/makefile is producing by default (simply because you use a stand-alone cross-compiler, and vice config/make has no knowledge about that).
In order to pass flags to the compiler you need to set the cflags (or cppflags) environment variable, just as you did for cc.
In case the vice scripts are overriding your custom flags as well , then file a bug-report to their developers website (unless they provide other means to set those flags in a custom way and that are taken into consideration during config/make).
If all that still fails, then afaik the only other option is to do their bidding and mess up your buildystem by providing links to their so wanted i686 compiler, but then pointing towards your i386 named executables). Of course these (file)links then also need to be located inside your path so they can be accessed from everywhere on your system. That is considered bad practising though.
For a list of options that you can pass to the compiler or you wish to know more information about, see https://gcc.gnu.org/onlinedocs/gcc/Option-Index.html#Option-Index (https://gcc.gnu.org/onlinedocs/gcc/Option-Index.html#Option-Index)
(hint: try to lookup the --sysroot and -L options so that you are able to understand what they are suppose to do).
Thank you :)
I will try to figure it out. I'm very much afraid it will go nowhere, but I do not give up just yet ;)
Does it matter that my build gcc is 7.5 and AROS use gcc version 4.6.4?
I know it worked building AROS so I guess not.
It stops here.
Thread model: single
gcc version 4.6.4 (GCC)
configure:4509: $? = 0
configure:4498: /home/niko/toolchain-alt-abiv0-i386/i386-aros-gcc -V >&5
i386-aros-gcc: error: unrecognized option '-V'
i386-aros-gcc: fatal error: no input files
compilation terminated.