Corrections for operating systems with case-sensitive filesystems.#264
Corrections for operating systems with case-sensitive filesystems.#264
Conversation
Also added libfmt library requirement.
|
Thanks for this Peter, Your change to the wiki is actually just a better way to run the build so I will update it so that your version is the standard. I didn't like having to use super user permissions for the build step just hadn't had time to find a workaround. I am surprised that the case sensitivity wasn't already causing problems on my Ubuntu build. Thanks for catching that. As far as adding the libfmt library, what version of Linux are you using that requires it? |
…t super user permission.
|
I'm on Ubuntu jammy (22.04) but I've had to add libfmt for every version even when I was on (21.10) and (21.04), usually as a -lfmt flag in makefile. |
|
Could you post the error you get when trying to compile without adding it? |
|
It seems that my suggestion of changing STAGING_AREA is insufficient. I have libspdlog-dev package and libfmt-dev package installed, but the libspdlog-dev package requires libfmt statically linked rather than using templates. I suppose that if spdlog is downloaded and recompiled it will use templates, but when I change STAGING_AREA it seems to override the local spdlog and use the system-wide spdlog instead. If I remove spdlog-dev and include STAGING_AREA=. I get this error: If I have the libspdlog-dev and libfmt-dev packages installed I but remove the target_link_library get this error: and a bunch more. |
|
When I compile on Ubuntu (18.04) with the line you added to include fmt and using If I remove the line but use Did you use the git submodule for spdlog when building? |
|
I had followed the step 5: |
|
The changes you have made work on my system too. I am good to merge this and revert the change to the wiki as the staging dir is hard coded in now. |
) * Corrections for operating systems with case-sensitive filesystems. Also added libfmt library requirement. * Update to install script to use STAGING_DIR allowing for build without super user permission. * Attempt to resolve missing include for spdlog on my system * Hardcode staging_dir * Fix commenting
Also added libfmt library requirement.
These changes are because I had some issues with building using cmake under linux. I'm not familiar with cmake so these changes may not be the correct strategy, particularly when adding the libfmt library. Also, please note that I made a change to the wiki to suggest building on Linux without requiring superuser, which is important for ComputeCanada clusters. Installing the spdlog library system-wide is probably not necessary in any case, if you're just static linking.