Opened 11 years ago
Closed 7 years ago
#42956 closed submission (fixed)
tracker @0.17.7 new Portfile
Reported by: | juanrgar (Juan R. García Blanco) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | dbevans (David B. Evans) | |
Port: | tracker |
Description
Here is a preliminary version of a tracker Portfile. It doesn't even compile (due to missing link flags) and have some sections commented out. I continue working on this.
Attachments (7)
Change History (22)
Changed 11 years ago by juanrgar (Juan R. García Blanco)
comment:1 Changed 11 years ago by dbevans (David B. Evans)
Owner: | changed from macports-tickets@… to devans@… |
---|---|
Status: | new → assigned |
comment:2 Changed 11 years ago by dbevans (David B. Evans)
Patch attached to:
- fix intltool configuration (update m4/intltool.m4 and autoreconf)
- adds patch to disable AM_GNU_GETTEXT macros in configure.ac (obsoleted by and cannot be used with IT_PROG_INTLTOOL in recent versions of intltool, causes configure to fail with "error: po/Makefile.in.in was not created by intltoolize".
Configure is then successful but build fails with this error
libtool: link: /usr/bin/clang -o .libs/libextract-gif.so -bundle .libs/libextract_gif_la-tracker-extract-gif.o -L/opt/local/lib ../../src/libtracker-extract/.libs/libtracker-extract.dylib /opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-sparql-backend/.libs/libtracker-sparql-1.0.dylib /opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-data/.libs/libtracker-data.dylib -lz /opt/local/lib/libsqlite3.dylib /opt/local/lib/libuuid.dylib /opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-common/.libs/libtracker-common.dylib /opt/local/lib/libgmodule-2.0.dylib /opt/local/lib/libexif.dylib /opt/local/lib/libiconv.dylib -lc /opt/local/lib/libiptcdata.dylib /opt/local/lib/libexempi.dylib -licui18n -licuuc -licudata ../../src/libtracker-common/.libs/libtracker-common.dylib /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libgobject-2.0.dylib -lm /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libgif.dylib -Os -arch x86_64 -Wl,-headerpad_max_install_names -arch x86_64 -Wl,-dylib_file -Wl,/opt/local/lib/libtracker-sparql-1.0.0.dylib:/opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-sparql-backend/.libs/libtracker-sparql-1.0.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-data.0.dylib:/opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-data/.libs/libtracker-data.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-common.0.dylib:/opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-common/.libs/libtracker-common.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-data.0.dylib:/opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-data/.libs/libtracker-data.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-common.0.dylib:/opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-common/.libs/libtracker-common.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-common.0.dylib:/opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/libtracker-common/.libs/libtracker-common.dylib -framework CoreServices Undefined symbols for architecture x86_64: "_PrintGifError", referenced from: _tracker_extract_get_metadata in libextract_gif_la-tracker-extract-gif.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[4]: *** [libextract-gif.la] Error 1 make[4]: Leaving directory `/opt/local/var/macports/build/_Users_devans_macports_dports_gnome_tracker/tracker/work/tracker-0.17.7/src/tracker-extract' make[3]: *** [all] Error 2
Changed 11 years ago by dbevans (David B. Evans)
Attachment: | patch-tracker.diff added |
---|
Patch to fix configuration errors
comment:3 Changed 11 years ago by juanrgar (Juan R. García Blanco)
mm we are not getting the same errors :(
On mavericks this is what happens:
Undefined symbols for architecture x86_64: "_media_art_process", referenced from: _tracker_extract_get_metadata in libextract_vorbis_la-tracker-extract-vorbis.o "_vorbis_comment_clear", referenced from: _tracker_extract_get_metadata in libextract_vorbis_la-tracker-extract-vorbis.o "_vorbis_comment_query", referenced from: _ogg_get_comment in libextract_vorbis_la-tracker-extract-vorbis.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[4]: *** [libextract-vorbis.la] Error 1
comment:4 Changed 11 years ago by juanrgar (Juan R. García Blanco)
I'm currently investigating why my pkg-config seems to be not working properly. It does not consider packages listed under Requires.private.
comment:5 Changed 11 years ago by juanrgar (Juan R. García Blanco)
Sorry, pkgconfig is ok. I don't know why we both get different results when building tracker from the same Portfile. Are you using mavericks?
comment:6 Changed 11 years ago by juanrgar (Juan R. García Blanco)
I've got to this error:
:info:build libtool: link: /usr/bin/clang -o .libs/libextract-epub.so -bundle .libs/libextract_epub_la-tracker-extract-epub.o -L/opt/local/lib ../../src/libtracker-extract/.libs/libtracker-extract.dylib /opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-sparql-backend/.libs/libtracker-sparql-1.0.dylib /opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-data/.libs/libtracker-data.dylib -lz -lsqlite3 -luuid /opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-common/.libs/libtracker-common.dylib -lgmodule-2.0 -lmediaart-1.0 -lexif -liptcdata -lexempi -lgif -lvorbisfile -lvorbis -licui18n -licuuc -licudata ../../src/libtracker-common/.libs/libtracker-common.dylib -lgio-2.0 -lm -lgsf-1 -lgobject-2.0 -lglib-2.0 -lintl -lxml2 -Os -arch x86_64 -Wl,-headerpad_max_install_names -arch x86_64 -Wl,-dylib_file -Wl,/opt/local/lib/libtracker-sparql-1.0.0.dylib:/opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-sparql-backend/.libs/libtracker-sparql-1.0.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-data.0.dylib:/opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-data/.libs/libtracker-data.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-common.0.dylib:/opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-common/.libs/libtracker-common.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-data.0.dylib:/opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-data/.libs/libtracker-data.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-common.0.dylib:/opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-common/.libs/libtracker-common.dylib -Wl,-dylib_file -Wl,/opt/local/lib/tracker-1.0/libtracker-common.0.dylib:/opt/local/var/macports/build/_Users_juanrgar_ports_gnome_tracker/tracker/work/tracker-0.17.8/src/libtracker-common/.libs/libtracker-common.dylib :info:build Undefined symbols for architecture x86_64: :info:build "_tracker_config_get_max_bytes", referenced from: :info:build _tracker_extract_get_metadata in libextract_epub_la-tracker-extract-epub.o :info:build "_tracker_gsf_parse_xml_in_zip", referenced from: :info:build _tracker_extract_get_metadata in libextract_epub_la-tracker-extract-epub.o :info:build "_tracker_main_get_config", referenced from: :info:build _tracker_extract_get_metadata in libextract_epub_la-tracker-extract-epub.o :info:build ld: symbol(s) not found for architecture x86_64 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
This is weird since these are internal libraries.
Changed 11 years ago by juanrgar (Juan R. García Blanco)
Attachment: | tracker-0.17.8-Portfile.tgz added |
---|
comment:7 Changed 11 years ago by dbevans (David B. Evans)
Just tried your tracker-0.17.8 and I get the same error as you mention above. This is building on ML with Xcode 5.1.
comment:8 Changed 11 years ago by dbevans (David B. Evans)
The missing symbols are defined in
src/tracker-extract/tracker-config.c (tracker_config_get_max_bytes) src/tracker-extract/tracker-gsf.c (tracker_gsf_parse_xml_in_zip) src/tracker-extract/tracker-main.c (tracker_main_get_config)
These files are not library source files but source files for tracker-extract itself. Since a loadable module (bundle) is being linked (libextract-epub.so) these symbols should be resolved not at link time but at module load time. The problem is that
src/tracker-extract/Makefile.am
includes this line
module_flags = -module -avoid-version -no-undefined
The -no-undefined is the culprit and should be removed. A similar problem occurs in
src/tracker-writeback/Makefile.am
Patch attached that fixes these two files and allows the build to complete without error at least in the default +gstreamer build.
Changed 11 years ago by dbevans (David B. Evans)
Attachment: | patch-undefined-tracker-0.17.8.diff added |
---|
Patch to fix undefined symbols in loadable modules
comment:9 Changed 11 years ago by dbevans (David B. Evans)
Build +enca builds ok after my patch but +mplayer fails
/usr/bin/clang -DHAVE_CONFIG_H -I. -I../.. -DG_LOG_DOMAIN=\"Tracker\" -DTRACKER_COMPILATION -I../../src -I../../src -DLOCALEDIR=\""/opt/local/share/locale"\" -DTRACKER_EXTRACTORS_DIR=\""/opt/local/lib/tracker-1.0/extract-modules"\" -D_REENTRANT -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/libmediaart-1.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -I/opt/local/include/libgsf-1 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/libxml2 -pipe -Os -arch x86_64 -MT tracker_extract-tracker-extract-decorator.o -MD -MP -MF .deps/tracker_extract-tracker-extract-decorator.Tpo -c -o tracker_extract-tracker-extract-decorator.o `test -f 'tracker-extract-decorator.c' || echo './'`tracker-extract-decorator.c tracker-extract-libav.c:29:10: fatal error: 'tracker-media-art.h' file not found #include <tracker-media-art.h> ^
also configure says
checking for GSTREAMER... yes checking for AVFORMAT... yes checking for AVCODEC... yes checking for AVCODEC... yes configure: WARNING: No need to specify a GStreamer backend if not using GStreamer
and ./configure --help says
--enable-generic-media-extractor=ARG enables one of the (gstreamer, libav, external, auto) generic media extractor backends [[default=auto]]
So looks like +gstreamer and +mplayer should be marked as conflicting with the appropriate logic as to default variants.
Questions/comments:
- Why is the variant called +mplayer when the actual selector is libav (provided by ffmpeg)?
- To get the same format support with +gstreamer as you would get with +mplayer (libav/ffmpeg) you would have to install more or even all of the gstreamer1 ports (-good, -bad, -ugly, -libav).
Changed 11 years ago by dbevans (David B. Evans)
Build log showing +myplayer failure
comment:10 Changed 11 years ago by juanrgar (Juan R. García Blanco)
Thank God you figured out why tracker-extract was failing, I was completely lost. I'm now working with tracker @1.0.0.
comment:11 Changed 11 years ago by juanrgar (Juan R. García Blanco)
As for the comments above:
- Variant +mplayer has been renamed to +libav
- When +gstreamer is active, gstreamer1-gst-plugins-* and gstreamer-gst-libav are added as dependencies.
- I've added a patch to successfully compile trakcer-extract-libav.c
Comments on my side:
- +nautilus and +evolution variants still not implemented.
Changed 11 years ago by juanrgar (Juan R. García Blanco)
Attachment: | tracker-1.0.0-Portfile.tgz added |
---|
comment:12 Changed 11 years ago by dbevans (David B. Evans)
Version 1.0.0 committed to GNOME 3.12 stable test branch with minor modifications in r118187
- unimplemented evolution, nautilus variants removed for now, can be added later when ready.
- +gstreamer is default only if +libav is not set
- remove duplicate lib dep on libpng
comment:13 Changed 11 years ago by dbevans (David B. Evans)
Status update:
After upgrading GNOME ports to the 3.12 level, I have been doing some further testing of tracker and gnome-photos.
Attached is an additional patch that fixes two fatal runtime issues in tracker-miner-fs
- disables upower support which causes tracker-miner-fs to crash on startup
- runs glib-compile-schemas post activate to make installed schemas available at runtime. Fixes another startup crash in tracker-miner-fs.
Applied to GNOME-3/stable branch in r119098.
Changed 11 years ago by dbevans (David B. Evans)
Attachment: | patch-tracker-crash-fixes.diff added |
---|
Patch to fix some start up crashes in tracker-miner-fs
comment:14 Changed 11 years ago by dbevans (David B. Evans)
After applying this patch, tracker-miner-fs now fails on startup (after running silently for 20 seconds or so) as follows:
$ /opt/local/libexec/tracker-miner-fs (tracker-miner-fs:77655): Tracker-WARNING **: The maximum number of monitors to set (400) has been reached, not adding any new ones (tracker-miner-fs:77655): Tracker-WARNING **: Could not open directory '/Users/devans/Documents/workspace/macports/mail/GNUMail-Aqua': Too many open files (tracker-miner-fs:77655): Tracker-WARNING **: Could not open directory '/Users/devans/Documents/workspace/macports/mail/Pantomime-Framework': Too many open files (tracker-miner-fs:77655): Tracker-WARNING **: Could not open directory '/Users/devans/Documents/workspace/macports/mail/abook': Too many open files ---- many, many similar iterations ---- (tracker-miner-fs:77655): Tracker-WARNING **: Could not open directory '/Users/devans/Documents/workspace/macports/mail/uudeview/files': Too many open files (tracker-miner-fs:77655): Tracker-WARNING **: Could not open directory '/Users/devans/Documents/workspace/macports/mail/vm-pop3d/files': Too many open files (tracker-miner-fs:77655): Tracker-WARNING **: Could not open directory '/Users/devans/Documents/workspace/macports/mail/vpopmail/files': Too many open files (tracker-miner-fs:77655): Tracker-WARNING **: Could not query directory elements: Pipe creation failed (tracker-miner-fs:77655): GLib-ERROR **: Creating pipes for GWakeup: Too many open files Trace/BPT trap: 5
comment:15 Changed 7 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
somewhere along the line this made it into MacPorts, currently as tracker @1.12.3
, but this ticket never was closed.
Preliminary Portfile