help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: problem compiling 2.1.65 on solaris


From: John W. Eaton
Subject: Re: problem compiling 2.1.65 on solaris
Date: Fri, 18 Feb 2005 15:23:15 -0500

On 18-Feb-2005, Dmitri A. Sergatskov <address@hidden> wrote:

| John W. Eaton wrote:
| ...
| > 
| > Please try the following patch and let me know whether it works
| > correctly.  
| 
| Still some problems:
| 
| g++ -c  -fPIC -I. -I.. -I../liboctave -I../src -I../libcruft/misc  -I../glob 
-I../glob -DHAVE_CONFIG_H  -Wall -W -Wshadow -O2 -mcpu=ultrasparc 
-mtune=ultrasparc -pipe 
| file-ops.cc -o pic/file-ops.o
| file-ops.cc: In static member function `static std::string 
file_ops::canonicalize_file_name(const std::string&, std::string&)':
| file-ops.cc:358: error: passing `const std::string' as `this' argument of 
`std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, 
| _Alloc>::operator=(const std::basic_string<_CharT, _Traits, _Alloc>&) [with 
_CharT = char, _Traits = std::char_traits<char>, _Alloc = 
std::allocator<char>]' discards qualifiers
| file-ops.cc:368: error: cannot convert `const std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >' to `const char*' for argument 
`1' to `int 
| resolvepath(const char*, char*, size_t)'
| file-ops.cc:373: warning: comparison between signed and unsigned integer 
expressions
| make: *** [pic/file-ops.o] Error 1

OK, please try this patch in addition to the first.  It won't fix the
last warning, but I think it will compile now.

jwe


liboctave/ChangeLog:

2005-02-18  John W. Eaton  <address@hidden>

        * file-ops.cc (file_ops::canonicalize_file_name) [HAVE_RESOLVEPATH]:
        Save value returned from octave_env::make_absolute in local var.
        Pass const char*, not std::string as first arg of resolvepath.


Index: liboctave/file-ops.cc
===================================================================
RCS file: /usr/local/cvsroot/octave/liboctave/file-ops.cc,v
retrieving revision 1.36.2.2
diff -u -r1.36.2.2 file-ops.cc
--- liboctave/file-ops.cc       9 Feb 2005 23:11:11 -0000       1.36.2.2
+++ liboctave/file-ops.cc       18 Feb 2005 20:14:18 -0000
@@ -355,9 +355,10 @@
   // relative names into absolute ones, so prepend the working
   // directory if the path is not absolute.
 
-  name = octave_env::make_absolute (name);
+  std::string absolute_name
+    = octave_env::make_absolute (name, octave_env::getcwd ());
 
-  size_t resolved_size = name.length ();
+  size_t resolved_size = absolute_name.length ();
 
   while (1)
     {
@@ -365,7 +366,8 @@
 
       OCTAVE_LOCAL_BUFFER (char, resolved, resolved_size);
 
-      resolved_len = ::resolvepath (name, resolved, resolved_size);
+      int resolved_len = ::resolvepath (absolute_name.c_str (), resolved,
+                                       resolved_size);
 
       if (resolved_len < 0)
        break;



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]