Hi all,

I realized today that there are many fink programs which could be prebound right now but aren't, even though the fink dylib automatic prebinding isn't quite ready yet.

Using 'otool -L' I made of list of binaries which link ONLY to Apple-supplied dylibs, there are probably more as this list reflects what I have installed.

Files should be compiled and linked with the '-prebind' flag. If a file can't be prebound the compiler/linker just skips the prebinding step and spits out a warning.

I'm proposing the following patch to fink:
--------------------------------------------------------
--- PkgVersion.pm-original Fri Oct 25 02:41:42 2002
+++ PkgVersion.pm Sun Nov 17 16:46:51 2002
@@ -1710,5 +1710,7 @@
my ($varname, $s, $expand);
my %defaults = ( "CPPFLAGS" => "-I\%p/include",
- "LDFLAGS" => "-L\%p/lib" );
+ "LDFLAGS" => "-prebind -L\%p/lib",
+ "CFLAGS" => "-prebind",
+ "MFLAGS" => "-j8" )
my $bsbase = get_bsbase();

--------------------------------------------------------
This will only help programs which use autoconf or those which specifically look for the above environment variables. Other programs will have to be repatched or their' info files updated, and binaries which depend on any non-apple dylibs won't be helped either.

A few of these are from my packages (and just moved into stable today DOH), I will look into repatching them this week. Please take a look at your packages to see if you can rebuild any with -prebind in the CFLAGS and LDFLAGS.


To test whether a program is prebound (example with gzip):
sudo redo_prebinding /sw/bin/gzip
- If the program is not prebound you will see:
redo_prebinding: file is not prebound: gzip
- If the program is prebound you will see nothing.

To see if a program depends only on apple dylibs:
otool -L /sw/bingzip
gzip:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 61.0.0)

Notice this example does not depend on any fink dylibs from /sw/lib, only from /usr so it is a candidate.


Of particular interest are of course programs run frequently, like gzcat, gzip, ccache (pending new info file with splitoffs), man, m4, ncftp. Stuff I use often, indent, and fortune (yes--and don't laugh--a new one in every terminal window lol)

:)
Carsten

/sw/bin:
--------
antiword
bzip2recover
ccache
chkfont
comp_err
di
diction
dnstracer
figlet
file
fortune
funzip
gengetopt
gm4
gunzip
gzcat
gzip
indent
launch
lessecho
lesskey
lgrep
lv
m4
man
man2html
mi
mktemp
mpack
munpack
my_print_defaults
myisamchk
myisamlog
myisampack
ncftp
ncftpbatch
ncftpget
ncftpls
ncftpput
ncftpspooler
nessus-mkrand
openssl
pack_isam
perror
pngcrush
pstree
rdjpgcom
readlink
replace
resolve_stack_dump
resolveip
rman
sdbscan
splint
strfile
style
tempfile
tidy
tree
unstr
unzip
unzipsfx
whatmask
whois
wrap
wrjpgcom
zcat
zip
zipcloak
zipinfo
zipnote
zipsplit

/sw/sbin:
---------
itox
mlock
run-parts
xinetd



-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing your web site with SSL, click here to get a FREE TRIAL of a Thawte Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to