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

Version 1.4 broken on Windows #250

Closed
sroller opened this issue Feb 15, 2019 · 3 comments · Fixed by #254
Closed

Version 1.4 broken on Windows #250

sroller opened this issue Feb 15, 2019 · 3 comments · Fixed by #254

Comments

@sroller
Copy link
Contributor

sroller commented Feb 15, 2019

Environment: Windows 10, msys2, ruby 2.5.3p105 x64

When I install the gem version 1.4 the installation fails with a link error: can't find dlopen().
I reverted to version 1.3.11 of the gem and things where fine.
Let me know what additional information you need.

@MSP-Greg
Copy link
Contributor

MSP-Greg commented Feb 18, 2019

Try adding the mingw-w64-x86_64-dlfcn package, then running gem install. I assume that you have mingw-w64-x86_64-sqlite3 installed...

I think:

ridk exec pacman -S mingw-w64-x86_64-dlfcn

@sroller
Copy link
Contributor Author

sroller commented Feb 20, 2019

Yes, that worked. We should change the comment in the README.md of the rubyinstaller2 project to reflect on this change.

@sroller sroller closed this as completed Feb 20, 2019
@MSP-Greg
Copy link
Contributor

Glad that helped. I think that 'dlfcn' should be added to:

s.metadata = { "msys2_mingw_dependencies" => "sqlite3" } if s.respond_to? :metadata=

and/or the following should be modified when building on Windows:

have_library 'dl'
%w{ dlopen dlclose dlsym }.each do |func|
abort "missing function #{func}" unless have_func(func)
end

haven't had a chance to look into it...

larskanis added a commit to larskanis/sqlite3-ruby that referenced this issue Mar 9, 2019
Sqlite3-ruby doesn't use dl functions, nor does extconf compile sqlite3
sources, which possibly makes use of them.
So mandating dl functions in extconf is wrong and breaks the build on
Windows.

Fixes sparklemotion#250 .

This reverts commit f4ffec2.
larskanis added a commit to larskanis/sqlite3-ruby that referenced this issue Mar 9, 2019
Sqlite3-ruby doesn't use dl functions, nor does extconf compile sqlite3
sources, which possibly makes use of them.
So mandating dl functions in extconf is wrong and breaks the build on
Windows.

Fixes sparklemotion#250 .

This pertly reverts commit f4ffec2.
rangeroob pushed a commit to rangeroob/sqlite3-ruby-static that referenced this issue Apr 12, 2020
Sqlite3-ruby doesn't use dl functions, nor does extconf compile sqlite3
sources, which possibly makes use of them.
So mandating dl functions in extconf is wrong and breaks the build on
Windows.

Fixes sparklemotion#250 .

This pertly reverts commit f4ffec2.

(cherry picked from commit 9d9ed4b)
rangeroob pushed a commit to rangeroob/sqlite3-ruby-static that referenced this issue Apr 12, 2020
Sqlite3-ruby doesn't use dl functions, nor does extconf compile sqlite3
sources, which possibly makes use of them.
So mandating dl functions in extconf is wrong and breaks the build on
Windows.

Fixes sparklemotion#250 .

This pertly reverts commit f4ffec2.

(cherry picked from commit 9d9ed4b)
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

Successfully merging a pull request may close this issue.

2 participants