FINK Maintainer gesucht - oder: wie portiert man Software auf OS X?

einfach auf den terminal gucken wenn configure arbeitet und tausende "checking for" ausspuckt wo qt drin steht...
 
checking for libofx/libofx.h... yes
checking for struct OfxAccountInfo.brokerid... no
checking for struct OfxTransactionData.fees_valid... no
checking whether to install python-bindings... no
checking if QT3 is allowed... yes
checking for qt3 includes... -I/sw/include/qt
checking if threaded qt3 may be used... yes
checking for qt3 libraries... not found <<<< PROBLEM?
checking for qt3 moc... /sw/lib/qt3/bin/moc
checking for qt3 uic... /sw/lib/qt3/bin/uic
configure: WARNING:


Das Problem scheint bei den libs zu liegen.....

ich hab' angegeben:

--with-qt3-libs=%p/lib/qt3/lib

und in diesem Ordner (/sw/lib/qt3/lib) liegen lauter .dylib's und lauter Verknüpfungen zu .dylib's
 
ja, der scheint halt nur nach .a oder .so zu suchen und nicht nach dylib...
einfach mal die stelle im configure script ändern, wo er nach .a sucht...
 
eine .a ist da aber auch drin.... libassistantclient.a
und eine libqt-mt.la

Also einfach die Configure ändern und dann wieder als .tar und dann als .gz packen....ich schau mal.
 
Achtung, Code:

# Check whether --with-qt3-libs was given.
if test "${with_qt3_libs+set}" = set; then
withval=$with_qt3_libs; local_qt3_libs="$withval"
else
local_qt3_libs="\
$QTDIR/lib${libdirsuffix} \
/usr/lib/qt3 \
/usr/local/lib/qt3 \
/usr/lib/qt3/lib${libdirsuffix} \
/usr/local/lib/qt3/lib${libdirsuffix} \
/opt/qt3/lib${libdirsuffix} \
/usr/lib/qt \
/usr/local/lib/qt \
/usr/lib/qt/lib${libdirsuffix} \
/usr/local/lib/qt/lib${libdirsuffix} \
/usr/lib${libdirsuffix} \
/usr/lib${libdirsuffix}/qt3/lib \
/usr/lib${libdirsuffix}/qt-3.3/lib \
/usr/lib${libdirsuffix}/qt-3.2/lib \
/usr/local/lib${libdirsuffix} \
/opt/qt/lib${libdirsuffix} \
/usr/X11R6/lib${libdirsuffix} \
/sw/lib/qt3/lib \ <<<<<<HAB ICH FÜR FINK EINGEFÜGT
"


fi


# Determine the extension of a shared library; the variable
# std_shrext comes from the AC_PROG_LIBTOOL macro. Copied from
# libtool.

# Shared library suffix. On linux this was set as
# shrext_cmds='.so'; but on darwin it is actually a text command.
eval std_shrext=\"$shrext_cmds\"
if test -n "${std_shrext}"; then
std_shrext='.so'
fi

# Choose library name of qt
if test "$enable_qt3_threads" != "no"; then
qt_libname="qt-mt"
else
qt_libname="qt"
fi

# This is the name of the qt library to search for.
qt_searchname="lib${qt_libname}${std_shrext}.3"

if test -z "$qt3_libs"; then

found_dir=""
ls=$qt_searchname
ld="$local_qt3_libs"
for li in $ld; do
if test -r "$li/$ls"; then
found_dir="$li"
break
fi
done

if test -n "$found_dir" ; then
qt3_libs="-L$found_dir -l${qt_libname}"
test "$OSYSTEM" = "freebsd" && \
qt3_libs="$qt3_libs -lc_r"
fi
fi

if test -n "$qt3_libs"; then
{ echo "$as_me:$LINENO: result: $qt3_libs" >&5
echo "${ECHO_T}$qt3_libs" >&6; }
else
{ echo "$as_me:$LINENO: result: not found" >&5
echo "${ECHO_T}not found" >&6; }
fi


{ echo "$as_me:$LINENO: checking for qt3 moc" >&5
echo $ECHO_N "checking for qt3 moc... $ECHO_C" >&6; }


<<<<<<<

