Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make install changes cmark-gfm (or uses an old copy?) causing an error due to a missing library #301

Open
Poikilos opened this issue Jan 10, 2023 · 0 comments

Comments

@Poikilos
Copy link

Poikilos commented Jan 10, 2023

This seems to be the root cause of #163 still happening on Fedora.

Here is a demonstration (where I had a bad version installed already):

[redacted@redacted build]$ sudo make install
[ 35%] Built target libcmark-gfm
[ 46%] Built target libcmark-gfm-extensions
[ 48%] Built target cmark-gfm
[ 84%] Built target libcmark-gfm_static
[ 94%] Built target libcmark-gfm-extensions_static
[100%] Built target api_test
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/bin/cmark-gfm
-- Up-to-date: /usr/local/lib/libcmark-gfm.so.0.29.0.gfm.6
-- Up-to-date: /usr/local/lib/libcmark-gfm.so
-- Up-to-date: /usr/local/lib/libcmark-gfm.a
-- Up-to-date: /usr/local/lib/pkgconfig/libcmark-gfm.pc
-- Up-to-date: /usr/local/include/cmark-gfm.h
-- Up-to-date: /usr/local/include/cmark-gfm-extension_api.h
-- Up-to-date: /usr/local/include/cmark-gfm_export.h
-- Up-to-date: /usr/local/include/cmark-gfm_version.h
-- Up-to-date: /usr/local/lib/cmake/cmark-gfm.cmake
-- Up-to-date: /usr/local/lib/cmake/cmark-gfm-release.cmake
-- Up-to-date: /usr/local/lib/libcmark-gfm-extensions.so.0.29.0.gfm.6
-- Up-to-date: /usr/local/lib/libcmark-gfm-extensions.so
-- Up-to-date: /usr/local/lib/libcmark-gfm-extensions.a
-- Up-to-date: /usr/local/include/cmark-gfm-core-extensions.h
-- Up-to-date: /usr/local/include/cmark-gfm-extensions_export.h
-- Up-to-date: /usr/local/lib/cmake-gfm-extensions/cmark-gfm-extensions.cmake
-- Up-to-date: /usr/local/lib/cmake-gfm-extensions/cmark-gfm-extensions-release.cmake
-- Up-to-date: /usr/local/share/man/man1/cmark-gfm.1
-- Up-to-date: /usr/local/share/man/man3/cmark-gfm.3
[redacted@redacted build]$ ./cmark-gfm --version
bash: ./cmark-gfm: No such file or directory

Now here is a demonstration of Issue #163 on Fedora 37:

[redacted@redacted build]$ ./src/cmark-gfm --version
cmark-gfm 0.29.0.gfm.6 - CommonMark with GitHub Flavored Markdown converter
(C) 2014-2016 John MacFarlane

But it doesn't happen with the copy in build:

[redacted@redacted build]$ cmark-gfm --version
cmark-gfm: error while loading shared libraries: libcmark-gfm-extensions.so.0.29.0.gfm.6: cannot open shared object file: No such file or directory

It is clear that /usr/local/bin/cmark-gfm is the one running, but though it was modified when I did sudo make install it was broken somehow:

[redacted@redacted build]$ which cmark-gfm
/usr/local/bin/cmark-gfm
  • I confirmed it is not a symlink (readlink /usr/local/bin/cmark-gfm yields nothing)

You can see that the file is different, but even though the one in the system is dated a minute later when I ran sudo make install it is the broken one as proven above:

[redacted@redacted build]$ diff src/cmark-gfm /usr/local/bin/cmark-gfm
Binary files src/cmark-gfm and /usr/local/bin/cmark-gfm differ

[redacted@redacted build]$ stat /usr/local/bin/cmark-gfm
  File: /usr/local/bin/cmark-gfm
  Size: 26776     	Blocks: 56         IO Block: 4096   regular file
Device: 0,31	Inode: 1326647     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:bin_t:s0
Access: 2023-01-10 10:11:23.679885077 -0500
Modify: 2023-01-10 09:54:55.000000000 -0500
Change: 2023-01-10 10:10:44.552868026 -0500
 Birth: 2023-01-10 09:55:10.936985370 -0500

[redacted@redacted build]$ stat src/cmark-gfm
  File: src/cmark-gfm
  Size: 26776     	Blocks: 56         IO Block: 4096   regular file
Device: 0,31	Inode: 1326462     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1000/   redacted)   Gid: ( 1000/   redacted)
Context: unconfined_u:object_r:default_t:s0
Access: 2023-01-10 09:55:04.601977220 -0500
Modify: 2023-01-10 09:54:55.491965500 -0500
Change: 2023-01-10 09:54:55.491965500 -0500
 Birth: 2023-01-10 09:54:55.479965485 -0500

There is a workaround which seems to further prove the problem:

cd cmark-gfm/build
sudo rm /usr/local/bin/cmark-gfm
sudo ln `pwd`/src/cmark-gfm /usr/local/bin/cmark-gfm
  • cmark-gfm --version works after performing that workaround.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant