You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Andrew Black (JIRA)" <ji...@apache.org> on 2006/01/09 23:04:27 UTC

[jira] Created: (STDCXX-109) [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)

[Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)
------------------------------------------------------------------

         Key: STDCXX-109
         URL: http://issues.apache.org/jira/browse/STDCXX-109
     Project: STDCXX
        Type: Bug
  Components: Build  
 Environment: Mac OS X 10.2.8/Darwin 6.8 with GCC 3.1
    Reporter: Andrew Black


When the make process gets to the point where it tries to build the rwstderr.cat file, the make process fails with

gencat rwstderr.cat /Volumes/Orion/Work/stdcxx/src/rwstderr.msg
/bin/sh: gencat: command not found
make[2]: *** [rwstderr.cat] Error 127
make[1]: *** [lib] Error 2
make: *** [libstd] Error 2

The most obvious cause is that there is no gencat utility installed on the system in the $PATH hierarchy.  I have not searched for the gencat utility outside of the $PATH hierarchy at this point in time, though it would make sense to do so.  As this utility is referenced as a part of the makefile rules, it would be difficult at best to control logic through the characterization tests.

A possible way to detect if there is an accessable copy of gencat would be to use the which command, redirecting the output to /dev/null, and using the return code to detect the location.

Another possible tactic would be to make the failed execution of gencat a non fatal problem (which likely would result in other problems if it failed in other circumstances), then to touch the output file when done so that a file is present (if empty) to be used in building the library.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (STDCXX-109) [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)

Posted by "Andrew Black (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Black closed STDCXX-109.
-------------------------------

    Resolution: Fixed

Closing as fixed with the change made in http://svn.apache.org/viewvc?rev=585143&view=rev and verified via simulation in manual testing.

A future enhancement might be to provide more informative output regarding the consequences of the failure, and possibly making it fatal if the catalog failed to build for reasons other than a missing gencat utility, but these enhancements are outside the scope of this issue.

> [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)
> ------------------------------------------------------------------
>
>                 Key: STDCXX-109
>                 URL: https://issues.apache.org/jira/browse/STDCXX-109
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Build
>         Environment: Mac OS X 10.2.8/Darwin 6.8 with GCC 3.1
>            Reporter: Andrew Black
>            Assignee: Andrew Black
>             Fix For: 4.2
>
>
> When the make process gets to the point where it tries to build the rwstderr.cat file, the make process fails with
> gencat rwstderr.cat /Volumes/Orion/Work/stdcxx/src/rwstderr.msg
> /bin/sh: gencat: command not found
> make[2]: *** [rwstderr.cat] Error 127
> make[1]: *** [lib] Error 2
> make: *** [libstd] Error 2
> The most obvious cause is that there is no gencat utility installed on the system in the $PATH hierarchy.  I have not searched for the gencat utility outside of the $PATH hierarchy at this point in time, though it would make sense to do so.  As this utility is referenced as a part of the makefile rules, it would be difficult at best to control logic through the characterization tests.
> A possible way to detect if there is an accessable copy of gencat would be to use the which command, redirecting the output to /dev/null, and using the return code to detect the location.
> Another possible tactic would be to make the failed execution of gencat a non fatal problem (which likely would result in other problems if it failed in other circumstances), then to touch the output file when done so that a file is present (if empty) to be used in building the library.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (STDCXX-109) [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)

Posted by "Andrew Black (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12510418 ] 

Andrew Black commented on STDCXX-109:
-------------------------------------

I am uncertain if this problem actually is a must fix for 4.2.0.

The OS and compiler in question are old, and we are at least able to get the library to build on newer versions of the operating system (though other problems have been observed).  Combined with other problems with the OS/compiler in question, I'm not certain it's worth trying to resolve the issue - for this OS and compiler.

This issue points out a slightly larger problem though - Should we require there to be a version of gencat on unix systems, or should we try to provide some sort of a workaround for systems which lack the utility?  If we chose the former route, this issue can be closed as 'Won't Fix'.  If the later, a decision needs to be made on whether this accommodation is something that needs to be done for 4.2.0.

--Andrew Black 

> [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)
> ------------------------------------------------------------------
>
>                 Key: STDCXX-109
>                 URL: https://issues.apache.org/jira/browse/STDCXX-109
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Build
>         Environment: Mac OS X 10.2.8/Darwin 6.8 with GCC 3.1
>            Reporter: Andrew Black
>            Assignee: Andrew Black
>             Fix For: 4.2
>
>
> When the make process gets to the point where it tries to build the rwstderr.cat file, the make process fails with
> gencat rwstderr.cat /Volumes/Orion/Work/stdcxx/src/rwstderr.msg
> /bin/sh: gencat: command not found
> make[2]: *** [rwstderr.cat] Error 127
> make[1]: *** [lib] Error 2
> make: *** [libstd] Error 2
> The most obvious cause is that there is no gencat utility installed on the system in the $PATH hierarchy.  I have not searched for the gencat utility outside of the $PATH hierarchy at this point in time, though it would make sense to do so.  As this utility is referenced as a part of the makefile rules, it would be difficult at best to control logic through the characterization tests.
> A possible way to detect if there is an accessable copy of gencat would be to use the which command, redirecting the output to /dev/null, and using the return code to detect the location.
> Another possible tactic would be to make the failed execution of gencat a non fatal problem (which likely would result in other problems if it failed in other circumstances), then to touch the output file when done so that a file is present (if empty) to be used in building the library.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (STDCXX-109) [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511175 ] 

Martin Sebor commented on STDCXX-109:
-------------------------------------

We should be able to successfully build the library even when gencat isn't installed.

The fix is simple: make the makefile rule succeed even if the invocation of the utility fails. One way to do it is to put a dash in front of it:

# create a catalog from text message files - see gencat(1)
$(CATFILE): $(MSGFILES)
	-gencat $@ $^


> [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)
> ------------------------------------------------------------------
>
>                 Key: STDCXX-109
>                 URL: https://issues.apache.org/jira/browse/STDCXX-109
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Build
>         Environment: Mac OS X 10.2.8/Darwin 6.8 with GCC 3.1
>            Reporter: Andrew Black
>            Assignee: Andrew Black
>             Fix For: 4.2
>
>
> When the make process gets to the point where it tries to build the rwstderr.cat file, the make process fails with
> gencat rwstderr.cat /Volumes/Orion/Work/stdcxx/src/rwstderr.msg
> /bin/sh: gencat: command not found
> make[2]: *** [rwstderr.cat] Error 127
> make[1]: *** [lib] Error 2
> make: *** [libstd] Error 2
> The most obvious cause is that there is no gencat utility installed on the system in the $PATH hierarchy.  I have not searched for the gencat utility outside of the $PATH hierarchy at this point in time, though it would make sense to do so.  As this utility is referenced as a part of the makefile rules, it would be difficult at best to control logic through the characterization tests.
> A possible way to detect if there is an accessable copy of gencat would be to use the which command, redirecting the output to /dev/null, and using the return code to detect the location.
> Another possible tactic would be to make the failed execution of gencat a non fatal problem (which likely would result in other problems if it failed in other circumstances), then to touch the output file when done so that a file is present (if empty) to be used in building the library.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (STDCXX-109) [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12510264 ] 

Martin Sebor commented on STDCXX-109:
-------------------------------------

Andrew, this must be fixed for 4.2. Can you please double-check to make sure this is still a problem and if so, let us know if you'll be able to work on a patch?

> [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)
> ------------------------------------------------------------------
>
>                 Key: STDCXX-109
>                 URL: https://issues.apache.org/jira/browse/STDCXX-109
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Build
>         Environment: Mac OS X 10.2.8/Darwin 6.8 with GCC 3.1
>            Reporter: Andrew Black
>            Assignee: Andrew Black
>             Fix For: 4.2
>
>
> When the make process gets to the point where it tries to build the rwstderr.cat file, the make process fails with
> gencat rwstderr.cat /Volumes/Orion/Work/stdcxx/src/rwstderr.msg
> /bin/sh: gencat: command not found
> make[2]: *** [rwstderr.cat] Error 127
> make[1]: *** [lib] Error 2
> make: *** [libstd] Error 2
> The most obvious cause is that there is no gencat utility installed on the system in the $PATH hierarchy.  I have not searched for the gencat utility outside of the $PATH hierarchy at this point in time, though it would make sense to do so.  As this utility is referenced as a part of the makefile rules, it would be difficult at best to control logic through the characterization tests.
> A possible way to detect if there is an accessable copy of gencat would be to use the which command, redirecting the output to /dev/null, and using the return code to detect the location.
> Another possible tactic would be to make the failed execution of gencat a non fatal problem (which likely would result in other problems if it failed in other circumstances), then to touch the output file when done so that a file is present (if empty) to be used in building the library.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (STDCXX-109) [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534700 ] 

Martin Sebor commented on STDCXX-109:
-------------------------------------

The latest Darwin 8.10.1 (possibly via XCode 2.0?) comes with the gencat utility (see below), so this might only be an issue for older versions of the OS. Still, the fix is trivial and safe, so I think we should apply it for 4.2. Andrew, please go ahead and apply it ASAP.

