Re: [Fink-devel] dlopen symbol not found

2007-12-04 Thread Koen van der Drift

On Dec 4, 2007, at 1:07 AM, Daniel Macks wrote:

 In particular,
 it's supplied by the deprecated_Emboss_str.o file in the
 bio-emboss-pm586 build dir (nm on that file reports it as T).

Ahaaa - because I earlier got many warnings for deprecacted files (eg  
deprecated_Emboss_str.c:3878: warning: 'ajStrTokenCount' is  
deprecated), I set a flag in the Makefile to not use them. Turns out  
that the test file still needs them, hence the error :)

Not sure if that would have caused my original error - at least this  
whole discussion revealed that there also was an upstream error.

I have committed the updated files for emboss and bio-emboss-pm.

thanks again for all the help,

- Koen.

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-03 Thread Peter O'Gorman
Koen van der Drift wrote:
 First of all, thanks for all the help and suggestions. Little by little
 I am undestanding more of the whole building process.
 
 Now for the results :)

 Unfortunately, I still get the same error:
 
 t/1Can't load
 '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio-Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle'
 for module Bio::Emboss:
 dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio-Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle,
 1): Symbol not found: _XS_Bio__Emboss_ajStrTokenCount

 Actually, if I *do* comment out that line, the error changes to:

 dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio-Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle,
 2): Symbol not found: _XS_Bio__Emboss_ajStrTokenCount

 Note the 2) instead of the 1)
 

That's fine, commenting out that line changed the call to dlopen(). With
it there perl does dlopen(/path/to/bundle,RTLD_LAZY); with it
commented out it does dlopen(/path/to/bundle,RTLD_NOW);
You can see the #defines for these in /usr/include/dlfcn.h.

So, it looks like I had it backwards before, I misread the perl and
figured it was setting PERL_DL_NONLAZY, but of course it is unsetting it :(

Which probably means that the upstream author is aware of the linking
issues and is trying to cover them up :(

 
 That seems ok to me, since ajStrTokenCount is part of libajax.
 

Yes, but the loader is not looking for ajStrTokenCount, it is looking
for XS_Bio__Emboss_ajStrTokenCount. And that is undefined.

Did you do jfm's magic on Emboss.bundle?

Peter
-- 
Peter O'Gorman
http://pogma.com

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-03 Thread Koen van der Drift
First of all, thanks for all the help and suggestions. Little by  
little I am undestanding more of the whole building process.

Now for the results :)

Using JF's test, I don't see any errors, ie nm doesn't print any  
symbol names. (BTW, could that script be useful in the validation code  
of fink?)  Using oTool -L on all the libs, I now see, with Dan's patch  
that much more libs are linked. But not for libajax and libnucleus:

libajax.5.0.0.dylib:
/sw/lib/EMBOSS/libajax.5.dylib (compatibility version 6.0.0, current  
version 6.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current  
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current  
version 111.0.0)

libnucleus.5.0.0.dylib:
/sw/lib/EMBOSS/libnucleus.5.dylib (compatibility version 6.0.0,  
current version 6.0.0)
/sw/lib/EMBOSS/libajax.5.dylib (compatibility version 6.0.0, current  
version 6.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current  
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current  
version 111.0.0)

Not sure if that is a problem.


Unfortunately, I still get the same error:

t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 1): Symbol not  
found: _XS_Bio__Emboss_ajStrTokenCount
   Referenced from: /sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle
   Expected in: dynamic lookup

This is with the line

BEGIN { delete $ENV{PERL_DL_NONLAZY}; };

NOT commented out (the code as is). And based on Peter's comment, that  
means that there is still something missing:

 Yes, this makes it pass RTLD_NOW to dlopen() which is similar to  
 setting
 DYLD_BIND_AT_LAUNCH. It should work with this set, if it does not it
 means there is a missing lib or symbol when linking the loadable  
 bundle.

Actually, if I *do* comment out that line, the error changes to:

t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 2): Symbol not  
found: _XS_Bio__Emboss_ajStrTokenCount
   Referenced from: /sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle
   Expected in: dynamic lookup
  at t/1.t line 11

Note the 2) instead of the 1)


So then I thought, maybe there are symbols or libs missing in  
Emboss.bundle? oTool -L on that file shows:

