Hello Genodeans
I have a component that uses QToolButton. When I build it in my run script, the build works well.
When I want to build my src package I get the following error message:
button.o:(.data.rel.ro._ZTIN14Launcher_slice6ButtonE[_ZTIN14Launcher_slice6ButtonE]+0x10): undefined reference to `typeinfo for QToolButton'
I have an other component that uses QPushButton where I can build the src archive. If I replace QPusButton with QToolButton in this component, I get the same error.
I have tried to find out what might be the cause of it, but was not successful so far. Both of this buttons are in the library qt5_widgets (listed in the file repos/libports/lib/mk/qt5_widgets_generated.inc)
Best regards, Pirmin
I've had similar issues that disappeared without anyone adding any symbols. I'm not sure what's going on. Does anyone know?
On Sat, Oct 20, 2018 at 4:12 AM Duss Pirmin pirmin@trimpim.ch wrote:
Hello Genodeans
I have a component that uses QToolButton. When I build it in my run script, the build works well.
When I want to build my src package I get the following error message:
button.o:(.data.rel.ro._ZTIN14Launcher_slice6ButtonE[_ZTIN14Launcher_slice6ButtonE]+0x10): undefined reference to `typeinfo for QToolButton'
I have an other component that uses QPushButton where I can build the src archive. If I replace QPusButton with QToolButton in this component, I get the same error.
I have tried to find out what might be the cause of it, but was not successful so far. Both of this buttons are in the library qt5_widgets (listed in the file repos/libports/lib/mk/qt5_widgets_generated.inc)
Best regards, Pirmin
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello
On 20.10.18 12:12, Duss Pirmin wrote:
Hello Genodeans
I have a component that uses QToolButton. When I build it in my run script, the build works well.
When I want to build my src package I get the following error message:
button.o:(.data.rel.ro._ZTIN14Launcher_slice6ButtonE[_ZTIN14Launcher_slice6ButtonE]+0x10): undefined reference to `typeinfo for QToolButton'
I have an other component that uses QPushButton where I can build the src archive. If I replace QPusButton with QToolButton in this component, I get the same error.
I have tired to find the reason for the linker error. Unfortunately I wasn't able to find a solution.
https://stackoverflow.com/questions/307352/g-undefined-reference-to-typeinfo... suggests, that a missing definition of a virtual function might be the cause of the error.
As the build in the run script works (and also uses qt5_widgets.lib.so from the depot), I suspect that probably a compiler or linker option is set different when building binary archives.
I have created as stripped down version of my component and have pushed it to https://github.com/trimpim/genode/commit/672cf69a4f5a6d134a1cf6c480349b84c51...
Should I create an issue on github?
best regards Pirmin
Hello,
On Sat, Oct 20, 2018 at 12:12:27PM +0200, Duss Pirmin wrote:
I have a component that uses QToolButton. When I build it in my run script, the build works well.
When I want to build my src package I get the following error message:
button.o:(.data.rel.ro._ZTIN14Launcher_slice6ButtonE[_ZTIN14Launcher_slice6ButtonE]+0x10): undefined reference to `typeinfo for QToolButton'
I have an other component that uses QPushButton where I can build the src archive. If I replace QPusButton with QToolButton in this component, I get the same error.
The following command reveals the reason of this error: a missing entry for the QToolButton typeinfo symbols in https://github.com/cproc/genode-symbols.
c++filt < $(./tool/ports/current qt5)/lib/symbols/qt5_widgets | grep 'typeinfo.*Q[A-z]*Button'
So please add the missing symbol to the qt5_widgets file above and rebuild your depot. It would be nice if you'd report your fixes in the issue tracker.
BTW I doubt that your note about those errors comming and going without any changes is correct, Ben. Maybe you just missed an update of the abovementioned repository.
Hello Christian
On 23.10.18 09:13, Christian Helmuth wrote:
The following command reveals the reason of this error: a missing entry for the QToolButton typeinfo symbols in https://github.com/cproc/genode-symbols.
c++filt < $(./tool/ports/current qt5)/lib/symbols/qt5_widgets | grep 'typeinfo.*Q[A-z]*Button'
So please add the missing symbol to the qt5_widgets file above and rebuild your depot. It would be nice if you'd report your fixes in the issue tracker.
This helped me a lot. I was able to fix the problem. Before I was not aware, that the symbol files for Qt are in the contrib directory and so I didn't search there for them.
I have created an issue in cproc's repository and pushed the fix to my clone of it.
Best regards, Pirmin
I checked the repository for an update, and it still has no typeinfo for QPlainTextEdit. However, perhaps a seemingly insignificant modification I made in my code (e.g. changing a dynamic_cast to a static_cast) fixed the problem.
On Tue, Oct 23, 2018 at 3:54 AM Pirmin Duss pirmin.duss@gapfruit.com wrote:
Hello Christian
On 23.10.18 09:13, Christian Helmuth wrote:
The following command reveals the reason of this error: a missing entry for the QToolButton typeinfo symbols in https://github.com/cproc/genode-symbols.
c++filt < $(./tool/ports/current qt5)/lib/symbols/qt5_widgets | grep
'typeinfo.*Q[A-z]*Button'
So please add the missing symbol to the qt5_widgets file above and rebuild your depot. It would be nice if you'd report your fixes in the issue tracker.
This helped me a lot. I was able to fix the problem. Before I was not aware, that the symbol files for Qt are in the contrib directory and so I didn't search there for them.
I have created an issue in cproc's repository and pushed the fix to my clone of it.
Best regards, Pirmin
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users