On Monday 21 June 2010 17:25:35 Roberto Chauderlot Marchamalo wrote: > Hi! > > I'll try to write in english because I dont want give you more work. But, I > warn that my english is very very bad. > > First of all, the way that I 'fixed' the id3lib to make it install was > change the configuration of mac ports, not really a patch. I changed the > configuration of the architectures to compile in the "universal" variant. > It was set to "x86_64 i386", and I seted temporally to "x86_64". It's not > a good solution, and probably, that library will not work on 32bit > systems. But, I didn't want to spend a lot of time on it. Anyway, I think > that I'm building the library for the x86_64 architecture because I'm not > using any kind of cross compiling directive, but I'm not sure what is the > default architecture of the compiler.
Anyway, could you point up the problems (error messages) you found when you decided took that path? > I think that a solution for the qt4-mac executables suffixes is add a line > in clam/CLAM/scons/sconstools/qt4.py after line 226: 219 def > locateQt4Command(env, command, qtdir) : > 220 suffixes = [ > 221 '-qt4', > 222 '-qt4.exe', > 223 '4', > 224 '4.exe', > 225 '', > 226 '.exe', > '-mac', > 227 ] Yes, that would work pretty well. Not sure whether it is a general solution for the qt tool as other users (not just clam as the tool is used for other projects) would want to use the x11 version. I already filled a bug report for qt so that this can be obtained from the pc file whatever the situation as now we could do with moc and uic. Indeed a better solution would be obtaining the binaries location for moc and uic using pkgconfig and deducing prefixes and suffixes for the rest. > I think it will work fine meanwhile the qt4 project fix the pkg-config bug, > and I think that it's better solution than the unsuffixed symbolic links. > > Second, I've found why scons doesn't include the soname link while compiles > the bundle. It's because there is a bug in a scons script of the main lib, > and it doesn't create the soname link during the install. The bug is in > file clam/CLAM/scons/libs/clam_build_helpers.py at line 358 and in the > file scons/sconstools/clam.py at line 186 too: def generate_so_name( > target, source, env ) : > source_dir = os.path.dirname( str(source[0]) ) > cwd = os.getcwd() > os.chdir( source_dir ) > if sys.platform == 'linux2' : > os.system( "/sbin/ldconfig -n ." ) > os.chdir(cwd) > return None > I've modified it to: > def generate_so_name( target, source, env ) : > if sys.platform == 'linux2' : > source_dir = os.path.dirname( str(source[0]) ) > cwd = os.getcwd() > os.chdir( source_dir ) > os.system( "/sbin/ldconfig -n ." ) > os.chdir(cwd) > elif sys.platform == 'darwin': > source_file = os.path.basename( str(source[0]) ) > os.system( "ln -sf %s %s"%(source_file,str(target[0]) )) > return None Perfect. Could you send us a patch. When sending changes to code is a lot more convenient to send them as a patch. This way we can see which code actually changes and apply it with a single command line. See: http://clam-project.org/wiki/Devel#Prepare_and_apply_a_patch > With this changes, I could build the Annotator.app, NetworkEditor.app and > Chordata.app bundles, and all of them include their dependencies. But now, > they crashes when they init the qt lib. I'm attaching the log that the OS > throws. I didn't ever work with Qt, and I don't know why it crashes, maybe > some non-binary dependencies not included in the bundle. That's a weird backtrace. It crashes just when creating the QApplication, so no actual app logic really has happen. The backtrace shows that the crash has printed out a message maybe in the console, its contents could help to diagnose. > The problem what I've experienced compiling Chordata was because I didn't > make the "scons install" of the networkeditor app :P > > I don't have so much time, and I don't know if I could lead :S ......but I > still try to spend some time if I could. Leading just means that previous mac centered clam developers have not been active for a while, so do not worry on messing someone else work. No one else doing it, so you lead the task. ;-) > On Fri, Jun 18, 2010 at 9:30 AM, David García Garzón > <david.gar...@barcelonamedia.org<mailto:david.gar...@barcelonamedia.org>> > wrote: Translated in short. Context: compiling in mac 'snow leopard'. > > On Friday 18 June 2010 01:08:42 Roberto Chauderlot Marchamalo wrote: > > Hello again! > > > > Os escribo en español otra vez....sorry. > > > > He hecho avances intentando compilar la librería. De hecho, lo que es la > > librería en sí, ya la he conseguido compilar. > > > > Primero quería comentaros que he tenido algún problemilla con las > > dependencias que pone en la wiki que hay que instalar. Primero, las > > librerías xercesc y id3lib, no compilan en mi snow leopard. Creo que es > > debido a que en macports están teniendo algún problema con el snow > > leopard y la arquitectura i386, y hay cosas que no compilan bien. > > Solucionar el problema de la primera librería fue fácil, existe un > > paquete que se llama xercesc3 (en vez de xercesc a secas, como pone en > > la wiki, que es para la versión 2), y este compila bien. Para arreglar > > la librería id3lib, he tenido que hacer un pequeño apaño y no compilarlo > > para la arquitectura i386, y hacerlo sólo para la x86_64. Espero que > > esto no acarree > > consecuencias después. > > Trans: problems with xercesc and id3lib; installed xercesc3, id3lib > patched. > > Comment: we moved to xercesc3 recently so the option you took is the > correct. Would be nice if you send the id3lib patch to the list and to the > macport maintainers. > > > Por cierto, también os quería comentar que en la wiki sólo indica la > > manera "deprecated" de instalar jack. Ahora mismo está paqueteado, y se > > puede instalar fácilmente con un "sudo port install jack". Y tampoco se > > comenta nada de instalar portmidi, que también está paqueteado y sería > > lo mismo "sudo port install portmidi". Todo se puede instalar desde > > macports. > > Trans: jack and portmidi are available now as ports. > > Comment: Feel free to update the wiki yourself. If the old methods still > have sense for old mac version you can move them to a chapter in the end. > If the macports are available for all the versions, just remove those > paragraphs. > > > Después compilé la librería en sí, y sin problemas. Pero el resto de > > aplicaciones sí me ha dado problemas. Primero es que, el paquete de > > qt4-mac que hay en macports llama a todos los ejecutables de qt con el > > sufijo "-mac" (moc-mac, uic-mac, rcc-mac, lupdate-mac, lrelease-mac, > > etc), y los scripts de compilación buscan los normales. Y como no tengo > > ni idea de scons, lo solucioné creando enlaces simbólicos con los > > nombres 'linux' apuntando a los de mac y añadiendo las siguientes > > variable de entorno: export QTDIR=/opt/local/bin > > export PKG_CONFIG_PATH=/opt/local/libexec/qt4-mac/lib/pkgconfig/ > > (supongo que habría que poner en la wiki lo de las variables y para lo de > > los ejecutables supongo que habría que modificar los scripts :S) > > Trans: clam libs compiled with no problem, apps gave problems with qt, > qt4-mac suffixes -mac all the binaries. He fixed it by adding unsuffixed > links and defining QTDIR and PKG_CONFIG_PATH as above. > > Comment: The perfect solution would be using pkg-config to locate the qt > binaries and just setting the PKG_CONFIG_PATH. The problem is that rcc, > lupdate, lrelease can not be taken from the pkg-config by now. I want to > file a bug in qt. Meanwhile your option should work. > > > Luego, el programa NetworkEditor, tiene como parámetro la aplicación > > QtDesigner.app, pero en el paquete qt4-mac de macports ya no viene en > > forma de bundle '.app' (pero sí que es invocable desde la consola). Así > > que, aunque lo he compilado no me deja crear el paquete. > > Trans: QtDesigner is no more a bundle so the package build which ask for > the builder fails. > > Comment: No idea of the implications of QtDesigner not being a bundle on > how we should package it. Any other mac developer reading? > > > Después, el SMSTools no me deja compilarlo porque dice que no encuentra > > unas cabeceras (de qt): Macario:SMSTools chauder$ scons prefix=/opt/local > > clam_prefix=/opt/local release=1 scons: Reading SConscript files ... > > Loading nsis tool... > > Loading Bundle tool > > Lodading dmg tool... > > Version: 0.4.13 > > Package version: 0.4.13~svn14280 > > scons: done reading SConscript files. > > scons: Building targets ... > > == Compiling vmqt/CLAM/QtWaitMessageImpl.cxx > > vmqt/CLAM/QtWaitMessageImpl.cxx:1:21: error: qlayout.h: No such file or > > directory vmqt/CLAM/QtWaitMessageImpl.cxx:2:20: error: qlabel.h: No such > > file or directory vmqt/CLAM/QtWaitMessageImpl.cxx:3:20: error: qtimer.h: > > No such file or directory In file included from > > vmqt/CLAM/QtWaitMessageImpl.cxx:4: > > vmqt/CLAM/WaitMsgIndicator.hxx:4:20: error: qframe.h: No such file or > > directory In file included from vmqt/CLAM/QtWaitMessageImpl.cxx:5: > > vmqt/CLAM/QtWaitMessageImpl.hxx:5:21: error: qdialog.h: No such file or > > directory In file included from vmqt/CLAM/QtWaitMessageImpl.cxx:4: > > vmqt/CLAM/WaitMsgIndicator.hxx:11: error: expected class-name before ‘{’ > > token vmqt/CLAM/WaitMsgIndicator.hxx:12: error: ISO C++ forbids > > declaration of ‘Q_OBJECT’ with no type vmqt/CLAM/WaitMsgIndicator.hxx:13: > > error: expected ‘;’ before ‘public’ vmqt/CLAM/WaitMsgIndicator.hxx:17: > > error: expected `:' before ‘slots’ vmqt/CLAM/WaitMsgIndicator.hxx:18: > > error: expected primary-expression before ‘void’ > > vmqt/CLAM/WaitMsgIndicator.hxx:18: error: ISO C++ forbids declaration of > > ‘slots’ with no type vmqt/CLAM/WaitMsgIndicator.hxx:18: error: expected > > ‘;’ before ‘void’ vmqt/CLAM/WaitMsgIndicator.hxx:21: error: ‘QPaintEvent’ > > has not been declared In file included from > > vmqt/CLAM/QtWaitMessageImpl.cxx:5: > > vmqt/CLAM/QtWaitMessageImpl.hxx:16: error: expected class-name before ‘{’ > > token vmqt/CLAM/QtWaitMessageImpl.hxx:18: error: expected `)' before ‘*’ > > token vmqt/CLAM/QtWaitMessageImpl.hxx:24: error: ‘QCloseEvent’ has not > > been declared vmqt/CLAM/QtWaitMessageImpl.cxx:11: error: expected `)' > > before ‘*’ token vmqt/CLAM/QtWaitMessageImpl.cxx: In member function > > ‘void CLAM::VM::QtWaitMessageImpl::LabelText(const std::string&)’: > > vmqt/CLAM/QtWaitMessageImpl.cxx:32: error: invalid use of incomplete type > > ‘struct QLabel’ vmqt/CLAM/QtWaitMessageImpl.hxx:7: error: forward > > declaration of ‘struct QLabel’ vmqt/CLAM/QtWaitMessageImpl.cxx: At global > > scope: > > vmqt/CLAM/QtWaitMessageImpl.cxx:35: error: variable or field ‘closeEvent’ > > declared void vmqt/CLAM/QtWaitMessageImpl.cxx:35: error: ‘QCloseEvent’ > > was not declared in this scope vmqt/CLAM/QtWaitMessageImpl.cxx:35: > > error: ‘e’ was not declared in this scope scons: *** > > [vmqt/CLAM/QtWaitMessageImpl.o] Error 1 > > scons: building terminated because of errors. > > > > Supongo que esto se arreglará instalando el qt4-mac-devel, que no lo > > instalé porque en la wiki no lo decía y todavía no he tenido tiempo (el > > qt4-mac me tardó unas 8 horas en instalarse, esto tardará.......). > > Trans: Problems compiling SMSTools with the output above, maybe a missing > install for qt4-mac-devel? > > Comment: Maybe. They might have split the package but then no qt app should > compile. A more likely reason is the way SMSTools includes Qt without the > QtGui/ QtCore/... prefixes. That would highlight a bug in the qt4.py tool > we provide when specifying the CPPPATH. If Qt includes are in > /what/ever/include that directory and also > /what/ever/include/{QtGui,QtCore,...} should be added. Try to compile with > the verbose=1 option and send the command line to see which -I options > appear. > > > Luego seguí con Annotator, que si que compiló, creo la aplicación ".app" > > y un dmg para instalarlo, pero cuando intentas ejecutarlo dice que > > faltan 3 librerías que no están en el paquete: libclam_core.1.4.dylib > > libclam_processing.1.4.dylib > > libclam_audioio.1.4.dylib > > Y por lo que he visto es el script de compilación el que no las copia :S > > Lo he intentado hacer a mano de las que he encontrado en /opt/local/lib/ > > pero, primero sólo encuentro la versión 1.4.1, y que luego, incluir esas > > versiones, la aplicación me empieza a pedir las librerías en /opt/local/ > > y > > > > no debería. Dyld Error Message: > > Library not loaded: /opt/local//lib/libclam_core.1.4.dylib > > > > Referenced from: > > /Users/chauder/Documents/Proyectos/clam/clam/Annotator/Annotator.app/Cont > > e nts/MacOS/../Frameworks/libclam_audioio.1.4.dylib Igual, si vuelvo a > > compilar la librería con la opción de sandbox, esto se soluciona. > > Trans: Annotator creates the dmg but when installed it complains about > missing libraries. > > Comment: We changed the way to name libraries including mac but we didn't > test mac. So sorry for the inconvenience. Maybe what is missing is a > 'soname' link with that name pointing to the fully versioned library. If > that solves the problem tell me and i will add the step in the scons. > > > Es script de compilación de chordata no deja tampoco, me da el siguiente > > error: Macario:chordata chauder$ > > PKG_CONFIG_PATH=/opt/local/libexec/qt4-mac/lib/pkgconfig/:/Users/chauder/ > > D ocuments/Proyectos/clam/clam/NetworkEditor/ scons prefix=/opt/local > > clam_prefix=/opt/local release=1 scons: Reading SConscript files ... > > Loading nsis tool... > > Loading Bundle tool > > Lodading dmg tool... > > Version: 1.1.0 > > Package version: 1.1.0~svn14280 > > Package clam_qtmonitors was not found in the pkg-config search path. > > Perhaps you should add the directory containing `clam_qtmonitors.pc' > > to the PKG_CONFIG_PATH environment variable > > No package 'clam_qtmonitors' found > > OSError: 'PKG_CONFIG_PATH=/opt/local/lib/pkgconfig pkg-config clam_core > > clam_audioio clam_processing clam_qtmonitors --libs --cflags' exited 1: > > File "/Users/chauder/Documents/Proyectos/clam/clam/chordata/SConstruct", > > line 70: ], CLAMInstallDir) > > > > File > > > > "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/scons-1. > > 3 .0/SCons/Environment.py", line 224: return apply(self.method, nargs, > > kwargs) > > > > File "/opt/local/share/clam/sconstools/clam.py", line 166: > > ' '.join(libs))) > > > > File > > > > "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/scons-1. > > 3 .0/SCons/Environment.py", line 1477: return function(self, > > self.backtick(command)) > > > > File > > > > "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/scons-1. > > 3 .0/SCons/Environment.py", line 596: raise OSError("'%s' exited %d" % > > (command, status)) > > Yo le pongo la variable de entorno que pide, pero el script la > > sobreescribe. Así que no funciona. > > Trans: chordata fails to locate > > Comment: it complains about a library qtmonitor that is installed with > NetworkEditor. Maybe you should 'scons install' NetworkEditor and then try > compile chordata. Anyway no guarantees that the chordata bundle will work > at all. Some scons hacking could be needed to include such library in the > bundle. > > > Y luego el programa Voice2Midi tiene las directivas de compilación para > > crear el "distribuible" a medio hacer. > > Trans: Voice2Midi is work in progress. > > Comment: I guess we never really addressed Voice2Midi on mac. > > > Así que después de una larga sesión de compilacion, no he conseguido nada > > útil. Pero espero que a vosotros si que os sea útil este feedback. > > > > Si tengo un poco de tiempo libre intento aprender scons y os ayudo con > > los scripts, que están un poco desastrillos :P > > Trans: Nothing useful from compilation. He will help as he gets expertise > with scons. > > Sorry, Roberto, for the inconveniences. Thanks for your effort. The mac > platform needs some love. We would be very grateful if you take the lead on > that. We will help you as most as we can with scons or any other problem it > could jump. > > I hope that, by adding the soname links, you will be able to run dmg's that > built. Are the binaries you built without dmg, at least, runnable? > > David. > > > On Mon, Jun 7, 2010 at 3:35 PM, David García Garzón > > <david.gar...@barcelonamedia.org<mailto:david.gar...@barcelonamedia.org>< > > mailto:david.gar...@barcelonamedia.org<mailto:david.gar...@barcelonamedia > > .org>>> wrote: > > > > On Monday 07 June 2010 14:33:03 Roberto Chauderlot Marchamalo wrote: > > > Hello, > > > Pau, I'll try it. I have windows and linux devel skills but no > > > experience with the mac development enviroment. But, I'm interested in > > > learning hat enviroment :D > > > David, yes I've followed the link on the mac os x build page of the > > > wiki: http://clam-project.org/wiki/Devel/Mac_OSX_build It has this > > > text: > > > > > > "You can choose either download a source tarball from the clam website: > > > > > > http://clam.iua.upf.edu//download-source.html > > > > > > or get the latest version of subversion. In this case you'll also need > > > > > > to install subversion macport: > > > $ sudo port install subversion > > > $ svn co http://iua-share.upf.edu/svn/clam/trunk" > > > > > > thank you! > > > > I fixed it. Thanks. > > > > > 2010/6/7 David García Garzón > > > <david.gar...@barcelonamedia.org<mailto:david.gar...@barcelonamedia.org > > > ><mailto:david.gar...@barcelonamedia.org<mailto:david.gar...@barcelonam > > > edia.org>> > > > > > > > BTW, Roberto, did you take the wrong link from any clam related page > > > > we could fix? > > > > > > > > David. > > > > > > > > On Monday 07 June 2010 10:43:49 Pau Arumí wrote: > > > > > clam is not longer hosted at iua since long time ago. clam lives in > > > > > http://clam-project.org > > > > > we used to have a redirection to but it is no longer active. > > > > > > > > > > about generating mac binaries, you are welcomed. it is basically > > > > > documented http://clam-project.org/wiki/Devel/Mac_OSX_build > > > > > but requires some development experience. > > > > > > > > > > P > > > > > > > > > > El dl 07 de 06 de 2010 a les 05:49 +0200, en/na Roberto va escriure: > > > > > > Hola!! > > > > > > > > > > > > > > > > > > Perdonad que os escriba en español, pero es que no me manejo muy > > > > > > bien con el ingles. Pero espero que esto no suponga un problema > > > > > > :P > > > > > > > > > > > > > > > > > > He visto publicado el programa CHORDATA en varios blogs de > > > > > > guitarra y me ha encantado. Llevaba años buscando una > > > > > > herramienta similar, incluso, empecé a programar algo parecido > > > > > > en matlab años atrás. Pero nunca llegué a hacer nada funcional > > > > > > (en otro lenguaje) por falta de tiempo. Así que, os felicito por > > > > > > el proyecto!!!! Me encanta. > > > > > > > > > > > > > > > > > > He leido en un blog, que no habéis sacado versión para mac del > > > > > > chordata porque no tenéis ninguna máquina mac a mano. Pues, si > > > > > > queréis yo os hago el binario para mac. Tengo un macbook > > > > > > blanquito aunque no he desarrollado nunca para mac. He intentado > > > > > > bajarme el código de > > > > > > http://clam.iua.upf.edu/download-source.html pero me ha dado un > > > > > > bonito error 500, así que no he podido probar a compilar nada. > > > > > > > > > > > > > > > > > > Entonces, si queréis que os ayude generando la versión para mac, > > > > > > yo encantado, que le daré buen uso ;) > > > > > > > > > > > > > > > > > > Un saludo! > > > > > > Roberto > > > > > > > > > > _______________________________________________ > > > > > clam-devel mailing list > > > > > clam-devel@lists.clam-project.org<mailto:clam-de...@lists.clam-proj > > > > > ect.org><mailto:clam-de...@lists.clam-projec<mailto:clam-de...@list > > > > > s.clam-projec> t.org<http://t.org>> > > > > > http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project. > > > > > o rg > > > > > > > > _______________________________________________ > > > > clam-devel mailing list > > > > clam-devel@lists.clam-project.org<mailto:clam-de...@lists.clam-projec > > > > t.org><mailto:clam-de...@lists.clam-project<mailto:clam-de...@lists.c > > > > lam-project>. org> > > > > http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.or > > > > g > > > > > > _______________________________________________ > > > clam-devel mailing list > > > clam-devel@lists.clam-project.org<mailto:clam-de...@lists.clam-project. > > > org><mailto:clam-de...@lists.clam-project.or<mailto:clam-de...@lists.cl > > > am-project.or> g> > > > http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org > > > > _______________________________________________ > > clam-devel mailing list > > clam-devel@lists.clam-project.org<mailto:clam-de...@lists.clam-project.or > > g><mailto:clam-devel@lists.clam-project.org<mailto:clam-de...@lists.clam- > > project.org>> > > http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org > > _______________________________________________ > clam-devel mailing list > clam-devel@lists.clam-project.org<mailto:clam-devel@lists.clam-project.org> > http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org _______________________________________________ clam-devel mailing list clam-devel@lists.clam-project.org http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org