http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man1/gencat.1.html

> [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)
> ------------------------------------------------------------------
>
>                 Key: STDCXX-109
>                 URL: https://issues.apache.org/jira/browse/STDCXX-109
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Build
>         Environment: Mac OS X 10.2.8/Darwin 6.8 with GCC 3.1
>            Reporter: Andrew Black
>            Assignee: Andrew Black
>             Fix For: 4.2
>
>
> When the make process gets to the point where it tries to build the rwstderr.cat file, the make process fails with
> gencat rwstderr.cat /Volumes/Orion/Work/stdcxx/src/rwstderr.msg
> /bin/sh: gencat: command not found
> make[2]: *** [rwstderr.cat] Error 127
> make[1]: *** [lib] Error 2
> make: *** [libstd] Error 2
> The most obvious cause is that there is no gencat utility installed on the system in the $PATH hierarchy.  I have not searched for the gencat utility outside of the $PATH hierarchy at this point in time, though it would make sense to do so.  As this utility is referenced as a part of the makefile rules, it would be difficult at best to control logic through the characterization tests.
> A possible way to detect if there is an accessable copy of gencat would be to use the which command, redirecting the output to /dev/null, and using the return code to detect the location.
> Another possible tactic would be to make the failed execution of gencat a non fatal problem (which likely would result in other problems if it failed in other circumstances), then to touch the output file when done so that a file is present (if empty) to be used in building the library.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-109) [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor updated STDCXX-109:
--------------------------------

    Fix Version/s: 4.2

Scheduled as a must-fix for 4.2.0.

> [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)
> ------------------------------------------------------------------
>
>                 Key: STDCXX-109
>                 URL: https://issues.apache.org/jira/browse/STDCXX-109
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Build
>         Environment: Mac OS X 10.2.8/Darwin 6.8 with GCC 3.1
>            Reporter: Andrew Black
>            Assignee: Andrew Black
>             Fix For: 4.2
>
>
> When the make process gets to the point where it tries to build the rwstderr.cat file, the make process fails with
> gencat rwstderr.cat /Volumes/Orion/Work/stdcxx/src/rwstderr.msg
> /bin/sh: gencat: command not found
> make[2]: *** [rwstderr.cat] Error 127
> make[1]: *** [lib] Error 2
> make: *** [libstd] Error 2
> The most obvious cause is that there is no gencat utility installed on the system in the $PATH hierarchy.  I have not searched for the gencat utility outside of the $PATH hierarchy at this point in time, though it would make sense to do so.  As this utility is referenced as a part of the makefile rules, it would be difficult at best to control logic through the characterization tests.
> A possible way to detect if there is an accessable copy of gencat would be to use the which command, redirecting the output to /dev/null, and using the return code to detect the location.
> Another possible tactic would be to make the failed execution of gencat a non fatal problem (which likely would result in other problems if it failed in other circumstances), then to touch the output file when done so that a file is present (if empty) to be used in building the library.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (STDCXX-109) [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor reassigned STDCXX-109:
-----------------------------------

    Assignee: Andrew Black

Assigning to Andrew -- can you please check what the deal is here?

> [Mac OS X 10.2.8] Unable to build rwstderr.cat (no gencat utility)
> ------------------------------------------------------------------
>
>                 Key: STDCXX-109
>                 URL: https://issues.apache.org/jira/browse/STDCXX-109
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Build
>         Environment: Mac OS X 10.2.8/Darwin 6.8 with GCC 3.1
>            Reporter: Andrew Black
>            Assignee: Andrew Black
>
> When the make process gets to the point where it tries to build the rwstderr.cat file, the make process fails with
> gencat rwstderr.cat /Volumes/Orion/Work/stdcxx/src/rwstderr.msg
> /bin/sh: gencat: command not found
> make[2]: *** [rwstderr.cat] Error 127
> make[1]: *** [lib] Error 2
> make: *** [libstd] Error 2
> The most obvious cause is that there is no gencat utility installed on the system in the $PATH hierarchy.  I have not searched for the gencat utility outside of the $PATH hierarchy at this point in time, though it would make sense to do so.  As this utility is referenced as a part of the makefile rules, it would be difficult at best to control logic through the characterization tests.
> A possible way to detect if there is an accessable copy of gencat would be to use the which command, redirecting the output to /dev/null, and using the return code to detect the location.
> Another possible tactic would be to make the failed execution of gencat a non fatal problem (which likely would result in other problems if it failed in other circumstances), then to touch the output file when done so that a file is present (if empty) to be used in building the library.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.