You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think there is a bug when building a library that consists of more than one source file. If the library is only one file, then it works, but if there are multiple files then it doesn't. It seems like the object code for anything other than the main file is not getting archived in the library.
All the modules are compiled, but the resulting .a file doesn't contain any of the code from any module other than the main one. What should happen is that all the .o files that were compiled should be added to the library (using something like ar -rcs libfat.a ./lib/*.o).
The text was updated successfully, but these errors were encountered:
there is no simple way to determinate the actual compiled objects that a library should contains, thus FoBiS.py simply puts into the library all the compiled objects built as a dependency or as non-module procedures files; obviously, eventual programs compiled are purged out and not included into the library; consequently it is a best practice to clean the project before building a library;
the argparse python module has a kwnon bug for quoted string arguments, see this; it is best practice when passing quoted string to FoBiS.py to start the string with a white space, e.g. FoBiS.py -cflags " -c -O2 -fPIC" -lflags " -shared"...
I have tried with your repo: I have cloned it and built with both static and shared formats and it seems to work correctly. Please, let me know if you find any bugs.
See you soon.
P.S. the bug fix is only into the GitHub repo: you have to clone it from github. I will push the new version on PyPi later, when your idea of recompiling on cflags changes will be ready...
Hey Stefano,
I think there is a bug when building a library that consists of more than one source file. If the library is only one file, then it works, but if there are multiple files then it doesn't. It seems like the object code for anything other than the main file is not getting archived in the library.
Example (for my fortran-astrodynamics-toolkit project):
All the modules are compiled, but the resulting
.a
file doesn't contain any of the code from any module other than the main one. What should happen is that all the .o files that were compiled should be added to the library (using something likear -rcs libfat.a ./lib/*.o
).The text was updated successfully, but these errors were encountered: