Navigation Menu

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

Can't build on Win32 due to problems with backslashes in paths. #1247

Closed
p6rt opened this issue Aug 23, 2009 · 10 comments
Closed

Can't build on Win32 due to problems with backslashes in paths. #1247

p6rt opened this issue Aug 23, 2009 · 10 comments

Comments

@p6rt
Copy link

p6rt commented Aug 23, 2009

Migrated from rt.perl.org#68746 (status was 'resolved')

Searchable as RT68746$

@p6rt
Copy link
Author

p6rt commented Aug 23, 2009

From moc@coders-haven.net

Hi,
building latest Rakudo using latest Parrot fails on Windows XP with an
error, refer to CmdLog.txt for an error log. I use MinGW 4.4 to compile,
however I did not try to compile it in a MSYS environment even though
the paths might suggest this.
I also attached a parrot_config dump as suggested by jnthn.

--MoC

@p6rt
Copy link
Author

p6rt commented Aug 23, 2009

From moc@coders-haven.net

has_gdbm => '0'
test_prog => 'parrot'
-Wmissing-braces => '1'
ccwarn => ''
nvsize => '8'
HAS_READLINE => '1'
mv => '$(PERL) -MExtUtils​::Command -e mv'
-Wmissing-declarations => '1'
make_set_make => '#'
HAS_THREADS => '1'
inst_libparrot_ldflags => '"C​:\GnuTools\MSYS\home\MoC\Parrot/bin\libparrot.dll"'
gmake_version => '3.81'
make_and => '&&'
exec_prefix => 'C​:\GnuTools\MSYS\home\MoC\Parrot'
win32 => '1'
libparrot_for_makefile_only => '$(LIBPARROT_SHARED)'
gccversion => '4.4'
-Wstrict-prototypes => '1'
-Wno-shadow => '1'
tempdir => 'C​:\DOKUME1\MoC\LOKALE1\Temp'
rpath_blib => ''
blib_dir => 'blib\lib'
inc => 'include/parrot'
icu_dir => 'C​:\GnuTools\MinGW'
has_opengl => '1'
PQ => '"'
ncilib_link_extra => 'src/libnci_test.def'
glibc => ''
cc_ldflags => ''
nv => 'double'
libparrot_shared => 'libparrot.dll'
inst_libparrot_linkflags => '"C​:\GnuTools\MSYS\home\MoC\Parrot/bin\libparrot.dll"'
configuration_steps => 'init​::manifest init​::defaults init​::install init​::hints init​::headers inter​::progs inter​::make inter​::lex inter​::yacc auto​::gcc auto​::glibc auto​::backtrace auto​::msvc auto​::attributes auto​::warnings init​::optimize inter​::shlibs inter​::libparrot inter​::charset inter​::encoding inter​::types auto​::ops auto​::pmc auto​::alignptrs auto​::headers auto​::sizes auto​::byteorder auto​::va_ptr auto​::format auto​::isreg auto​::arch auto​::jit auto​::cpu auto​::funcptr auto​::cgoto auto​::inline auto​::gc auto​::memalign auto​::signal auto​::socklen_t auto​::neg_0 auto​::env auto​::thread auto​::gmp auto​::readline auto​::gdbm auto​::pcre auto​::opengl auto​::crypto auto​::gettext auto​::snprintf auto​::perldoc auto​::pod2man auto​::ctags auto​::revision auto​::icu gen​::config_h gen​::core_pmcs gen​::crypto gen​::parrot_include gen​::opengl gen​::call_list gen​::makefiles gen​::platform gen​::config_pm'
parrot_is_shared => '1'
intvalsize => '4'
-Wsign-compare => '1'
shortsize => '2'
cc_debug => '-g'
opcode_t => 'long'
revision => '40741'
link_dynamic => ' '
flex_version => ''
-Wimplicit-int => '1'
-Waggregate-return => '1'
i_setjmp => 'define'
glut => 'define'
-Wall => '1'
floatvalfmt => '%.15g'
HAS_PCRE => '1'
-Wwrite-strings => '1'
-Wpacked => '1'
intvalmin => 'LONG_MIN'
int4_t => 'int'
-Winvalid-pch => '1'
libdir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/lib'
hugeintval => 'long long'
MAJOR => '1'
slash => '\'
make => 'mingw32-make'
cc_inc => '-I./include'
archname => 'MSWin32-x86-multi-thread'
float8_t => 'double'
exe => '.exe'
-Wno-unused => '1'
MINOR => '5'
VERSION => '1.5.0'
jitarchname => 'i386-MSWin32'
memalign => ''
libparrot_ldflags => '"C​:/GnuTools/MSYS/home/MoC/parrot-svn\libparrot.dll"'
jitcpuarch => 'i386'
HAS_OLD_SNPRINTF => '1'
execcapable => '1'
link => 'gcc'
ar => 'ar'
ptr_alignment => '1'
as => 'as'
-Wmissing-prototypes => '1'
setenv => '0'
i386_has_mmx => '1'
HAS_i386_mmx => '1'
-Wundef => '1'
sharedstatedir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/com'
has_glut => '3'
-Wvariadic-macros => '1'
isreg => '1'
opengl_lib => '-lglut32 -lglu32 -lopengl32'
ld_load_flags => '-shared '
hugefloatvalsize => '12'
has_socklen_t => '0'
floatvalmax => 'DBL_MAX'
a => '.a'
-Winline => '1'
HASATTRIBUTE_NEVER_WORKS => '0'
-Wcast-align => '1'
o => '.o'
jitcpu => 'I386'
pod2man => 'C​:\Perl\bin/pod2man'
-Wformat-nonliteral => '1'
i_netinetin => ''
ranlib => 'rem'
HASATTRIBUTE_FORMAT => '0'
asmfun_o => ''
bindir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/bin'
inline => 'inline'
-Wno-missing-format-attribute => '1'
HAS_GETTEXT => '1'
ptrcast => 'int'
-Wstrict-aliasing=2 => '1'
HASATTRIBUTE_UNUSED => '1'
cg_flag => '-DHAVE_COMPUTED_GOTO'
-Wparentheses => '1'
cc => 'gcc'
-Wnonnull => '1'
sbindir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/sbin'
HASATTRIBUTE_NORETURN => '1'
has_negative_zero => '0'
numvalsize => '8'
i386_has_sse => '1'
HAS_i386_sse => '1'
dquote => '\"'
-Wformat-security => '1'
cp => '$(PERL) -MExtUtils​::Command -e cp'
docdir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/share/doc'
HASATTRIBUTE_CONST => '1'
doublesize => '8'
icu_shared => 'C​:\GnuTools\MinGW\lib\icudt.lib C​:\GnuTools\MinGW\lib\icuuc.lib'
configured_from_file => ''
linkflags => ''
msvcversion => ''
sysconfdir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/etc'
i_signal => 'define'
encoding => 'fixed_8.c ucs2.c utf16.c utf8.c'
perldoc => 'C​:\Perl\bin/perldoc'
cc_o_out => '-o '
-Wformat => '1'
PATCH => '0'
byteorder => '1234'
-Wmissing-field-initializers => '1'
verbose => ''
ld_debug => ''
-Wnested-externs => '1'
-Wimplicit => '1'
HASATTRIBUTE_DEPRECATED => '1'
oldincludedir => '/usr/include'
platform_asm => '0'
libs => '-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt -lgmp -lreadline -lintl'
-Wpointer-arith => '1'
has_pod2man => '1'
-Wunknown-pragmas => '1'
lns => 'copy'
has_sigatomic_t => ''
-Winit-self => '1'
-Wcast-qual => '1'
-Wbad-function-cast => '1'
-Wnot-a-real-warning => '0'
-Wold-style-definition => '1'
unsetenv => '1'
cat => '$(PERL) -MExtUtils​::Command -e cat'
sym_export => '__declspec(dllexport)'
cc_shared => ' '
HAS_i386_gcc_cmpxchg_c => '1'
i386_has_gcc_cmpxchg_c => '1'
HAS_OPENGL => '1'
glut_brand => 'GLUT'
touch => '$(PERL) -MExtUtils​::Command -e touch'
versiondir => '/parrot/1.5.0-devel'
ld_out => '-o '
-Wmain => '1'
prefix => 'C​:\GnuTools\MSYS\home\MoC\Parrot'
ld_share_flags => '-shared '
-Wmissing-include-dirs => '1'
has_static_linking => '1'
HAS_SNPRINTF => '1'
DEVEL => '-devel'
jit_i386 => 'fcomip'
-maccumulate-outgoing-args => '1'
pmc_names => 'default Null Env Key UnManagedStruct ManagedStruct Exception ParrotLibrary ParrotInterpreter ParrotThread LexPad Pointer Sub Coroutine Eval EventHandler Continuation RetContinuation ExceptionHandler NCI BigInt BigNum Complex Array FixedIntegerArray ResizableIntegerArray Iterator ArrayIterator HashIterator OrderedHashIterator StringIterator FixedStringArray ResizableStringArray Hash OrderedHash AddrRegistry LexInfo NameSpace OS File Capture CallSignature Class PMCProxy CPointer Exporter FixedBooleanArray ResizableBooleanArray FixedFloatArray ResizableFloatArray FixedPMCArray ResizablePMCArray MultiSub Handle FileHandle Socket StringHandle HashIteratorKey Object Packfile PackfileAnnotation PackfileFixupEntry PackfileSegment PackfileAnnotations PackfileConstantTable PackfileDirectory PackfileFixupTable PackfileRawSegment ParrotRunningThread PCCMETHOD_Test Role scalar Float Integer Boolean String CodeString Scheduler SchedulerMessage Sockaddr Task Timer Undef'
configdate => 'Sun Aug 23 16​:26​:02 2009 GMT'
intvalfmt => '%ld'
bison_version => ''
gc_flag => ''
has_perldoc => '1'
opengl => 'define'
HASATTRIBUTE_MALLOC => '1'
-Wendif-labels => '1'
ar_out => ''
charset => 'ascii.c binary.c iso-8859-1.c tables.c unicode.c'
has_dynamic_linking => '1'
build_dir => 'C​:/GnuTools/MSYS/home/MoC/parrot-svn'
new_perldoc => '1'
libparrot_static => 'libparrot.a'
-funit-at-a-time => '1'
make_c => 'mingw32-make -C'
share_ext => '.dll'
cpuarch => 'i386'
-Wswitch-default => '1'
libparrot_linkflags => '"C​:/GnuTools/MSYS/home/MoC/parrot-svn\libparrot.dll"'
-Wdeclaration-after-statement => '1'
chmod => '$(PERL) -MExtUtils​::Command -e ExtUtils​::Command​::chmod'
configure_args => '"--prefix=C​:\GnuTools\MSYS\home\MoC\Parrot" "--icushared=C​:\GnuTools\MinGW\lib\icudt.lib C​:\GnuTools\MinGW\lib\icuuc.lib" "--icuheaders=C​:\GnuTools\MinGW\include"'
load_ext => '.dll'
libparrot_soname => ''
has_setitimer => ''
-Wstrict-aliasing => '1'
-Wsequence-point => '1'
intvalmax => 'LONG_MAX'
int8_t => 'long long'
HASATTRIBUTE_WARN_UNUSED_RESULT => '1'
datadir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/share'
libexecdir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/libexec'
has_crypto => '0'
ldflags => ''
float4_t => 'float'
cc_exe_out => '-o '
ar_flags => 'cr'
opcode_t_size => '4'
-Wformat-y2k => '1'
-Werror=declaration-after-statement => '1'
perl => 'C​:\Perl\bin\perl.exe'
mandir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/man'
floatvalmin => 'DBL_MIN'
rpath => ''
iv => 'long'
installed => '1'
i_sysexit => ''
osname => 'MSWin32'
includedir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/include'
gmp => 'define'
intsize => '4'
infodir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/info'
jitcapable => '1'
no_lines_flag => ''
ptrsize => '4'
rm_rf => '$(PERL) -MExtUtils​::Command -e rm_rf'
ar_extra => ''
-Wswitch => '1'
HAS_GLUT => '3'
-Wtrigraphs => '1'
has_icu => '1'
-Wimport => '1'
HAS_GMP => '1'
malloc_header => ''
hugefloatval => 'long double'
readline => 'define'
-W => '1'
srcdir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/src'
-Wlogical-op => '1'
HASATTRIBUTE_PURE => '1'
perl_inc => 'C​:\Perl\lib\CORE'
va_ptr_type => 'stack'
-Wdisabled-optimization => '1'
i_syssocket => ''
optimize => ''
hugeintvalsize => '8'
HASATTRIBUTE_NONNULL => '1'
-Wcomment => '1'
-Wformat-extra-args => '1'
pmc => 'default.pmc null.pmc env.pmc key.pmc unmanagedstruct.pmc managedstruct.pmc exception.pmc parrotlibrary.pmc parrotinterpreter.pmc parrotthread.pmc lexpad.pmc timer.pmc pointer.pmc sub.pmc continuation.pmc retcontinuation.pmc coroutine.pmc eval.pmc nci.pmc float.pmc integer.pmc bigint.pmc bignum.pmc complex.pmc string.pmc boolean.pmc array.pmc fixedintegerarray.pmc iterator.pmc fixedstringarray.pmc hash.pmc orderedhash.pmc os.pmc file.pmc addrregistry.pmc arrayiterator.pmc callsignature.pmc capture.pmc class.pmc codestring.pmc cpointer.pmc eventhandler.pmc exceptionhandler.pmc exporter.pmc filehandle.pmc fixedbooleanarray.pmc fixedfloatarray.pmc fixedpmcarray.pmc handle.pmc hashiterator.pmc hashiteratorkey.pmc lexinfo.pmc multisub.pmc namespace.pmc object.pmc orderedhashiterator.pmc packfile.pmc packfileannotation.pmc packfileannotations.pmc packfileconstanttable.pmc packfiledirectory.pmc packfilefixupentry.pmc packfilefixuptable.pmc packfilerawsegment.pmc packfilesegment.pmc parrotrunningthread.pmc pccmethod_test.pmc pmcproxy.pmc resizablebooleanarray.pmc resizablefloatarray.pmc resizableintegerarray.pmc resizablepmcarray.pmc resizablestringarray.pmc role.pmc scalar.pmc scheduler.pmc schedulermessage.pmc sockaddr.pmc socket.pmc stringhandle.pmc stringiterator.pmc task.pmc undef.pmc'
-Wchar-subscripts => '1'
rm_f => '$(PERL) -MExtUtils​::Command -e rm_f'
-falign-functions=16 => '1'
lex => 'echo'
jitosname => 'MSWIN32'
longsize => '4'
localstatedir => 'C​:\GnuTools\MSYS\home\MoC\Parrot/var'
ld => 'g++'
int2_t => 'short'
ctags => 'ctags'
-Wreturn-type => '1'
rpath_lib => ''
has_sigaction => ''
yacc => 'echo'
bigendian => '0'
-fvisibility=hidden => '1'
mkpath => '$(PERL) -MExtUtils​::Command -e mkpath'
-Wimplicit-function-declaration => '1'
cc_hasjit => ' -DHAS_JIT -DI386'
-Wextra => '1'
debugging => '1'
has___sighandler_t => ''
-Wc++-compat => '1'
floatsize => '4'
ops => 'src/ops/core.ops src/ops/bit.ops src/ops/cmp.ops src/ops/debug.ops src/ops/experimental.ops src/ops/io.ops src/ops/math.ops src/ops/object.ops src/ops/pic.ops src/ops/pmc.ops src/ops/set.ops src/ops/string.ops src/ops/sys.ops src/ops/var.ops'
sym_import => '__declspec(dllimport)'
cxx => 'c++'
ccflags => '-DWIN32 -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16 -funit-at-a-time -maccumulate-outgoing-args -W -Wall -Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -Wendif-labels -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wlogical-op -Wmissing-braces -Wmissing-field-initializers -Wno-missing-format-attribute -Wmissing-include-dirs -Wpacked -Wparentheses -Wpointer-arith -Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wvariadic-macros -Wwrite-strings -Wbad-function-cast -Wc++-compat -Wdeclaration-after-statement -Werror=declaration-after-statement -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wnonnull -DHAS_GETTEXT'
link_debug => ''

