Skip to content

Use rake-compiler-dock v0.6.0 #324

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

Merged
merged 6 commits into from
Dec 20, 2016
Merged

Conversation

metaskills
Copy link
Member

No description provided.

@metaskills
Copy link
Member Author

I think we should bump the gem version to 1.1 now too.

@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
s.add_runtime_dependency 'mini_portile2', '~> 2.0' # Keep this version in sync with the one in extconf.rb !
s.add_development_dependency 'rake', '~> 10.4'
s.add_development_dependency 'rake-compiler', '0.9.5'
s.add_development_dependency 'rake-compiler-dock', '~> 0.5.1'
s.add_development_dependency 'rake-compiler-dock', '0.6.0'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to lock to this version specifically, instead of continuing to use ~>?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I'll change that.

@metaskills
Copy link
Member Author

@aharpervc Can you help with this PR? I could not build the Windows gem in this branch.

@coderjoe
Copy link
Contributor

@metaskills I just pulled and built on this branch and it seemed to work fine for me. Is there anything I can do to help? I did have to make sure to clear my tmp, pkg, and previous lib directories to allow all the pre-requisite libraries to build.

@metaskills
Copy link
Member Author

@coderjoe So rake gem:windows worked for you?

@metaskills metaskills force-pushed the kc/rake-compiler-dock/v060 branch from eec47c8 to 9261b3d Compare December 20, 2016 03:01
@coderjoe
Copy link
Contributor

Yep!

@metaskills
Copy link
Member Author

OK, let me try again. Can you share the gems you built? Also, just pushed v1.1.0 version bump in this PR.

@coderjoe
Copy link
Contributor

I already cleaned my working directory. I'll build again. :)

@coderjoe
Copy link
Contributor

What do you know, the build failed on second build... looking into it now.

@metaskills
Copy link
Member Author

Cool, pushed up a few changes in anticipation. Nothing major. Thinking of changing this too

--- a/Rakefile
+++ b/Rakefile
@@ -89,7 +89,7 @@ desc 'Build the windows binary gems per rake-compiler-dock'
 task 'gem:windows' do
   require 'rake_compiler_dock'
   RakeCompilerDock.sh <<-EOT
-    bundle && rake cross native gem RUBY_CC_VERSION=2.0.0:2.1.6:2.2.2:2.3.0 CFLAGS="-Wall"
+    bundle && rake cross native gem RUBY_CC_VERSION=2.4.0:2.3.0:2.2.2:2.1.6:2.0.0 CFLAGS="-Wall"
   EOT

@metaskills
Copy link
Member Author

Checking out for the night. Lemme know what you find. I'm doing a build locally too. Feel free to commit to this branch too. TTYT.

@coderjoe
Copy link
Contributor

It looks like the new version of rake-compiler-dock may have upgraded to a newer version of GCC. This is causing the libiconv build to optimize out an inline function that we need. I'm going to experiment with other explicit optimization settings for libiconv's build and see what happens.

The symptom is an error similar to:

/bin/bash ../libtool --mode=link i686-w64-mingw32-gcc -Wl,--export-all-symbols -fPIC -fvisibility=hidden -o libiconv
.la -rpath /home/coderjoe/Code/public/tiny_tds/ports/i686-w64-mingw32/lib -version-info 7:1:5 -no-undefined iconv.lo
 localcharset.lo relocatable.lo iconv-exports.lo libiconv.res.lo
libtool: link: i686-w64-mingw32-gcc -shared  .libs/iconv.o .libs/localcharset.o .libs/relocatable.o .libs/iconv-expo
rts.o .libs/libiconv.res.o    -Wl,--export-all-symbols   -o .libs/libiconv-2.dll -Wl,--enable-auto-image-base -Xlink
er --out-implib -Xlinker .libs/libiconv.dll.a
.libs/iconv.o:iconv.c:(.text+0x1929f): undefined reference to `aliases2_lookup'
.libs/iconv.o:iconv.c:(.text+0x19429): undefined reference to `aliases2_lookup'
.libs/iconv.o:iconv.c:(.text+0x1985e): undefined reference to `aliases2_lookup'
.libs/iconv.o:iconv.c:(.text+0x199ec): undefined reference to `aliases2_lookup'
.libs/iconv.o:iconv.c:(.text+0x1a151): undefined reference to `aliases2_lookup'
collect2: error: ld returned 1 exit status
Makefile:71: recipe for target 'libiconv.la' failed
make[1]: *** [libiconv.la] Error 1
make[1]: Leaving directory '/home/coderjoe/Code/public/tiny_tds/tmp/x86-mingw32/tiny_tds/2.0.0/tmp/i686-w64-mingw32/
ports/libiconv/1.14/libiconv-1.14/lib'
Makefile:33: recipe for target 'all' failed
make: *** [all] Error 2
========================================================================
*** ../../../../ext/tiny_tds/extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Fixes libiconv inline function "aliases2_lookup" being optimized out in more
recent versions of gcc.
@coderjoe
Copy link
Contributor

@metaskills I've pushed a change which seems to have fixed my local build. Do me a favor and give it a go on your machine at your leisure so we can verify it's not just "working for me". :)

@metaskills
Copy link
Member Author

Doing that now!

@aharpervc
Copy link
Contributor

I am having a problem with rake gem:windows, but there's a 95% chance it's just my environment having a problem.


Downloading freetds-1.00.21.tar.bz2 (100%)
Extracting freetds-1.00.21.tar.bz2 into tmp/i686-w64-mingw32/ports/freetds/1.00.21... OK
Running git apply with /c/users/aharper/workspace/tiny_tds/ports/patches/freetds/1.00.21/0001-mingw_missing_inet_pton.diff... OK
Running 'configure' for freetds 1.00.21... OK
Running 'compile' for freetds 1.00.21... OK
Running 'install' for freetds 1.00.21... OK
Activating freetds 1.00.21 (from /c/users/aharper/workspace/tiny_tds/ports/i686-w64-mingw32)...
checking for sybfront.h... no
-----
freetds is missing.
Do you have FreeTDS 0.95.80 or higher installed?
-----

@metaskills metaskills merged commit 405f419 into master Dec 20, 2016
@metaskills metaskills deleted the kc/rake-compiler-dock/v060 branch March 18, 2017 19:56
aharpervc pushed a commit to aharpervc/tiny_tds that referenced this pull request Apr 9, 2020
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 this pull request may close these issues.

3 participants