Compile fail OpenEmbedded Dunfell
Sept 20, 2020 2:00:37 GMT 1
Post by barryk on Sept 20, 2020 2:00:37 GMT 1
Hi guys,
OpenEmbedded/Yocto (OE) is a cross-compiler, a build system that can create an entire Linux distribution. My fork of the "Pyro" release of OE, named oe-qky-src, a few years ago, was used to compile all the packages for the Pyro-series of EasyOS (my derivative of Puppy Linux).
Up until yesterday, I have been using bacon 3.7.2.
I decided it is time to recompile all of my packages in the latest release of OE, which is named "Dunfell". It has gone remarkably well, some package failures of course, that I have to try and fix. gcc is now 9.3.0 and glibc is 2.31. Also, python3 only, no python2.
I have bumped the bacon package to 4.1. That compiled OK.
My "pup-tools" package has utilities for Puppy Linux and derivatives, some of those written in bacon. The latest OE has compiled some of them, but has failed at compiling popup.bac.
Testing in my host system, EasyOS built from Debian 10 Buster DEBs, gcc 8.3.0, glibc 2.28, no problem. Mimic-ing how I do it in OE, and with bacon 4.1:
Good. However, in OE it fails with this message:
Here is the code in popup.bac:
Note, popup.bac uses hug.bac.
Does the error message and that line in the bacon code mean anything to you? I have inserted "<<<LINE 625" to show the offending line. Is it a bug?
Appreciate any feedback on this!
Regards,
Barry
OpenEmbedded/Yocto (OE) is a cross-compiler, a build system that can create an entire Linux distribution. My fork of the "Pyro" release of OE, named oe-qky-src, a few years ago, was used to compile all the packages for the Pyro-series of EasyOS (my derivative of Puppy Linux).
Up until yesterday, I have been using bacon 3.7.2.
I decided it is time to recompile all of my packages in the latest release of OE, which is named "Dunfell". It has gone remarkably well, some package failures of course, that I have to try and fix. gcc is now 9.3.0 and glibc is 2.31. Also, python3 only, no python2.
I have bumped the bacon package to 4.1. That compiled OK.
My "pup-tools" package has utilities for Puppy Linux and derivatives, some of those written in bacon. The latest OE has compiled some of them, but has failed at compiling popup.bac.
Testing in my host system, EasyOS built from Debian 10 Buster DEBs, gcc 8.3.0, glibc 2.28, no problem. Mimic-ing how I do it in OE, and with bacon 4.1:
# ./bacon.sh -y -n -p -d temp1 popup.bac
Converting 'popup.bac'... 173
Warning: duplicate symbol 'gtk_window_move' at line 173 in file 'popup.bac'!
Converting 'popup.bac'... done, 3606 lines were processed in 82 seconds.
Warning: no CLOSE for the OPEN handle 'thisdescr' at line 625 in file 'popup.bac'!
Warning: no CLOSE for the OPEN handle 'thisdescr' at line 622 in file 'popup.bac'!
WARNING: 'indent' not found on this system!
Generated source code cannot be beautified.
# cd temp1
# cc -fPIC -c popup.bac.c
# cc -o popup popup.bac.o -L. -lm -ldl
Good. However, in OE it fails with this message:
| Converting 'popup.bac'... done, 3606 lines were processed in 81 seconds.
| Warning: no CLOSE for the OPEN handle 'thisdescr' at line 625 in file 'popup.bac'!
| Warning: no CLOSE for the OPEN handle 'thisdescr' at line 622 in file 'popup.bac'!
| WARNING: 'indent' not found on this system!
| Generated source code cannot be beautified.
| In file included from /mnt/sda1/nvme/oe/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/pup-tools/20200212-r0/recipe-sysroot/usr/include/fcntl.h:329,
| from popup.bac.generic.h:22,
| from popup.bac.h:2,
| from popup.bac.c:2:
| In function 'open',
| inlined from 'main' at popup.bac:625:13:
| /mnt/sda1/nvme/oe/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/pup-tools/20200212-r0/recipe-sysroot/usr/include/bits/fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
| 50 | __open_missing_mode ();
| | ^~~~~~~~~~~~~~~~~~~~~~
| WARNING: /mnt/sda1/nvme/oe/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/pup-tools/20200212-r0/temp/run.do_compile.30464:1 exit 1 from 'x86_64-poky-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mnt/sda1/nvme/oe/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/pup-tools/20200212-r0/recipe-sysroot -fPIC -c popup.bac.c -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/mnt/sda1/nvme/oe/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/pup-tools/20200212-r0=/usr/src/debug/pup-tools/20200212-r0 -fdebug-prefix-map=/mnt/sda1/nvme/oe/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/pup-tools/20200212-r0=/usr/src/debug/pup-tools/20200212-r0 -fdebug-prefix-map=/mnt/sda1/nvme/oe/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/pup-tools/20200212-r0/recipe-sysroot= -fdebug-prefix-map=/mnt/sda1/nvme/oe/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/pup-tools/20200212-r0/recipe-sysroot-native='
|
Here is the code in popup.bac:
IF name$!="" THEN
thisfile$=CONCAT$("/tmp/popup_",name$)
IF FILEEXISTS(thisfile$)==1 THEN
OPTION DEVICE O_RDWR
OPEN thisfile$ FOR DEVICE AS thisdescr
ELSE
OPTION DEVICE O_RDWR|O_CREAT
OPEN thisfile$ FOR DEVICE AS thisdescr [b]<<<LINE 625[/b]
ENDIF
TIMEOUT(500,wait_func)
END IF
Note, popup.bac uses hug.bac.
Does the error message and that line in the bacon code mean anything to you? I have inserted "<<<LINE 625" to show the offending line. Is it a bug?
Appreciate any feedback on this!
Regards,
Barry