@p6rt
Copy link
Author

p6rt commented Aug 23, 2009

From moc@coders-haven.net

C​:\GnuTools\MSYS\home\MoC\Parrot\bin\parrot.exe perl6_s1.pbc --target=pir src\gen_setting.pm > src\gen_setting.pir
C​:\GnuTools\MSYS\home\MoC\Parrot\bin\parrot.exe -o perl6.pbc perl6.pir
C​:\GnuTools\MSYS\home\MoC\Parrot\bin\pbc_to_exe.exe perl6.pbc
Can't read 'C​:GnuToolsMSYShomeMoCParrot/lib/parrot/1.5.0-devel/include/config.fpmc' : No such process
current instr.​: '_config' pc 76 (runtime\parrot\library\config.pir​:88)
called from Sub 'handle_args' pc 172 (tools\dev\pbc_to_exe.pir​:137)
called from Sub 'main' pc 17 (tools\dev\pbc_to_exe.pir​:31)
mingw32-make​: *** [perl6.exe] Error 1

@p6rt
Copy link
Author

p6rt commented Sep 8, 2009

From @azawawi

On Sun Aug 23 10​:25​:03 2009, MoC wrote​:

Hi,
building latest Rakudo using latest Parrot fails on Windows XP with an
error, refer to CmdLog.txt for an error log. I use MinGW 4.4 to
compile,
however I did not try to compile it in a MSYS environment even though
the paths might suggest this.
I also attached a parrot_config dump as suggested by jnthn.