/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio-Emboss-5.0.0.1/blib/ 
arch/auto/Bio/Emboss/Emboss.bundle:
/sw/lib/EMBOSS/libnucleus.5.dylib (compatibility version 6.0.0,  
current version 6.0.0)
/sw/lib/EMBOSS/libajax.5.dylib (compatibility version 6.0.0, current  
version 6.0.0)
/sw/lib/EMBOSS/libajaxg.5.dylib (compatibility version 6.0.0, current  
version 6.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current  
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current  
version 111.0.0)

That seems ok to me, since ajStrTokenCount is part of libajax.

Of course, disabling testing solves the building error, but not the  
errors above.



cheers,

- Koen (still struggling)


-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-03 Thread Koen van der Drift

On Dec 3, 2007, at 10:01 PM, Peter O'Gorman wrote:

 Yes, but the loader is not looking for ajStrTokenCount, it is looking
 for XS_Bio__Emboss_ajStrTokenCount. And that is undefined.

 Did you do jfm's magic on Emboss.bundle?


that gives:

Macintosh:Emboss koen$ nm -mgu Emboss.bundle | fgrep -v ' (from ' |  
grep ajStrTokenCount
  (undefined) external _XS_Bio__Emboss_ajStrTokenCount  
(dynamically looked up)
  (undefined) external _XS_Bio__Emboss_ajStrTokenCountR  
(dynamically looked up)


- Koen.



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-03 Thread Daniel Macks
On Mon, Dec 03, 2007 at 09:43:51PM -0500, Koen van der Drift wrote:
 First of all, thanks for all the help and suggestions. Little by  
 little I am undestanding more of the whole building process.
 
 Now for the results :)
 
 Using JF's test, I don't see any errors, ie nm doesn't print any  
 symbol names. (BTW, could that script be useful in the validation code  
 of fink?)  Using oTool -L on all the libs, I now see, with Dan's patch  
 that much more libs are linked.
[...]
 Unfortunately, I still get the same error:
 
 t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
 Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 1): Symbol not  
 found: _XS_Bio__Emboss_ajStrTokenCount
Referenced from: /sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle
Expected in: dynamic lookup
 
 This is with the line
 
 BEGIN { delete $ENV{PERL_DL_NONLAZY}; };
 
 NOT commented out (the code as is). And based on Peter's comment, that  
 means that there is still something missing
[...]
 Actually, if I *do* comment out that line, the error changes to:
 
 t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
 Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 2): Symbol not  
 found: _XS_Bio__Emboss_ajStrTokenCount
Referenced from: /sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle
Expected in: dynamic lookup
   at t/1.t line 11
 
 Note the 2) instead of the 1)
 
 So then I thought, maybe there are symbols or libs missing in  
 Emboss.bundle? oTool -L on that file shows:
 
 /sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio-Emboss-5.0.0.1/blib/ 
 arch/auto/Bio/Emboss/Emboss.bundle:
   /sw/lib/EMBOSS/libnucleus.5.dylib (compatibility version 6.0.0,  
 current version 6.0.0)
   /sw/lib/EMBOSS/libajax.5.dylib (compatibility version 6.0.0, current  
 version 6.0.0)
   /sw/lib/EMBOSS/libajaxg.5.dylib (compatibility version 6.0.0, current  
 version 6.0.0)
   /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current  
 version 1.0.0)
   /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current  
 version 111.0.0)
 
 That seems ok to me, since ajStrTokenCount is part of libajax.

Careful...the missing symbol is _XS_Bio__Emboss_ajStrTokenCount not
just ajStrTokenCount. XS are symbols from compiled perl modules
themselves, not the libs they link.