Jetzt bin ich mir unsicher an welcher Stelle welcher Test nach der .a sucht...
Weißt Du das? Ich versteh' ja die ganzen $ und echos usw nicht....
 
es geht hier um die stelle

qt_searchname="lib${qt_libname}${std_shrext}.3"

ich schätze mal das müsste für darwin/osx eher

qt_searchname="lib${qt_libname}.3${std_shr ext}"

sein, weil die meisten libs ja .dylib ganz hinten haben...
zum testen was der da sucht kannst da einfach mal ein

echo $qt_searchname

einfügen...

anderer trick wäre natürlich einfach einen symlink im qt lib verzeichnis zu machen
ln -s libqt.3.dylib libqt.dylib.3
 
Okay, wie mache ich dienen Symlink? Kann ich das mit der OS X-Funktion Alias erzeugen? eine libqt.3.dylib gibts nicht, nur eine libqt-mt.3.dylib

Ich versuchs jetzt mal mit

sudo ln -s libqt-mt.3.3.6.dylib libqt.dylib.3
 
Zuletzt bearbeitet:
steht doch da... mit "ln -s" im terminal.. alias wird nicht gehen...
ln -s libqt-mt.3.dylib libqt-mt.dylib.3
natürlich vorher mit cd ins qt lib verzeichnis wechseln...

wenn du das nicht hinkriegst, änder halt den configure text...
(und als nächste übung, den patch in das info file zufügen ;) )
 
Hingekriegt hab ich's jetzt: liegen sowohl eine libqt.dylib.3 als auch eine libqt-mt.dylib.3 im lib ordner.

Selbes Problem:

checking for qt3 libraries... not found
checking for qt3 moc... /sw/lib/qt3/bin/moc
checking for qt3 uic... /sw/lib/qt3/bin/uic
configure: WARNING:
QT3 is not explicitly disabled and I could not find some QT3 components
(see which are missing in messages above)
 
Zuletzt bearbeitet:
Onophrio schrieb:
Selbes Problem:

checking for qt3 libraries... not found

füg mal das

echo $qt_searchname

in das configure ein, damit du weißt, wonach der sucht...
 
@ relampago, QT3 ist berits installiert und die Libs sind vorhanden, das aqbanking Configure sucht nur nach einem anderen Dateinamen als nach den .dylibs

@oneOeight,

wo soll ich das echo $qt_searchname in der configure einfügen? Ich meine welche Stelle? Einfach irgendwo eine Zeile einschieben?

Und die nächste Übung mit dem Patch wäre ja toll, würd ich sofort machen...aber 1. wie schreib ich in eine .patch- Datei rein dass er dann das, was er sucht, von dem wir noch nicht wissen was es ist, nicht mehr sucht sondern das, was da ist?
 
Onophrio schrieb:
@wo soll ich das echo $qt_searchname in der configure einfügen? Ich meine welche Stelle? Einfach irgendwo eine Zeile einschieben?

natürlich da wo der das setzt und danach sucht...


Onophrio schrieb:
Und die nächste Übung mit dem Patch wäre ja toll, würd ich sofort machen...aber 1. wie schreib ich in eine .patch- Datei rein dass er dann das, was er sucht, von dem wir noch nicht wissen was es ist, nicht mehr sucht sondern das, was da ist?

ich sehe schon, dass dich das überfordert ;)
 
Naja, überfordern würd ichs nicht nennen, fordern, ja.

Der Mensch wächst am Widerstand! Hab bisher ja schon viel gelernt, dank Dir, aber alles auf einmal zu begreifen ist natürlich etwas viel....darum step by step. Lass jetzt gerade mit modifizierter configure laufen...
 
Also, gesucht hat er nach einer Datei namens

libqt-mt.so.3

ich hab einen Symlink dieses Namens von libqt-mt.3.dylib gemacht.
Und:
FEHLER BEHOBEN!

Nur....jetzt hängt er beim kompilieren:

