GNOME Bugzilla – Bug 474993
Allow shared libraries without lib*.so name
Last modified: 2020-11-07 12:12:52 UTC
In some cases it's usefull to create shared objects without the lib*.so naming scheme. For example if I create application internal plugins.
correct: s/lib*.so/lib*.la
Does automake allow that? If I remember correctly, it doesn't. Anjuta won't be able to anything in that case.
From my experience automake allows it. I could try to create a minimal example project by hand. But see the attached Makefile.am from a E17 module. It creates a module.so library. So this should be possible.
Created attachment 95202 [details] Makefile.am from E17 modules to show shared objects without lib*.so syntax
Can you please try building/installing with the following: 1) Installing it in standard lib directory (i.e remove pkgdir variable). 2) Removing -module option from the ldflags variable. 3) Both.
Ok, I read some more docs about this libtool feature. Read this: http://sourceware.org/autobook/autobook/autobook_188.html#SEC188 Quote: > Sic modules are built without a `lib' prefix (`-module'), and without version > suffixes (`-avoid-version'). All of the undefined symbols are resolved at > linktime by `libsic.la', hence `-no-undefined'. Perhaps a new target type "module" or a better control of shared library options is needed.
*** Bug 631520 has been marked as a duplicate of this bug. ***
*** Bug 669780 has been marked as a duplicate of this bug. ***
Finally, I have made some progress on it. You can select module as a target type instead of shared library and give a name without the lib prefix. In addition, it sets automatically -module -avoid-version in the linker flags. I don't close this bug yet because this support is working only for creating module. When you read back the project, all modules will appear as shared libraries with -module and -avoid-version in the linker flags. It's not wrong, but I would like to mark them as modules instead of shared libraries and disable the possibility to remove these flags. Anyway, I'm interested to know if it's already enough for you or not.
bugzilla.gnome.org is being replaced by gitlab.gnome.org. We are closing all old feature requests in Bugzilla which have not seen updates for many years. If you are still requesting this feature in a currently supported version of GNOME (currently that would be 3.38), then please feel free to report it at https://gitlab.gnome.org/GNOME/anjuta/-/issues/ Thank you for reporting this issue and we are sorry it could not be implemented.