Chomp problem in pkg_config of mkmf.rb (ruby 1.9.3 P286)
when compiled the ext packages under mingw64 + MSYS, mkmf reports error like this:
"gcc -o conftest -Ic:/ruby64/include/ruby-1.9.1/x64-mingw32 -Ic:/ruby64/include/ruby-1.9.1/ruby/backward -Ic:/ruby64/include/ruby-1.9.1 -I. -I./.. -D_FILE_OFFSET_BITS=64 -O2 -finline-functions -I/usr/local/include -D__USE_MINGW_ANSI_STDIO -IC:/msys/1.0/local/include
conftest.c -L. -Lc:/ruby64/lib -L. -L/usr/local/lib -LC:/msys/1.0/local/lib -lssl -lcrypto
-lx64-msvcrt-ruby191 -lshell32 -lws2_32 -limagehlp "
gcc: fatal error: no input files
the root cause is several enter characters are added in this compile command, these enters are from the pkg_config in mkmf.rb, add chomp in the following line in pkg_config function, issue is fixed.
cflags = get['cflags'] ldflags = get['libs'] libs = get['libs-only-l']
cflags = get['cflags'].chomp
ldflags = get['libs'].chomp
libs = get['libs-only-l'].chomp
the attached is mkmf.log before/after the change.
#2 Updated by nobu (Nobuyoshi Nakada) about 5 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r37820.
ray, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
mkmf.rb: mingw64+MSYS pkg-config fix
- lib/mkmf.rb (MakeMakefile#pkg_config): strip all white spaces for mingw64+MSYS pkg-config which errouneously emits extra newlines. [Bug #7163]