On my 10.3 machine (to which I back-ported the 10.4/5 emboss packages
and added my emboss.patch hacks but did not change the PERL_DL_NONLAZY
line), bio-emboss-pm586 passes all its tests. That symbol is defined
within the Emboss.bundle (one of the results of 'nm Emboss.bundle |
grep _XS_Bio__Emboss_ajStrTokenCount' lists it as T). In particular,
it's supplied by the deprecated_Emboss_str.o file in the
bio-emboss-pm586 build dir (nm on that file reports it as T). Do
you have that .o file at all? In the actual compiler command that
creates the Emboss.bundle file (a few lines before the tests are run),
is that .o included in the list of .o files?

Bug that doesn't affect anything: in the bio-emboss-pm.patch,
$EMB_EXT_LIBS should be [EMAIL PROTECTED]@/lib (need to pass the actual
linker flag, not just the pathname where the libs are).

dan

-- 
Daniel Macks
[EMAIL PROTECTED]
http://www.netspace.org/~dmacks


-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-03 Thread Daniel Macks
On Tue, Dec 04, 2007 at 01:07:42AM -0500, Daniel Macks wrote:
 Bug that doesn't affect anything: in the bio-emboss-pm.patch,
 $EMB_EXT_LIBS should be [EMAIL PROTECTED]@/lib (need to pass the actual
 linker flag, not just the pathname where the libs are).

Or actually, don't need to pass anything there at all? Seems like this
variable is used *in addition to* the default LDFLAGS, which already
has fink's normal lib dir.

dan

-- 
Daniel Macks
[EMAIL PROTECTED]
http://www.netspace.org/~dmacks


-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Koen van der Drift

On Dec 2, 2007, at 1:07 AM, Peter O'Gorman wrote:


 I suggest that you find out what plsc is (rebuild the package that  
 makes
 libajaxg.5.dylib, and grep for it) and why it is not available (what
 provides it? grep -rl plsc /sw/lib

Thanks Peter,

The grep command revealed two broken aliases. One of them was from the  
emboss package, which I fixed, and I don't get the error anymore. The  
other one was lebecpg.4.dylib, which seems to belong to postgresql. I  
think I once installed it, but right now I don't have that installed  
anymore. Not sure why it is still on my system and why it would  
contain plsc, maybe just a coincidence.

But, I now get another similar error:

t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 1): Symbol not  
found: _XS_Bio__Emboss_ajStrTokenCount
   Referenced from: /sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle
   Expected in: dynamic lookup
  at t/1.t line 11

Using the grep command, ajStrTokenCount is in /sw/lib/libajax*, which  
is installed. I'll have another look at it later today.

cheers,

- Koen.






-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Koen van der Drift

On Dec 2, 2007, at 10:55 AM, Koen van der Drift wrote:


 On Dec 2, 2007, at 1:07 AM, Peter O'Gorman wrote:


 I suggest that you find out what plsc is (rebuild the package that  
 makes
 libajaxg.5.dylib, and grep for it) and why it is not available (what
 provides it? grep -rl plsc /sw/lib

 Thanks Peter,

 The grep command revealed two broken aliases. One of them was from  
 the emboss package, which I fixed, and I don't get the error  
 anymore. The other one was lebecpg.4.dylib, which seems to belong to  
 postgresql. I think I once installed it, but right now I don't have  
 that installed anymore. Not sure why it is still on my system and  
 why it would contain plsc, maybe just a coincidence.

 But, I now get another similar error:

 t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
 Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/ 
 Bio-Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 1):  
 Symbol not found: _XS_Bio__Emboss_ajStrTokenCount
  Referenced from: /sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle
  Expected in: dynamic lookup
 at t/1.t line 11



OK, I solved that by commenting out the following line in the test file:

BEGIN { delete $ENV{PERL_DL_NONLAZY}; };

This does the following (see http://www.perl.com/lpt/a/520):   
[quote]... it passes a flag to dlopen which attempts to ensure that  
all functions are relocated as soon as the shared object is loaded.  
Sounds complicated? In the normal, lazy operation of the dynamic  
loader, the loader doesn't actually load all the functions from the  
library file into memory at one go - instead, it merely notices that  
it has a bunch more functions available; when a function is called, it  
loads up the appropriate part of the object into memory, and jumps to  
it. (Not entirely unlike the behaviour of use autouse or AutoSplit.)
Setting [PERL_DL_NONLAZY] forces the loader to load up all functions  
at once, so that it can ensure that it really does have code for all  
the functions it claims to have code for; this is usually what you  
want to do when testing.[/quote]


However, now I get the following, again similar error:

t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 2): Symbol not  
found: _XAllocColor
   Referenced from: /sw/lib/EMBOSS/libeplplot.3.dylib
   Expected in: dynamic lookup
  at t/1.t line 11
Compilation failed in require at t/1.t line 11.

As I understand, _XAllocColor is part of libX1, and I have X11 and the  
X11SDK installed from the Leopard DVD. I re-installed both, rebuild  
emboss, and then tried bio-emboss-pm588 again, but still the same error.

Any clues?

thanks,

- Koen.










-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Peter O'Gorman
Koen van der Drift wrote:
 On Dec 2, 2007, at 10:55 AM, Koen van der Drift wrote:

 But, I now get another similar error:

 t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
 Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/ 
 Bio-Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 1):  
 Symbol not found: _XS_Bio__Emboss_ajStrTokenCount
  Referenced from: /sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle
  Expected in: dynamic lookup
 at t/1.t line 11
 
 
 
 OK, I solved that by commenting out the following line in the test file:
 
 BEGIN { delete $ENV{PERL_DL_NONLAZY}; };