mkdir .libs
g++ -g -O2 -g -Wall -g -o .libs/qt3-wizard qt3_wizard.o /qt3/lib -Wl,-bind_at_load /sw/src/fink.build/aqbanking-2.2.1-1/aqbanking-2.2.1/src/frontends/qbanking/lib/.libs/libqbanking.dylib -L/sw/lib -L/sw/lib/freetype219/lib -L/usr/X11R6/lib /sw/src/fink.build/aqbanking-2.2.1-1/aqbanking-2.2.1/src/libs/aqbanking/.libs/libaqbanking.dylib /sw/lib/libgwenhywfar.dylib -lssl -lcrypto /sw/lib/qt3/lib/libqt-mt.dylib -lresolv -lz -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft /sw/lib/freetype219/lib/libfreetype.dylib -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl /sw/lib/libintl.dylib /sw/lib/libiconv.dylib -lc
powerpc-apple-darwin8-g++-4.0.1: /qt3/lib: No such file or directory
make[6]: *** [qt3-wizard] Error 1
make[5]: *** [all-recursive] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
### execution of /var/tmp/tmp.1.SyVJ7n failed, exit code 2
Removing build lock...
/sw/bin/dpkg-lockwait -r fink-buildlock-aqbanking-2.2.1-1
(Reading database ... 51259 files and directories currently installed.)
Removing fink-buildlock-aqbanking-2.2.1-1 ...
Failed: phase compiling: aqbanking-2.2.1-1 failed

Irgendjemand schein nach /qt3/lib zu fragen....jetzt müsste ich wissen wo das herkommt, und wie man das so patcht dass er eben nach

/sw/lib/qt3/lib sucht.
 
wenn du es nicht findest, mach doch auch einen symlink....

ln -s /sw/lib/qt/lib /qt/lib
 
Das ging so nicht, hab

ln -s /sw/bin/qt3 /qt3

gemacht. Über diesen Symlink komme ich dann ins entsprechende /lib rein.
Hilft aber leider nichts:

mkdir .libs
g++ -g -O2 -g -Wall -g -o .libs/qt3-wizard qt3_wizard.o /qt3/lib -Wl,-bind_at_load /sw/src/fink.build/aqbanking-2.2.1-1/aqbanking-2.2.1/src/frontends/qbanking/lib/.libs/libqbanking.dylib -L/sw/lib -L/sw/lib/freetype219/lib -L/usr/X11R6/lib /sw/src/fink.build/aqbanking-2.2.1-1/aqbanking-2.2.1/src/libs/aqbanking/.libs/libaqbanking.dylib /sw/lib/libgwenhywfar.dylib -lssl -lcrypto /sw/lib/qt3/lib/libqt-mt.dylib -lresolv -lz -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft /sw/lib/freetype219/lib/libfreetype.dylib -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl /sw/lib/libintl.dylib /sw/lib/libiconv.dylib -lc
/usr/bin/ld: can't map file: /qt3/lib ((os/kern) invalid argument)
collect2: ld returned 1 exit status
make[6]: *** [qt3-wizard] Error 1
make[5]: *** [all-recursive] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
### execution of /var/tmp/tmp.1.iYmXp9 failed, exit code 2

Invalid Argument?!

Besser doch die Datei suchen, die nach /qt3/lib sucht....

Wie finde ich heraus welche da gerade aktiv war bzw. wo diese Information her kommt?
 
Zuletzt bearbeitet:
guck dir mal das Makefile an der stelle mit dem qt3-wizard an...
der will da irgendwas linken...
 
In der makefile.in finde ich nur eine Zeile wo ein Wizard vorkommt:

$(mkinstalldirs) $(distdir)/. $(distdir)/src/frontends/qbanking/bin/wizard

In der makefile.am kommt qt überall verstreut mal vor, mit einem Wizard beschäftigt sich da aber anscheinend keiner.

Ist das dann die Stelle in der makefile.in?

Es würde auch noch eine eigene makefile.am für das frontend qbanking geben, da steht das drin:

SUBDIRS=lib bin help

sources:
for d in $(SUBDIRS); do \
$(MAKE) -C $$d sources; \
done ;

# This section is for a qt4 environment
qt4-port:
for d in $(SUBDIRS); do \
$(MAKE) -C $$d qt4-port; \
done

built_sources: $(BUILT_SOURCES)
for d in $(SUBDIRS); do \
$(MAKE) -C $$d built_sources; \
done ;
 
Zuletzt bearbeitet:
Zurück
Oben Unten