Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

ERROR: Missing objectType property

Help
Pierre
2011-05-27
2013-05-30
  • Pierre
    Pierre
    2011-05-27

    Hello

    Mediatomb and JS has been automatically updated during las weeks as I'm now running under Fedora 15.
    Now, when importing files in the database I receive an error "Missing objectType property" for each file (video, photo or music) and the database remain empty
    My "import.js" and "config.xml" files are unchanged

    Any idea?

    Thanks
    Pierre

     
  • Looks like someone else had the same problem I did. This is how I resolved the problem.

    Cause: It appears that fedora is installing the js package from the updates repository when mediatomb needs the version that's in the fedora repo.

    First of all, you should verify that you have this problem. You should not receive the version listed below. The version in the updates repo is 1.8.5 i believe.

    #rpm -q js
    js-1.70-13.fc15.x86_64
    

    Now, uninstall the incorrect js package (this will uninstall mediatomb, backup your conf, xml, & js files)

    #yum remove js
    

    Next, prevent yum from installing this package from the updates repo.

    #nano /etc/yum.repos.d/fedora-updates.repo
    

    Add under the gpgkey line in the  section

    exclude=js*
    

    Now that you've disabled js from being installed from the updates repo, install it from the fedora repo. Run rpm -q js after installing the package to verify the version.

    yum install js
    

    This is where I venture into unknown territory. I'm compiling my own rpm with ffmpeg support, but I have the feeling you're using the standard fedora package. The way i recognized that mediatomb required the wrong version of js was by attempting to install my rpm here. My rpm was mistakenly compiled with support for the 1.8.5 package & it yelled at me instead of installing. If the mediatomb package from the fedora repos won't install without js 1.8.5, you'll have to compile your own rpm. It's not difficult.

    To build your own mediatomb rpm, download the fedora 15 live cd for your architecture (for me, x86_64). Launch a terminal window and follow these steps:

     Install all the development packages, gcc, & some utilities
    #yum install sqlite-devel expat-devel zlib-devel file-devel taglib-devel libexif-devel libcurl-devel mysql-devel id3lib-devel ffmpeg-devel rpm-build gcc gcc-c++ libmp4v2-devel wget nano
    Install the correct version of the js development package from the fedora repo
    #yum --disablerepo=updates install js-devel
    Download the mediatomb source code
    #wget http://downloads.sourceforge.net/mediatomb/mediatomb-0.12.1.tar.gz
    Extract source code to the current directory
    #tar xzf mediatomb-0.12.1.tar.gz
    Edit the object.h file, place #include <cstddef> after the #include <new> line.
    #nano mediatomb-0.12.1/src/zmm/object.h
    Recreate the *.tar.gz file
    #tar czf mediatomb-0.12.1.tar.gz mediatomb-0.12.1
    Create a directory for the source code
    #mkdir -p ~/rpmbuild/SOURCES
    Copy the source code to this directory
    #cp mediatomb-0.12.1.tar.gz ~/rpmbuild/SOURCES/
    Build the rpm file for your architecture
    #rpmbuild -bb --clean mediatomb-0.12.1/mediatomb.spec
    

    The rpm file will be stored in ~/rpmbuild/RPMS/<your_architecture>. You'll need to copy this to the computer you need mediatomb on.

    All that should be left is to install the new rpm.
    #yum install mediatomb-0.12.1-1.fc15.x86_64.rpm

    Oh, wait! I forgot something. If you compiled your own rpm, you should probably keep yum from updating mediatomb. You don't want to have to do this again. Add this line to the bottom of /etc/yum.conf

    exclude=mediatomb*
    
     
  • Pierre
    Pierre
    2011-06-07

    Thanks a lot hoffmanpm2

    Your solution has been successful for me.
    In addition to your recommendations, I just had to downgrade packages nss, nspr and their dependencies to succeed to install js-devel

    Pierre

     
  • Rich Mattes
    Rich Mattes
    2011-06-28

    This has been reported to the Fedora bugzilla as well, you can track the status of the bug at https://bugzilla.redhat.com/show_bug.cgi?id=714466

    There is an updated package available for testing that should work with js-1.8 in the above link.  Testing and feedback (preferably in the Fedora bug report) would be much appreciated.

    On an unrelated note, it may be easier for you to use fedpkg to rebuild your rpms.  To start out, you'll need the "yum-utils" and "fedpkg" packages installed.  The workflow goes something like:
    # Clone the mediatomb package source
    fedpkg clone -a mediatomb
    cd mediatomb
    # Check out the f15 git branch (defaults to "master" (rawhide))
    fedpkg switch-branch f15
    # Create an SRPM from the spec, patches, and source tarball
    fedpkg srpm
    # Install all of the BuildRequires packages in one shot
    yum-builddep mediatomb-0.12.1*.src.rpm
    # Do a local build (equivalent to rpmbuild mediatomb.spec)
    fedpkg local

    then install the RPMs stored in a results subdirectory.  The fedora package source from fedpkg contains quite a few patches for bugfixes that aren't in the mediatomb source yet, including the js-1.8 port.  And if you want to play around in ~/rpmbuild instead, you can just run "rpm -ivh mediatomb-0.12.1.src.rpm" after calling "fedpkg srpm"

     
  • New version mediatomb-0.12.1-12.fc15 has been pushed to stable. If you experience the same problem again, please report it at the link provided above

     
  • Thanks guys!

    jpgr87: I'll investigate your process for building rpms. Anything to make things easier is welcome. Thanks.

     
  • @jpgr87:

    That did make things immensely easier. I followed your instructions up to fedpkg local. Modified the mediatomb.spec file to include ffmpeg support & installed ffmpeg-devel from the rpmfusion repos. Ran the final command & I had a new rpm. Very cool!

     
  • jd1p3k
    jd1p3k
    2011-09-14

    I am using archlinux and the same thing just happened to me. The import script doesn't appear to be working and I am getting the same error in mediatomb.log:
    2011-09-13 12:26:32   ERROR: missing objectType property
    2011-09-13 12:26:32   ERROR: missing objectType property
    2011-09-13 12:26:32   ERROR: missing objectType property
    2011-09-13 12:26:32   ERROR: missing objectType property
    2011-09-13 12:26:32   ERROR: missing objectType property

    * Mediatomb Updates
    upgraded mediatomb (0.12.1-3 -> 0.12.1-4)
    upgraded mediatomb (0.12.1-4 -> 0.12.1-5)

    * JS related updates
    upgraded nspr (4.8.8-1 -> 4.8.9-1)
    upgraded js (1.8.5-2 -> 1.8.5-3)
    upgraded nss (3.12.10-1 -> 3.12.11-3)

    I am not certain if this stopped working after the mediatomb update in July or the js update a few days ago, though I noticed the failure after the js update.

    The script I am using (though even when setting import.js back to the original/default I get the errors still in mediatomb.log):
    http://mediatomb.cc/dokuwiki/scripting:scripting#parsing_of_file_names_for_tv_shows

    Unfortunately I am not familiar with debugging javascript when its not on a webpage. Any assistance/pointers would be much appreciated.

     
  • Rich Mattes
    Rich Mattes
    2011-09-14

    It probably failed on the update to js 1.8.  I was able to solve these problems in the Fedora package, I've submitted our js 1.8 compatibility patches at https://sourceforge.net/tracker/?func=detail&aid=3409482&group_id=129766&atid=715782 

    It looks like the arch maintainers have the "tonewjs" patch that fixes the general build problems associated with js 1.8, but they don't have the jsparse patch I made (and forgot to submit to the mediatomb patch tracker until now)