Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
118 user(s) are online (112 user(s) are browsing Forums)

Members: 0
Guests: 118

more...

Support us!

Headlines

 
  Register To Post  

cmake for AOS4 specific shared object libcurl.so.9 (And the mess of SOBJS in general)
Quite a regular
Quite a regular


See User information
Hi, the libcurl shared object available on os4depot is version 11, cmake from os4depot needs 9.

Any ideas?


Edited by rjd324 on 2022/7/13 10:13:58
If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Site Builder
Site Builder


See User information
Did you try to make a soft link from the 9 to 11?

Follow me on
Ko-fi, Twitter, YouTube, Twitch
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Quite a regular
Quite a regular


See User information
@walkero

Hi, yeah I already tried that. The error message remains:
ELF Library
Failed to find canonical name 
for libcurl.so.9


To be sure, I tried both (in local/newlib/lib):
makelink from libcurl.so.9 to libcurl.so soft


and, just in case
makelink from libcurl.so.9 to libcurl.so.11 soft

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Home away from home
Home away from home


See User information
@rjd324

Quote:
To be sure, I tried both (in local/newlib/lib):


thats the wrong place.

".so" files should be installed into SOBJS: assign / sys:SObjs

This files has to be distributed with the executable file, and installed into the SObjs:,
(it won’t be logical to install in the SDK: not every user is a developer.)

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Quite a regular
Quite a regular


See User information
@liveforit

Perfect thanks, I see, yes rpath set in /SObjs. Do not often see shared objects being used so far in my time using NG amiga, especially since they still are properly "shared", or so I hear.

Is there anything similar to LD_LIBRARY_PATH on the Amiga? Or, must these SO be in /SObjs?

I mean, it is still broken anyway for users who do not have an SDK. You install the libraries from OS4Depot, and they do not even in their autoinstall scripts set up the libraries for you in SOBJs.

No objections from me, I will just have to manually do this.

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Quite a regular
Quite a regular


See User information
Then again, only devs would probably use cmake!

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Home away from home
Home away from home


See User information
@rjd324

I think .so objects are unnecessary complex, static compiled all the why for me, unless, so objects are dynamic loaded like plugin or something, even then I most likely pick the . library format, unless I worried about being hacked. Like SSL most likely should not be a shared amiga library, not that any plugin can’t be totally replaced.

Quote:
especially since they still are properly "shared", or so I hear.


No they not shared, they linked by ELF loader, just before program loads, but they can be loaded as plugins. for example if you ported XMMS you can use the plugin’s, without a major rewrite.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Quite a regular
Quite a regular


See User information
Even without considering Amiga, I have thought of SO to also be overly complicated.

The SOBJ situation really seems quite messy to me. On linux, we have SOs in one location. The linker knows where they are, and subsequently, the loader knows where they are and I am not even talking about the memory. It is the fact that the file itself is in the same location. But, currently, they seem poorly implemented on the Amiga... I now have to copy over all the SO files that are relevant for all of my programs that are loading them in at run time from - say - newlib to sobj:. This is now two places where I have to keep consistency. If there was an additional method to the rpath, like LD_LOAD_LIBRARY then I would consider just pointing it at local/newlib/lib -I would considere even that preferrable to having both SOBJS and the libs in newlib.

I think I will just try reassigning SOBJS: to that location (or, append it to that assign) and see what happens. Probably not a good idea.

Anyway, I am wondering why no one else has raised this complexity with CMAKE. I guess you guys are generally just cross compiling?

Alternatively, re-build cmake statically.

===
In fact, this SOBJ situation is such a mess, I am giving up and either rebuilding it all statically or just cross compiling.


Edited by rjd324 on 2022/7/12 22:14:57
If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Home away from home
Home away from home


See User information
@rjd324

Quote:
I guess you guys are generally just cross compiling?


The things I work on is natively compiled; I have not built anything using dynamic linking.
I have had to make my own makefiles few times, or change things to build stuff.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Quite a regular
Quite a regular


See User information
@LiveForIt

For sure I prefer it that way, rather than using the cross compiler. The issue comes generally when porting things though. Either some project is using cmake, or the configure scripts call things like pkg-config which is just seemingly broken on Amiga. It is easier to get these to work on a linux machine where these tools work, and even the core-utils are more solid. Unless you also create your home-brew'd Makefiles from scratch.

(Actually, pkg-config invoked from configure scripts does work on amiga but not very well. you need to be in the directory of the pkg-config binary to run, for example, pkg-config --exists sdl2, otherwise it will always exit code non zero, even if you have it in your lib/pkg-config).

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: cmake for AOS4 specific shared object libcurl.so.9
Home away from home
Home away from home


See User information
@rjd324

Yes, a lot of the Linux commands are broken, and deserves a better conversion, some of SH/ABCShell commands crash.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project