Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
50 user(s) are online (37 user(s) are browsing Forums)

Members: 0
Guests: 50

more...

Headlines




« 1 ... 6 7 8 (9)


Re: Qt 6 progress
Just popping in
Joined:
2021/7/23 21:46
From Älvsbyn, Sweden
Posts: 40
@alfkil

What do you mean usage? You simply set -fPIC Which stands for Position Independent Code, AFAIK you should never use it in ordinary code under windows and Linux (except libraries and -usually- plugins maybe also device drivers)... the strange part is shouldn't it be enabled by default for Amiga, since all code should be position independent on it...

   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
@thread

Nope. I tried both -mlongcall and forcing -fPIC for shared library objects. Nothing works.

Basically, there is a single symbol (in this case a function) that changes value from when it is called in the main executable to when it is called from within the shared object. The content resides in the shared object and is linked from the main executable. This does very much sound like an issue with either -mlongcall or -fPIC, but at this point at least I haven't cracked the code to make it work. This begins to annoy me...

   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
@trgswe

So maybe I should try disabling it?? This begins to become very hairy...

   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
I have officially given up.

The current base can be used under cross environment on linux, if you build it yourself and use the supplied toolchain. If you configure it to use static linking, it works fine. If you configure it to use dynamic linking and build Qt libs as shared objects, then you need to keep in mind, that all of your QObject::connect() calls will fail, unless you change the notation to the old style from Qt4.

   Report Go to top

Re: Qt 6 progress
Amigans Defender
Joined:
2006/12/2 13:27
From Taranto, Italy
Posts: 990
can you give me a point where to start? I mean try to configure it as static lib?
I want to try to compile it and try to understand what is wrong. I know very well that is hard to work on this kind of projects alone and with tools that doesn't works very well. It is hard for us..

_________________
i'm really tired...
   Report Go to top

Re: Qt 6 progress
Just popping in
Joined:
2021/7/23 21:46
From Älvsbyn, Sweden
Posts: 40
@alfkil

No keep it off for main programs, but enable it for all libraries (Including standard qt libraries, but excluding link libraries), one needs to checkout how amiga really handles sobjs, would it be better to go with amiga style libraries? (but then you have rewrite issues, maintenance issues),

   Report Go to top

Re: Qt 6 progress
Amigans Defender
Joined:
2006/12/2 13:27
From Taranto, Italy
Posts: 990
However there is something strange in libstdc++ library
or better maybe in binutils
I'm trying to fix a problem on clib2. I've added a cout in an c++ include file that was causing the problem and now i get this error when i try to compile a simply c++ file

usr/lib/gcc/ppc-amigaos/11.1.0/../../../../ppc-amigaos/bin/ld: Dwarf Error: found dwarf version '5', this reader only handles version 2, 3 and 4 information.
/usr/lib/gcc/ppc-amigaos/11.1.0/../../../../ppc-amigaos/lib/clib2/libstdc++.a(ext11-inst.o): In function `_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EP4FILESt13_Ios_Openmodej'

And i have restored that include file.
Previously i had no error but lseek in clib2 was called with third parameter with a non sense value.
Also that dwarf error is not so clear to me..

_________________
i'm really tired...
   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
@afxgroup

There is a file

configure-amiga.sh

in the root of the repo.

In this file, change

AmigaOS

to

Generic

and it will produce a static build.

   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
@afxgroup

And follow instructions on the GitHub page.

   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
@trgswe

Thanks you for the link to the video. I watched it, and it is very good at talking about modern syntax in these things.

Basically, what is the problem with the current Qt6 for Amiga is, that the newer version of the connect statement uses a template, that somehow gets the function address wrong for the connecting signal. Why this happens is a huge mystery, and I have already spent too much energy on trying to find a fix. If someone solves this, I will buy beer and send gifts.

   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
I'm linking to the error report test case here, in case anyone wants to get snappy with it. Who knows, there could be a solution, we haven't thought of?

https://drive.google.com/file/d/1dTrUx ... fBcwhYy1/view?usp=sharing

When run, it will output two different addresses for the same symbol. This is the bug, that I can't fix, and I am pretty sure, that it is either the compiler or linker, that has a problem. It has been tested against GCC 11 and 8.

   Report Go to top

Re: Qt 6 progress
Not too shy to talk
Joined:
2020/11/17 12:08
From Slough
Posts: 256
when i've seen this kind of error before it's because there are duplicate symbols, and the compiler and linker differ in which one they give priority to. what happens if you globally change the name of the function?

   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
@NinjaCyborg

I am not sure exactly what you mean. It is the same symbol, referenced in exactly the same way, just from two different places. It doesn't seem to have anything to do with the function name, rather it must be the way it is referenced (by &object::function() ). You are correct, that there are two instances of the symbol : One is instantiated inside the shared object and is a symbol of type .text with an address and a size. The other is an UND* (undefined symbol), residing inside the main executable, and this one should be linked to the first one upon execution by the runtime linker. You can confirm this by using objdump -t on the executable and the shared object and searching the resulting texts for the function name.

This is exactly the same pattern as with a shitload of other symbols in the Qt libraries and executables, that all end up linking perfectly well with the code executing as it should. I am really troubled to understand, why it would fail in this case. But the test shows very clearly, that the exact same printf statement executed in two different places produce different addresses for the exact same symbol referenced in exactly the same way. So there must be a bug somewhere.

Preferably, someone with an updated system (latest system files) should test this to confirm, that it is not just happening on my system.

   Report Go to top

Re: Qt 6 progress
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 7284
@alfkil
Yeah, tested your test case, exactly 2 different addresses on my x5000 as well, and the test case compiled via GCC 11.1 + latest SDK... But at least you have a test case! That half of fix :)

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites
   Report Go to top

Re: Qt 6 progress
Just can't stay away
Joined:
2009/10/7 1:11
From Copenhagen
Posts: 1315
@kas1e

Thank you! :)

Yes, that is true - it is very clear, now. But why it happens to just this one type of symbol... I would have to know a great deal more about how the compiler works, to answer that!

   Report Go to top


« 1 ... 6 7 8 (9)



[Advanced Search]



Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project