Ticket #1717 (closed bug: fixed)

Opened 4 years ago

Last modified 4 years ago

Parrot compilation fails on './miniparrot config_lib.pir' when there are non-ascii characters in the build path (pwd).

Reported by: dzoe Owned by: NotFound
Priority: normal Milestone:
Component: build Version: trunk
Severity: low Keywords:
Cc: Language:
Patch status: Platform: linux

Description

I downloaded parrot-2.6.0.tar.gz into /home/joe/Stažené, unpacked it and tried building it in /home/joe/Stažené/parrot-2.6.0/.

The third path component means "Downloaded" and it is a default download location for most browsers on my platform - which is Ubuntu 10.04 on x86_64.

perl Configure.pl runs ok

make fails on:

./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc Malformed string make: *** [runtime/parrot/include/config.fpmc] Error 1

When I try building it in /home/joe/Install/parrot-2.6.0, it works flawlessly.

We discussed it on #parrot and cotto found it is issue with non-ascii characters in the build path.

Attachments

bugreport.txt Download (2.4 KB) - added by dzoe 4 years ago.
Bugreport generated by ./parrotbug

Change History

Changed 4 years ago by dzoe

Bugreport generated by ./parrotbug

Changed 4 years ago by jkeenan

TT #1716 and TT #930, where whitespace in paths is the issue rather than non-ascii characters, may be related to the problem described in this ticket.

kid51

Changed 4 years ago by NotFound

Please be more specific. non-ascii in that case is utf8, some iso-8859... ?

Changed 4 years ago by dzoe

That was valid utf-8. Current locale settings were:

LANG=cs_CZ.utf8 LC_CTYPE="cs_CZ.utf8" LC_NUMERIC="cs_CZ.utf8" LC_TIME="cs_CZ.utf8" LC_COLLATE="cs_CZ.utf8" LC_MONETARY="cs_CZ.utf8" LC_MESSAGES="cs_CZ.utf8" LC_PAPER="cs_CZ.utf8" LC_NAME="cs_CZ.utf8" LC_ADDRESS="cs_CZ.utf8" LC_TELEPHONE="cs_CZ.utf8" LC_MEASUREMENT="cs_CZ.utf8" LC_IDENTIFICATION="cs_CZ.utf8" LC_ALL=

Changed 4 years ago by NotFound

r48205 is a partial fix of the problem. It uses binary charset for the build path config string when appropriate, same as other config strings.

After that, the build fails at a later point because of path split problems. We are discussing possible fixes.

Changed 4 years ago by NotFound

After some discussion on irc, checking substrings on binary has been allowed, darbelo++, r48206

With that change I've built parrot on a utf8 path and all test passes except: t/compilers/pct/complete_workflow.t (Wstat: 1536 Tests: 54 Failed: 6)

Failed tests: 9, 18, 27, 36, 45, 54

Changed 4 years ago by NotFound

  • status changed from new to assigned
  • owner set to NotFound

Fixed t/compilers/pct/complete_workflow.t to allow non ascii build dir in r48207.

With this, the problem is fully solved for me. Waiting for feedback.

Changed 4 years ago by dzoe

Works like a charm - r48213. Thanks for the fix!

Changed 4 years ago by NotFound

  • status changed from assigned to closed
  • resolution set to fixed

Closing ticket

Note: See TracTickets for help on using tickets.