Yes, this makes it pass RTLD_NOW to dlopen() which is similar to setting
DYLD_BIND_AT_LAUNCH. It should work with this set, if it does not it
means there is a missing lib or symbol when linking the loadable bundle.

 
 
 However, now I get the following, again similar error:
 
 t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
 Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 2): Symbol not  
 found: _XAllocColor
Referenced from: /sw/lib/EMBOSS/libeplplot.3.dylib
Expected in: dynamic lookup
   at t/1.t line 11
 Compilation failed in require at t/1.t line 11.

Did you check with otool -L that libeplplot loads libX11?

Peter
-- 
Peter O'Gorman
http://pogma.com

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Koen van der Drift

On Dec 2, 2007, at 11:35 PM, Peter O'Gorman wrote:



 However, now I get the following, again similar error:

 t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio-
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module
 Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/ 
 Bio-
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 2): Symbol  
 not
 found: _XAllocColor
   Referenced from: /sw/lib/EMBOSS/libeplplot.3.dylib
   Expected in: dynamic lookup
  at t/1.t line 11
 Compilation failed in require at t/1.t line 11.

 Did you check with otool -L that libeplplot Any suggestions on how I  
 can make it load libX11loads libX11?

Hmm, no it doesn't:

$ oTool -L libeplplot.*
libeplplot.3.2.7.dylib:
/sw/lib/EMBOSS/libeplplot.3.dylib (compatibility version 6.0.0,  
current version 6.7.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current  
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current  
version 111.0.0)
libeplplot.3.dylib:
/sw/lib/EMBOSS/libeplplot.3.dylib (compatibility version 6.0.0,  
current version 6.7.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current  
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current  
version 111.0.0)
libeplplot.dylib:
/sw/lib/EMBOSS/libeplplot.3.dylib (compatibility version 6.0.0,  
current version 6.7.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current  
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current  
version 111.0.0)


Any suggestions on how I can make it load libX11?

thanks,

- Koen.




-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Jean-François Mertens

On 03 Dec 2007, at 05:35, Peter O'Gorman wrote:


 Did you check with otool -L that libeplplot loads libX11?

But I see that Peter will give you a quicker fix - at least for
this specific problem - the principle is the same, and if
you want to be thorough you go through the check I
suggested _ it doesn't take that long ..  :)

JF

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Jean-François Mertens

On 03 Dec 2007, at 05:59, Koen van der Drift wrote:


 On Dec 2, 2007, at 11:49 PM, Jean-François Mertens wrote:

 But I see that Peter will give you a quicker fix - at least for
 this specific problem - the principle is the same, and if
 you want to be thorough you go through the check I
 suggested _ it doesn't take that long ..  :)

 Actually there are dozes of binaries in emboss (it's a suite of  
 programs). Only three of them have the word 'emboss' in them. If I  
 change the test to:

 dpkg -L emboss | grep bin | xargs file | fgrep 'Mach-O' | cut -f1 -d:

 I still get a long list, assuming that I didn't make an error. So  
 it would take some more time to go through all of them one by one :)

No .. That's why the file in question was labeled $f in :
 dpkg -S emboss | xargs file | fgrep 'Mach-O' | cut -f1 -d:
 will give you the list of all binaries in your pkg

 Then, for each of those in turn, say $f, run

 nm -mgu $f | fgrep -v ' (from '


to do in fact :

for f in `dpkg -S emboss | xargs file | fgrep 'Mach-O' | cut -f1 -d:` \
do echo $f;
nm -mgu $f | fgrep -v ' (from '
done

Cheers,

JF
-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel


Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Daniel Macks
Hooray for upstream bugs!

