8000 symbol not found in flat namespace '_exif_data_free' · Issue #33 · tonytonyjan/exif · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

symbol not found in flat namespace '_exif_data_free' #33

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

Open
cjavdev opened this issue Jun 20, 2023 · 3 comments
Open

symbol not found in flat namespace '_exif_data_free' #33

cjavdev opened this issue Jun 20, 2023 · 3 comments

Comments

@cjavdev
Copy link
cjavdev commented Jun 20, 2023

I was able to successfully install with:

C_INCLUDE_PATH=$(brew --prefix libexif)/include gem install exif

but when I try to import and use the library I get this error:

irb(main):001:0> require 'exif'
<internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require': dlopen(/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/exif-2.2.4/lib/exif/exif.bundle, 0x0009): symbol not found in flat namespace '_exif_data_free' - /Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/exif-2.2.4/lib/exif/exif.bundle (LoadError)
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from /Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/exif-2.2.4/lib/exif.rb:4:in `<top (required)>'
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:159:in `require'
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:159:in `rescue in require'
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:39:in `require'
	from (irb):1:in `<main>'
	from /Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/irb-1.7.0/exe/irb:9:in `<top (required)>'
	from /Users/cjavilla/.asdf/installs/ruby/3.2.2/bin/irb:25:in `load'
	from /Users/cjavilla/.asdf/installs/ruby/3.2.2/bin/irb:25:in `<main>'
<internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- exif (LoadError)
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from (irb):1:in `<main>'
	from /Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/irb-1.7.0/exe/irb:9:in `<top (required)>'
	from /Users/cjavilla/.asdf/installs/ruby/3.2.2/bin/irb:25:in `load'
	from /Users/cjavilla/.asdf/installs/ruby/3.2.2/bin/irb:25:in `<main>'

I'm using Apple silicon locally (Apple M2 Max)

I also tried cloning this repo and running the load_file benchmark:

ruby load_file.rb
<internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require': cannot load such file -- exif/exif (LoadError)
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from /Users/cjavilla/repos/exif/lib/exif.rb:4:in `<top (required)>'
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from /Users/cjavilla/repos/exif/benchmark/env.rb:10:in `<top (required)>'
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from <internal:/Users/cjavilla/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from load_file.rb:3:in `<main>'

Any ideas?

@cjavdev
Copy link
Author
cjavdev commented Jun 21, 2023
brew info libexif
==> libexif: stable 0.6.24 (bottled)
EXIF parsing library
https://libexif.github.io/
/opt/homebrew/Cellar/libexif/0.6.24 (59 files, 3.1MB) *
  Poured from bottle using the formulae.brew.sh API on 2023-05-01 at 08:04:12
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/libexif.rb
License: LGPL-2.1
==> Dependencies
Build: autoconf ✔, automake ✔, libtool ✔
Required: gettext ✔
==> Analytics
install: 81,305 (30 days), 81,305 (90 days), 81,305 (365 days)
install-on-request: 0 (30 days), 0 (90 days), 0 (365 days)
build-error: 0 (30 days)

@cjavdev
Copy link
Author
cjavdev commented Jun 21, 2023
asdf --version

v0.11.3
ruby --version
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
clang --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

@yboulkaid
Copy link
yboulkaid commented Jul 16, 2023

I ran into this too, to build the native extension I had to specify both the include the CFLAGS and the LDFLAGS:

gem install exif -- --with-cflags="-I$(brew --prefix libexif)/include" --with-ldflags="-L$(brew --prefix libexif)/lib"

Alternatively you could install pkg-config:

brew install pkg-config

and this will configure the compilation flags automatically.

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

2 participants
0