[EQL5] `init_lib_APP__ALL_SYSTEMS` strangeness

Erik Winkels aerique at xs4all.nl
Fri Dec 18 15:23:36 UTC 2020


Hi,

My C++ knowledge is very basic and I'm running into something I do not 
understand.

I build the RPM for my Sailfish OS app in a Docker environment I made: 
https://git.sr.ht/~aerique/sfosbid#codeeql5-sfoscode

If I follow the steps in the "eql5-sfos" section on my home PC it works, 
but if I do the same on my PC at work (also in Docker) I get this 
failure:

     ;;; Loading "/home/erikw/projects/eql5-sfos-git/lisp/app.asd"
     ;;;
     ;;; Compiling /home/erikw/projects/eql5-sfos-git/lisp/qml.lisp.
     ;;; OPTIMIZE levels: Safety=3, Space=0, Speed=0, Debug=3
     ;;;
     ;;; End of Pass 1.
     ;;; Finished compiling 
/home/erikw/projects/eql5-sfos-git/lisp/qml.lisp.
     ;;;
     ;;; Loading 
"/home/erikw/.cache/common-lisp/ecl-20.4.24-unknown-linux-armv7l/home/erikw/projects/eql5-sfos-git/lisp/qml.fas"
     ;;;
     ;;; Compiling /home/erikw/projects/eql5-sfos-git/lisp/app.lisp.
     ;;; OPTIMIZE levels: Safety=3, Space=0, Speed=0, Debug=3
     ;;;
     ;;; End of Pass 1.
     ;;; Finished compiling 
/home/erikw/projects/eql5-sfos-git/lisp/app.lisp.
     ;;;
     g++ -c -pipe -O2 -fPIC -fvisibility=hidden 
-fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG 
-DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB 
-I. -isystem /usr/include/sailfishapp -isystem 
/usr/include/mdeclarativecache5 -isystem /usr/include/qt5 -isystem 
/usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtGui -isystem 
/usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -isystem 
/usr/include/qt5/QtCore -I. -I/usr/share/qt5/mkspecs/linux-g++ -o 
eql5-sfos.o src/eql5-sfos.cc
     g++ -Wl,-O1 -Wl,-rpath,/usr/share/eql5-sfos/lib -o eql5-sfos 
libapp.a eql5-sfos.o   -lecl -leql5 -L. -lapp -lsailfishapp -pie 
-rdynamic -lmdeclarativecache5 -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network 
-lQt5Core -lGLESv2 -lpthread 
/srv/mer/toolings/SailfishOS-latest//opt/cross/bin/armv7hl-meego-linux-gnueabi-ld: 
eql5-sfos.o: in function `main':
     eql5-sfos.cc:(.text.startup+0x2c8): undefined reference to 
`init_lib_APP__ALL_SYSTEMS'
     collect2: error: ld returned 1 exit status
     make: *** [Makefile:170: eql5-sfos] Error 1

An `objdump libapp.a` shows not `init_lib_APP__ALL_SYSTEMS` but 
`init_lib__ECLAQZDC4E1_UK8FKC51` and if I replace the former with the 
latter in `src/eql5-sfos.cc` everything compiles as it should!

Anyone have any idea what might be causing this?

Regards,
Erik



More information about the ecl-devel mailing list