All of the shared libraried in emboss-5.0.0-3 are deficient in their
linkages. They don't link any other libraries, yet they all use
symbols from other libraries. See attached file for output from the
fink-dyld-link-test thing in my experimental/ directory on cvs.sf to
see what symbols are unresolved. The makefiles all appear to know the
libs that would be needed, but intentionally avoid dynamically linking
them on darwin (and don't even pass the flags correctly on most other
platforms because they didn't read the automake or libtool manual).

dan

-- 
Daniel Macks
[EMAIL PROTECTED]
http://www.netspace.org/~dmacks

Preparing...
g++ -all_load -multiply_defined suppress -bind_at_load /tmp/vSdsgacKlN.c -o 
/tmp/z82JuI69tD.o

Testing package emboss-ajax5-dev...

Examining /sw/lib/libajaxg.dylib...
g++ -all_load -multiply_defined suppress -bind_at_load /tmp/vSdsgacKlN.c -o 
/tmp/z82JuI69tD.o /sw/lib/libajaxg.a /sw/lib/EMBOSS/libajaxg.5.dylib 
/usr/lib/libSystem.B.dylib
ld: Undefined symbols:
_ajAcdGetProgram
_ajAcdInit
_ajAcdInitP
_ajCallRegister
_ajCharMatchC
_ajCharMatchCaseC
_ajCharPrefixCaseS
_ajDebug
_ajDegToRad
_ajErr
_ajFileClose
_ajFileNewOut
_ajFmtPrint
_ajFmtPrintAppS
_ajFmtPrintF
_ajFmtPrintS
_ajFmtStr
_ajFmtString
_ajListstrFree
_ajListstrGetLength
_ajListstrNew
_ajListstrPop
_ajListstrPushAppend
_ajMemAlloc
_ajMemCalloc
_ajMemCalloc0
_ajMemFree
_ajNamInit
_ajSeqGetLen
_ajSeqGetNameS
_ajStrAppendC
_ajStrAssignC
_ajStrAssignEmptyC
_ajStrAssignEmptyS
_ajStrAssignS
_ajStrDel
_ajStrGetCharLast
_ajStrGetLen
_ajStrGetPtr
_ajStrInsertC
_ajStrInsertS
_ajStrKeepRange
_ajStrMatchCaseC
_ajStrNewC
_ajTimeDel
_ajTimeNewToday
_ajTimeNewTodayFmt
_ajUser
_c_pladv
_c_plbox
_c_plcol0
_c_plend
_c_plerrx
_c_plerry
_c_plfill
_c_plgchr
_c_plgpage
_c_plinit
_c_pljoin
_c_plline
_c_pllsty
_c_plmtex
_c_plpoin
_c_plpsty
_c_plptex
_c_plschr
_c_plscol0
_c_plsdev
_c_plsori
_c_plspage
_c_plssub
_c_plvpor
_c_plvsta
_c_plwid
_c_plwind
_c_plxsfnam
_plsc
_plstrl

Examining /sw/lib/libajax.dylib...
g++ -all_load -multiply_defined suppress -bind_at_load /tmp/vSdsgacKlN.c -o 
/tmp/z82JuI69tD.o /sw/lib/libajax.a /sw/lib/EMBOSS/libajax.5.dylib 
/usr/lib/libSystem.B.dylib

Testing package emboss-eplplot3-dev...

Examining /sw/lib/libeplplot.dylib...
g++ -all_load -multiply_defined suppress -bind_at_load /tmp/vSdsgacKlN.c -o 
/tmp/z82JuI69tD.o /sw/lib/libeplplot.a /sw/lib/EMBOSS/libeplplot.3.dylib 
/usr/lib/libSystem.B.dylib
ld: Undefined symbols:
_XAllocColor
_XAllocColorCells
_XAllocNamedColor
_XCheckWindowEvent
_XClearWindow
_XCloseDisplay
_XCopyArea
_XCreateColormap
_XCreateFontCursor
_XCreateGC
_XCreatePixmap
_XCreateWindow
_XDefineCursor
_XDestroyWindow
_XDrawLine
_XDrawLines
_XFillPolygon
_XFillRectangle
_XFlush
_XFree
_XFreeColors
_XFreeGC
_XFreePixmap
_XGetErrorText
_XGetGeometry
_XGetImage
_XGetVisualInfo
_XLookupString
_XMapRaised
_XOpenDisplay
_XPending
_XPutImage
_XQueryColors
_XQueryPointer
_XSelectInput
_XSetBackground
_XSetErrorHandler
_XSetForeground
_XSetFunction
_XSetLineAttributes
_XSetStandardProperties
_XSetWindowBackground
_XSetWindowColormap
_XStoreColor
_XSync
_XSynchronize
_XUndefineCursor
_XWarpPointer
_XWindowEvent
_gdFree
_gdImageColorAllocate
_gdImageColorDeallocate
_gdImageCreate
_gdImageCreateTrueColor
_gdImageDestroy
_gdImageFilledPolygon
_gdImageFilledRectangle
_gdImageGifPtr
_gdImageLine
_gdImagePngPtrEx
_gdImageSetAntiAliased
_gdImageSetThickness

Testing package emboss-nucleus5-dev...

Examining /sw/lib/libnucleus.dylib...
g++ -all_load -multiply_defined suppress -bind_at_load /tmp/vSdsgacKlN.c -o 
/tmp/z82JuI69tD.o /sw/lib/libnucleus.a /sw/lib/EMBOSS/libnucleus.5.dylib 
/usr/lib/libSystem.B.dylib
ld: Undefined symbols:
_ajAZToInt
_ajAlignDefineSS
_ajAlignSetGapR
_ajAlignSetMatrixFloat
_ajAlignSetRange
_ajAlignSetScoreR
_ajDebug
_ajFmtPrintAppS
_ajFmtPrintF
_ajMemAlloc
_ajMemFree
_ajMessCrashFL
_ajMessSetErr
_ajSeqAssignAccS
_ajSeqAssignDescS
_ajSeqAssignNameS
_ajSeqAssignUsaS
_ajSeqDel
_ajSeqGapStandard
_ajSeqGetAccS
_ajSeqGetDescS
_ajSeqGetLen
_ajSeqGetNameS
_ajSeqGetOffend
_ajSeqGetOffset
_ajSeqGetSeqC
_ajSeqGetUsaS
_ajSeqIsReversed
_ajSeqNewNameS
_ajSeqNewRangeC
_ajSeqcvtGetCodeK
_ajSeqstrCountGaps
_ajStrAppendC
_ajStrAppendK
_ajStrAppendS
_ajStrAssignC
_ajStrAssignK
_ajStrAssignS
_ajStrAssignSubC
_ajStrCalcCountK
_ajStrDel
_ajStrDelStatic
_ajStrFmtUpper
_ajStrGetLen
_ajStrGetPtr
_ajStrInsertK
_ajStrNewC
_ajStrReverse
_ajStrSetRes
_ajMemCalloc
_ajMemCalloc0
_ajStrCmpS
_ajStrVcmp

Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Daniel Macks
On Mon, Dec 03, 2007 at 12:58:18AM -0500, Daniel Macks wrote:
 Hooray for upstream bugs!
 
 All of the shared libraried in emboss-5.0.0-3 are deficient in their
 linkages. They don't link any other libraries, yet they all use
 symbols from other libraries. See attached file for output from the
 fink-dyld-link-test thing in my experimental/ directory on cvs.sf to
 see what symbols are unresolved. The makefiles all appear to know the
 libs that would be needed, but intentionally avoid dynamically linking
 them on darwin (and don't even pass the flags correctly on most other
 platforms because they didn't read the automake or libtool manual).

Attached is a patchset that fixes all these linker messes. May need to
redo the Depends/BuildDepends for the emboss.info package set after
adding this to the existing emboss.patch file.

dan

-- 
Daniel Macks
[EMAIL PROTECTED]
http://www.netspace.org/~dmacks

diff -Nurd -x'*~' EMBOSS-5.0.0.orig/ajax/Makefile.in 
EMBOSS-5.0.0/ajax/Makefile.in
--- EMBOSS-5.0.0.orig/ajax/Makefile.in  2007-07-12 06:53:32.0 -0400
+++ EMBOSS-5.0.0/ajax/Makefile.in   2007-12-03 01:28:50.0 -0500
@@ -85,7 +85,8 @@
$(libajax_la_LDFLAGS) $(LDFLAGS) -o $@
 @[EMAIL PROTECTED] = -rpath $(libdir)
 @[EMAIL PROTECTED] = -rpath $(libdir)
-libajaxg_la_LIBADD =
+libajaxg_la_LIBADD = libajax.la ../plplot/libeplplot.la
+libajaxg_la_DEPENDENCIES = libajax.la ../plplot/libeplplot.la
 am__libajaxg_la_SOURCES_DIST = ajgraph.c ajhist.c
 @[EMAIL PROTECTED] = $(am__objects_2)
 libajaxg_la_OBJECTS = $(am_libajaxg_la_OBJECTS)
diff -Nurd -x'*~' EMBOSS-5.0.0.orig/nucleus/Makefile.in 
EMBOSS-5.0.0/nucleus/Makefile.in
--- EMBOSS-5.0.0.orig/nucleus/Makefile.in   2007-07-12 06:53:36.0 
-0400
+++ EMBOSS-5.0.0/nucleus/Makefile.in2007-12-03 01:25:23.0 -0500
@@ -55,7 +55,8 @@
 am__installdirs = $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
-libnucleus_la_LIBADD =
+libnucleus_la_LIBADD = ../ajax/libajax.la
+libajaxg_la_DEPENDENCIES = ../ajax/libajax.la
 am__objects_1 = embaln.lo embcom.lo embcons.lo embdata.lo embdbi.lo \
embdmx.lo embdomain.lo embest.lo embexit.lo embgroup.lo \
embiep.lo embindex.lo embinit.lo embmat.lo embmisc.lo \
diff -Nurd -x'*~' EMBOSS-5.0.0.orig/plplot/Makefile.in 
EMBOSS-5.0.0/plplot/Makefile.in
--- EMBOSS-5.0.0.orig/plplot/Makefile.in2007-07-12 06:53:36.0 
-0400
+++ EMBOSS-5.0.0/plplot/Makefile.in 2007-12-03 01:15:17.0 -0500
@@ -54,7 +54,7 @@
 am__installdirs = $(DESTDIR)$(libdir) $(DESTDIR)$(pkgincludedir)
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
-libeplplot_la_LIBADD =
+libeplplot_la_LIBADD = $(X_LIBS) -lX11 -lgd
 am__objects_1 = pdfutils.lo plargs.lo plbox.lo plcont.lo plcore.lo \
plctrl.lo plcvt.lo pldtik.lo plfill.lo plhist.lo plline.lo \
plmap.lo plot3d.lo plpage.lo plsdef.lo plshade.lo plsym.lo \
-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel

Re: [Fink-devel] dlopen symbol not found

2007-12-02 Thread Jean-François Mertens

On 03 Dec 2007, at 07:02, Peter O'Gorman wrote:

 Jean-François Mertens wrote:

 On 03 Dec 2007, at 05:35, Peter O'Gorman wrote:


 Did you check with otool -L that libeplplot loads libX11?

 But I see that Peter will give you a quicker fix - at least for
 this specific problem - the principle is the same, and if
 you want to be thorough you go through the check I
 suggested _ it doesn't take that long ..  :)

 Hehe, I thought I was doing a reasonable job of giving him the  
 tools so
 that he could learn to figure stuff out by himself :-)
hoping I helped a bit too _
just thought that when the same type of problem was re-occurring with
the same pkg, it was better to give some more systematic tools..
JF

 Sorry, I did not see your email to Koen about this (was it off-list?).

Right _ it was _though I tried to use Reply-to-all throughout..
Here is what I can reconstruct
(and I see it is in my first reply that I forgot the reply-all:


 On 03 Dec 2007, at 02:52, Koen van der Drift wrote:


 t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio-
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module
 Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/ 
 Bio-
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 2): Symbol  
 not
 found: _XAllocColor
Referenced from: /sw/lib/EMBOSS/libeplplot.3.dylib
Expected in: dynamic lookup
   at t/1.t line 11
 Compilation failed in require at t/1.t line 11.

 As I understand, _XAllocColor is part of libX1, and I have X11 and  
 the
 X11SDK installed from the Leopard DVD. I re-installed both, rebuild
 emboss, and then tried bio-emboss-pm588 again, but still the same  
 error.


 Try to build your pkg (adding libs if necessary to the link  
 commands) such
 that all undefined symbols of all Mach-O files have a  (from ...  
 in the output
 of nm -m

 Jean-Francois



On Dec 2, 2007, at 9:17 PM, Jean-François Mertens wrote:


 Try to build your pkg (adding libs if necessary to the link  
 commands) such
 that all undefined symbols of all Mach-O files have a  (from ...  
 in the output
 of nm -m


Could you explain how to do that, I have no idea what you mean :-(

thanks,

- Koen.

On 03 Dec 2007, at 03:30, Koen van der Drift wrote:



 On Dec 2, 2007, at 9:17 PM, Jean-François Mertens wrote:


 Try to build your pkg (adding libs if necessary to the link  
 commands) such
 that all undefined symbols of all Mach-O files have a  (from ...  
 in the output
 of nm -m


 Could you explain how to do that, I have no idea what you mean :-(


dpkg -S emboss | xargs file | fgrep 'Mach-O' | cut -f1 -d:
will give you the list of all binaries in your pkg

Then, for each of those in turn, say $f, run

nm -mgu $f | fgrep -v ' (from '

and you'll see all symbols for which it may be better to tell the  
linker where
to find them...

(to understand what this is doing, run first on some example just

nm -mgu $f

to see what you eliminate, and why the others are the culprits for
your problems)

Best,

Jean-Francois
__
On Dec 2, 2007, at 11:49 PM, Jean-François Mertens wrote:


 But I see that Peter will give you a quicker fix - at least for
 this specific problem - the principle is the same, and if
 you want to be thorough you go through the check I
 suggested _ it doesn't take that long ..  :)


Actually there are dozes of binaries in emboss (it's a suite of  
programs). Only three of them have the word 'emboss' in them. If I  
change the test to:

dpkg -L emboss | grep bin | xargs file | fgrep 'Mach-O' | cut -f1 -d:

I still get a long list, assuming that I didn't make an error. So it  
would take some more time to go through all of them one by one :)

thanks for all the help,

- Koen.

___
On 03 Dec 2007, at 05:37, Koen van der Drift wrote:



 On Dec 2, 2007, at 10:05 PM, Jean-François Mertens wrote:


 Then, for each of those in turn, say $f, run

 nm -mgu $f | fgrep -v ' (from '


 This line doesn't return anything. Is it complete, it looks like  
 there is something missing at the end?


It shouldn't return anything ! Did you try it for all binaries in the  
pkg ?

JF
_
On 03 Dec 2007, at 05:59, Koen van der Drift wrote:

 On Dec 2, 2007, at 11:49 PM, Jean-François Mertens wrote:


 But I see that Peter will give you a quicker fix - at least for
 this specific problem - the principle is the same, and if
 you want to be thorough you go through the check I
 suggested _ it doesn't take that long ..  :)


 Actually there are dozes of binaries in emboss (it's a suite of  
 programs). Only three of them have the word 'emboss' in them. If I  
 change the test to:

 dpkg -L emboss | grep bin | xargs file | fgrep 'Mach-O' | cut -f1 -d:

 I still get a long list, assuming that I didn't make an error. So  
 it would take some more time to go through all of them one by one :)


No .. That's why the file in question was labeled $f in :

 dpkg -S emboss | xargs file | fgrep 'Mach-O' | cut 

Re: [Fink-devel] dlopen symbol not found

2007-12-01 Thread Peter O'Gorman
Koen van der Drift wrote:
 Hi,
 
 I am getting the following error during the test phase of a perl- 
 module package on 10.5:
 
 t/1Can't load '/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle' for module  
 Bio::Emboss: dlopen(/sw/src/fink.build/bio-emboss-pm588-5.0.0.1-1/Bio- 
 Emboss-5.0.0.1/blib/arch/auto/Bio/Emboss/Emboss.bundle, 1): Symbol not  
 found: _plsc
Referenced from: /sw/lib/EMBOSS/libajaxg.5.dylib
Expected in: dynamic lookup
   at t/1.t line 11

Well, the symbol plsc is required by libajaxg.5.dylib, but is not
available. This is a danger in allowing undefined symbols in shared
libraries.

I suggest that you find out what plsc is (rebuild the package that makes
libajaxg.5.dylib, and grep for it) and why it is not available (what
provides it? grep -rl plsc /sw/lib).

Then you should have enough information available to solve the problem.

Sorry I can't give you an answer to the puzzle.

Peter
-- 
Peter O'Gorman
http://pogma.com

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel