octave-maintainers
[Top][All Lists]
Advanced

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

Re: anyone seeing "dyld: Symbol not found: _program_name"


From: Ben Abbott
Subject: Re: anyone seeing "dyld: Symbol not found: _program_name"
Date: Fri, 05 Feb 2010 17:32:55 -0500

On Feb 5, 2010, at 2:15 PM, John W. Eaton wrote:

>> 
>> On Feb 5, 2010, at 1:53 AM, John W. Eaton wrote:
>> 
>>> On  4-Feb-2010, Ben Abbott wrote:
>>> 
>>> | I've built with the current sources. Running in gdb, I see ...
>>> |
>>> | dyld: Symbol not found: _program_name
>>> |   Referenced from:
>>> /Users/bpabbott/Development/mercurial/local_clone/liboctave/.libs/liboctave-3.3.50+.dylib
>>> |   Expected in: flat namespace
>>> |  in
>>> /Users/bpabbott/Development/mercurial/local_clone/liboctave/.libs/liboctave-3.3.50+.dylib
>>> |
>>> | Program received signal SIGTRAP, Trace/breakpoint trap.
>>> | 0x8fe01065 in __dyld_dyld_fatal_error ()
>>> | (gdb) bt
>>> | #0  0x8fe01065 in __dyld_dyld_fatal_error ()
>>> | #1  0x8fe04fa5 in __dyld__ZN4dyld4haltEPKc ()
>>> | #2  0x8fe0796b in __dyld__ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_
>>> ()
>>> | #3  0x8fe018b1 in
>>> __dyld__ZN13dyldbootstrap5startEPK12macho_headeriPPKcl ()
>>> | #4  0x8fe01057 in __dyld__dyld_start ()
>>> |
>>> | Is anyone else seeing this.
>>> 
>>> Does adding the progname module to th gnulib_modules list in the
>>> bootstrap.conf file solve this problem for you?  If so, it would be
>>> good to know which module in gnulib is using this symbol but not
>>> listing the progname module as a dependency.
>>> 
>>> jwe
>> 
>> Adding progname to the gnulib_modules list resulted in a successful build.
>> 
>> However, ...
>> 
>>      octave:1> cd test
>>      octave:2> fntests
>> 
>>      Integrated test scripts:
>> 
>>      `lstat' undefined near line 100 column 20
> 
> Probably you need to change the definition of the lstat function in
> src/syscalls.cc from
> 
>  DEFUN (lstat, args, ,
> 
> to
> 
>  DEFUNX ("lstat", Flstat, args, ,
> 
> Similar changes might need to be made for fstat and stat.
> 
> If you type
> 
>  rpl_<TAB>
> 
> at the octave prompt, what symbols are displayed as completions?
> 
> jwe

Thanks John!

The only function "rpl_ <TAB>" lists is "rpl_lstat". I've made the change to 
lstat and left fstat and stat as they were.

Octave now builds and runs as expected (see the detail below). 

The diff for the modified syscalls.cc is ...

759c759
< DEFUN (lstat, args, ,
---
> DEFUNX ("lstat", Flstat, args, ,

My tip is ...

$ hg tip
changeset:   10267:479c7df0cc96
tag:         tip
user:        Jaroslav Hajek <address@hidden>
date:        Thu Feb 04 14:36:49 2010 +0100
summary:     don't instantiate MArray<char>

... and the diff for all files 

$ hg diff
diff -r 65b41bc71f09 bootstrap.conf
--- a/bootstrap.conf    Wed Feb 03 17:05:02 2010 -0500
+++ b/bootstrap.conf    Fri Feb 05 17:22:48 2010 -0500
@@ -33,6 +33,7 @@
   sleep
   nanosleep
   pathmax
+  progname
   readlink
   rename
   rmdir
diff -r 65b41bc71f09 m4/acx_pthread.m4
--- a/m4/acx_pthread.m4 Wed Feb 03 17:05:02 2010 -0500
+++ b/m4/acx_pthread.m4 Fri Feb 05 17:22:48 2010 -0500
@@ -149,6 +149,10 @@
 
         acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
         ;;
+
+       *-darwin*)
+       acx_pthread_flags="-pthread"
+       ;;
 esac
 
 if test x"$acx_pthread_ok" = xno; then
diff -r 65b41bc71f09 src/syscalls.cc
--- a/src/syscalls.cc   Wed Feb 03 17:05:02 2010 -0500
+++ b/src/syscalls.cc   Fri Feb 05 17:22:48 2010 -0500
@@ -756,7 +756,7 @@
   return retval;
 }
 
-DEFUN (lstat, args, ,
+DEFUNX ("lstat", Flstat, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Built-in Function} address@hidden, @var{err}, @var{msg}] =} lstat 
(@var{file})\n\
 See stat.\n\

The change to acx_pthread.m4 is from Thomas Triechl and resolves the _REENTRANT 
error on MacOS X.

In any event, my build on MacOS X gives only one error, which I understand is 
the result of a gcc bug.

 120 >>>>> processing 
/Users/bpabbott/Development/mercurial/local_clone/src/data.cc
 121   ***** assert(log2(complex(0,Inf)), Inf + log2(i));
 122 !!!!! test failed
 123 assert (log2 (complex (0, Inf)),Inf + log2 (i)) expected
 124 Inf + 2.266i
 125 but got
 126 Inf - NaNi
 127 NaNs don't match

Thanks again!
Ben





reply via email to

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