--MoC

parrot's Configure.pl mishandles win32 backslashes in --prefix=prefix
when --get-parrot is used. I have included a simple patch to fix that.

Thanks,
Ahmad M. Zawawi

@p6rt
Copy link
Author

p6rt commented Sep 8, 2009

From @azawawi

Configure.pl.patch
diff --git a/Configure.pl b/Configure.pl
index c589b6d..178a2d3 100644
--- a/Configure.pl
+++ b/Configure.pl
@@ -29,6 +29,8 @@ MAIN: {
     if ($options{'gen-parrot'}) {
         my @opts    = @{ $options{'gen-parrot-option'} || [] };
         my $prefix  = $options{'gen-parrot-prefix'} || cwd()."/parrot_install";
+        # parrot's Configure.pl mishandles win32 backslashes in --prefix
+        $prefix =~ s{\\}{/}g;
         my @command = ($^X, "build/gen_parrot.pl", "--prefix=$prefix", @opts);
 
         print "Generating Parrot ...\n";

@p6rt
Copy link
Author

p6rt commented Sep 8, 2009

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Sep 8, 2009

From @azawawi

On Sun Aug 23 10​:25​:03 2009, MoC wrote​:

Hi,
building latest Rakudo using latest Parrot fails on Windows XP with an
error, refer to CmdLog.txt for an error log. I use MinGW 4.4 to
compile,
however I did not try to compile it in a MSYS environment even though
the paths might suggest this.
I also attached a parrot_config dump as suggested by jnthn.

--MoC

parrot's Configure.pl mishandles win32 backslashes in --prefix=prefix
when --get-parrot is used. I have included a simple patch to fix that.

Thanks,
Ahmad M. Zawawi

@p6rt
Copy link
Author

p6rt commented Sep 8, 2009

From @azawawi

Configure.pl.patch
diff --git a/Configure.pl b/Configure.pl
index c589b6d..178a2d3 100644
--- a/Configure.pl
+++ b/Configure.pl
@@ -29,6 +29,8 @@ MAIN: {
     if ($options{'gen-parrot'}) {
         my @opts    = @{ $options{'gen-parrot-option'} || [] };
         my $prefix  = $options{'gen-parrot-prefix'} || cwd()."/parrot_install";
+        # parrot's Configure.pl mishandles win32 backslashes in --prefix
+        $prefix =~ s{\\}{/}g;
         my @command = ($^X, "build/gen_parrot.pl", "--prefix=$prefix", @opts);
 
         print "Generating Parrot ...\n";

@p6rt
Copy link
Author

p6rt commented Sep 8, 2009

From @moritz

Committed as a0c8a44eb4f1578f03bd7d521ee91ee75581a0a0, thanks for the
patch. If this doesn't fix it, feel free to re-open this ticket.

Cheers,
Moritz

@p6rt
Copy link
Author

p6rt commented Sep 8, 2009

@moritz - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Sep 8, 2009
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