Menu

#12 Compiling 0.9.0 tarball on x86_64 linux fails

1.0.0
closed
nobody
None
5
2018-10-04
2014-09-28
No

Hi,

Grabbed the tarball djv-0.9.0_src.tar.gz from the downloads page.
I'm running Arch Linux, 64bit.

mkdir build && cd build
cmake .. # all fine
make

And I get the following errors (see below)

I'm not sure if its a missing header, or what it is.. so I figured I'd file a bug here!
Cheers -Harry

Building CXX object lib/djv_core/CMakeFiles/djv_core.dir/djv_core_application.cpp.o
In file included from /root/programming/djv-0.9.0/lib/djv_core/djv_core_application.cpp:36:0:
/root/programming/djv-0.9.0/lib/djv_core/djv_file.h:152:15: error: 'uid_t' has not been declared
     void user(uid_t);
               ^
/root/programming/djv-0.9.0/lib/djv_core/djv_file.h:172:12: error: 'uid_t' does not name a type
     inline uid_t user() const;
            ^
/root/programming/djv-0.9.0/lib/djv_core/djv_file.h:230:5: error: 'uid_t' does not name a type
     uid_t    _user;
     ^
In file included from /root/programming/djv-0.9.0/lib/djv_core/djv_file.h:391:0,
                 from /root/programming/djv-0.9.0/lib/djv_core/djv_core_application.cpp:36:
/root/programming/djv-0.9.0/lib/djv_core/djv_file_inline.h:73:8: error: 'uid_t' does not name a type
 inline uid_t File::user () const
        ^
/root/programming/djv-0.9.0/lib/djv_core/djv_file_inline.h: In member function 'bool djv::File::seq_add(const djv::File&)':
/root/programming/djv-0.9.0/lib/djv_core/djv_file_inline.h:140:5: error: '_user' was not declared in this scope
     _user = Math::max(_user, in._user);
     ^
/root/programming/djv-0.9.0/lib/djv_core/djv_file_inline.h:140:33: error: 'const class djv::File' has no member named '_user'
     _user = Math::max(_user, in._user);
                                 ^
lib/djv_core/CMakeFiles/djv_core.dir/build.make:123: recipe for target 'lib/djv_core/CMakeFiles/djv_core.dir/djv_core_application.cpp.o' failed
make[2]: *** [lib/djv_core/CMakeFiles/djv_core.dir/djv_core_application.cpp.o] Error 1
CMakeFiles/Makefile2:410: recipe for target 'lib/djv_core/CMakeFiles/djv_core.dir/all' failed
make[1]: *** [lib/djv_core/CMakeFiles/djv_core.dir/all] Error 2
Makefile:137: recipe for target 'all' failed

Related

Bugs: #12

Discussion

  • darbyjohnston

    darbyjohnston - 2014-10-05

    Hi Harry,

    I've just released a new version of the software, would you mind trying to build with the new version and verify that this issue still exists? Also I've just added Git support so if your are familiar with that you can get the source code like this:

    git clone git://git.code.sf.net/p/djv/git djv-git
    

    Or you can also find the source code as a tarball on the downloads page:

    http://sourceforge.net/projects/djv/files/djv-stable/1.0.0/
    

    Thanks, Darby

     
    • Harry van Haaren

      Hey,

      Yes it builds much further: that error was fixed. I'm now getting the
      following error, libjpeg:: / Imf:: issue.

      Ping me, and I'll git pull && make. Thanks for fixing the previous issue!

      Scanning dependencies of target djvOpenExrPlugin
      [ 61%] Building CXX object
      plugins/djvOpenExrPlugin/CMakeFiles/djvOpenExrPlugin.dir/djvOpenExrLoad.cpp.o
      /root/programming/djv-git/plugins/djvJpegPlugin/djvJpegLoad.cpp: In
      function 'bool {anonymous}::jpegOpen(FILE,
      libjpeg::jpeg_decompress_struct
      , djvJpegErrorStruct)':
      /root/programming/djv-git/plugins/djvJpegPlugin/djvJpegLoad.cpp:224:9:
      error: 'TRUE' is not a member of 'libjpeg'
      libjpeg::TRUE;
      ^
      plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/build.make:54:
      recipe for target
      'plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/djvJpegLoad.cpp.o'
      failed
      make[2]: [plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/djvJpegLoad.cpp.o]
      Error 1
      CMakeFiles/Makefile2:1663: recipe for target
      'plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/all' failed
      make[1]:
      [plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/all] Error 2
      make[1]: Waiting for unfinished jobs....
      [ 61%] Building CXX object
      plugins/djvOpenExrPlugin/CMakeFiles/djvOpenExrPlugin.dir/djvOpenExrPlugin.cpp.o
      [ 62%] Building CXX object
      plugins/djvOpenExrPlugin/CMakeFiles/djvOpenExrPlugin.dir/djvOpenExrSave.cpp.o
      /root/programming/djv-git/plugins/djvOpenExrPlugin/djvOpenExrSave.cpp:
      In member function 'void djvOpenExrSave::_open(const QString&, const
      djvImageIoInfo&)':
      /root/programming/djv-git/plugins/djvOpenExrPlugin/djvOpenExrSave.cpp:246:31:
      error: 'DWAA_COMPRESSION' is not a member of 'Imf'
      compression = Imf::DWAA_COMPRESSION;
      ^
      /root/programming/djv-git/plugins/djvOpenExrPlugin/djvOpenExrSave.cpp:250:31:
      error: 'DWAB_COMPRESSION' is not a member of 'Imf'
      compression = Imf::DWAB_COMPRESSION;
      ^
      /root/programming/djv-git/plugins/djvOpenExrPlugin/djvOpenExrSave.cpp:258:68:
      error: 'addDwaCompressionLevel' was not declared in this scope
      addDwaCompressionLevel(header, _options.dwaCompressionLevel);
      ^
      plugins/djvOpenExrPlugin/CMakeFiles/djvOpenExrPlugin.dir/build.make:100:
      recipe for target
      'plugins/djvOpenExrPlugin/CMakeFiles/djvOpenExrPlugin.dir/djvOpenExrSave.cpp.o'
      failed
      make[2]:
      [plugins/djvOpenExrPlugin/CMakeFiles/djvOpenExrPlugin.dir/djvOpenExrSave.cpp.o]
      Error 1
      make[2]: Waiting for unfinished jobs....
      CMakeFiles/Makefile2:1831: recipe for target
      'plugins/djvOpenExrPlugin/CMakeFiles/djvOpenExrPlugin.dir/all' failed
      make[1]:
      [plugins/djvOpenExrPlugin/CMakeFiles/djvOpenExrPlugin.dir/all]
      Error 2
      Makefile:147: recipe for target 'all' failed
      make:
      ** [all] Error 2

      On Sun, Oct 5, 2014 at 8:49 PM, darbyjohnston
      darbyjohnston@users.sf.net wrote:

      Hi Harry,

      I've just released a new version of the software, would you mind trying to
      build with the new version and verify that this issue still exists? Also
      I've just added Git support so if your are familiar with that you can get
      the source code like this:

      git clone git://git.code.sf.net/p/djv/git djv-git

      Or you can also find the source code as a tarball on the downloads page:

      http://sourceforge.net/projects/djv/files/djv-stable/1.0.0/

      Thanks, Darby


      [bugs:#12] Compiling 0.9.0 tarball on x86_64 linux fails

      Status: open
      Group: v1.0 (example)
      Created: Sun Sep 28, 2014 10:14 AM UTC by Harry van Haaren
      Last Updated: Sun Sep 28, 2014 10:14 AM UTC
      Owner: nobody

      Hi,

      Grabbed the tarball djv-0.9.0_src.tar.gz from the downloads page.
      I'm running Arch Linux, 64bit.

      mkdir build && cd build
      cmake .. # all fine
      make

      And I get the following errors (see below)

      I'm not sure if its a missing header, or what it is.. so I figured I'd file
      a bug here!
      Cheers -Harry

      Building CXX object
      lib/djv_core/CMakeFiles/djv_core.dir/djv_core_application.cpp.o
      In file included from
      /root/programming/djv-0.9.0/lib/djv_core/djv_core_application.cpp:36:0:
      /root/programming/djv-0.9.0/lib/djv_core/djv_file.h:152:15: error: 'uid_t'
      has not been declared
      void user(uid_t);
      ^
      /root/programming/djv-0.9.0/lib/djv_core/djv_file.h:172:12: error: 'uid_t'
      does not name a type
      inline uid_t user() const;
      ^
      /root/programming/djv-0.9.0/lib/djv_core/djv_file.h:230:5: error: 'uid_t'
      does not name a type
      uid_t _user;
      ^
      In file included from
      /root/programming/djv-0.9.0/lib/djv_core/djv_file.h:391:0,
      from
      /root/programming/djv-0.9.0/lib/djv_core/djv_core_application.cpp:36:
      /root/programming/djv-0.9.0/lib/djv_core/djv_file_inline.h:73:8: error:
      'uid_t' does not name a type
      inline uid_t File::user () const
      ^
      /root/programming/djv-0.9.0/lib/djv_core/djv_file_inline.h: In member
      function 'bool djv::File::seq_add(const djv::File&)':
      /root/programming/djv-0.9.0/lib/djv_core/djv_file_inline.h:140:5: error:
      '_user' was not declared in this scope
      _user = Math::max(_user, in._user);
      ^
      /root/programming/djv-0.9.0/lib/djv_core/djv_file_inline.h:140:33: error:
      'const class djv::File' has no member named '_user'
      _user = Math::max(_user, in._user);
      ^
      lib/djv_core/CMakeFiles/djv_core.dir/build.make:123: recipe for target
      'lib/djv_core/CMakeFiles/djv_core.dir/djv_core_application.cpp.o' failed
      make[2]:
      [lib/djv_core/CMakeFiles/djv_core.dir/djv_core_application.cpp.o] Error 1
      CMakeFiles/Makefile2:410: recipe for target
      'lib/djv_core/CMakeFiles/djv_core.dir/all' failed
      make[1]:
      [lib/djv_core/CMakeFiles/djv_core.dir/all] Error 2
      Makefile:137: recipe for target 'all' failed


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/djv/bugs/12/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

      --

      http://www.openavproductions.com

       

      Related

      Bugs: #12

  • darbyjohnston

    darbyjohnston - 2014-10-06

    Hi,

    It looks like maybe you are using earlier versions of libjpeg and OpenEXR; the versions I have been compiling against are:

    jpegsrc.v9.tar.gz
    openexr-2.2.0.tar.gz
    

    If those packages are not available on your system you can download them (and the other third party packages DJV relies on) from here:

    git clone git://git.code.sf.net/p/djv/git-third-party djv-git-third-party
    

    There are instructions for how to compile the third party packages in the main CMakeLists.txt file in the DJV source.

    Darby

     
  • darbyjohnston

    darbyjohnston - 2014-10-11

    Hi Harry,

    Any luck with compiling with the newer versions of the packages? If so I would like to close this bug out.

    Thanks, Darby

     
  • Timothée Giet

    Timothée Giet - 2015-02-13

    Hi,
    I have a build error similar to the last reported by Harry:

    [ 58%] Building CXX object plugins/djvTargaPlugin/CMakeFiles/djvTargaPlugin.dir/djvTargaPlugin.cpp.o
    [ 58%] Building CXX object plugins/djvPpmPlugin/CMakeFiles/djvPpmPlugin.dir/djvPpmWidget.cpp.o
    /home/tim/Softs/src/djv-1.0.5/plugins/djvJpegPlugin/djvJpegLoad.cpp: In function ‘bool {anonymous}::jpegOpen(FILE, libjpeg::jpeg_decompress_struct, djvJpegErrorStruct*)’:
    /home/tim/Softs/src/djv-1.0.5/plugins/djvJpegPlugin/djvJpegLoad.cpp:224:9: erreur: ‘TRUE’ is not a member of ‘libjpeg’
    libjpeg::TRUE;
    ^
    plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/build.make:54: recipe for target 'plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/djvJpegLoad.cpp.o' failed
    make[2]: [plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/djvJpegLoad.cpp.o] Error 1
    CMakeFiles/Makefile2:1663: recipe for target 'plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/all' failed
    make[1]:
    [plugins/djvJpegPlugin/CMakeFiles/djvJpegPlugin.dir/all] Error 2
    make[1]: Attente des tâches non terminées....
    [ 59%] Building CXX object plugins/djvPpmPlugin/CMakeFiles/djvPpmPlugin.dir/djvPpmPlugin_automoc.cpp.o
    [ 60%] Building CXX object plugins/djvSgiPlugin/CMakeFiles/djvSgiPlugin.dir/djvSgiSave.cpp.o
    [ 60%] Building CXX object plugins/djvTargaPlugin/CMakeFiles/djvTargaPlugin.dir/djvTargaSave.cpp.o
    [ 61%] Building CXX object plugins/djvTargaPlugin/CMakeFiles/djvTargaPlugin.dir/djvTargaWidget.cpp.o
    Linking CXX shared module ../../build/lib/libdjvPpmPlugin.so
    [ 61%] Built target djvPpmPlugin
    [ 61%] Building CXX object plugins/djvTargaPlugin/CMakeFiles/djvTargaPlugin.dir/djvTargaPlugin_automoc.cpp.o
    [ 61%] Building CXX object plugins/djvSgiPlugin/CMakeFiles/djvSgiPlugin.dir/djvSgiWidget.cpp.o
    [ 61%] Building CXX object plugins/djvSgiPlugin/CMakeFiles/djvSgiPlugin.dir/djvSgiPlugin_automoc.cpp.o
    Linking CXX shared module ../../build/lib/libdjvTargaPlugin.so
    [ 61%] Built target djvTargaPlugin
    Linking CXX shared module ../../build/lib/libdjvSgiPlugin.so
    [ 61%] Built target djvSgiPlugin
    Makefile:147: recipe for target 'all' failed
    make:
    [all] Error 2

    Looks like it doesn't like our libjpeg..
    Looking at it, my libjpeg (in Mageia 5 beta) is 1.3.0 from here:
    https://sourceforge.net/projects/libjpeg-turbo/
    And on Arch, they have 1.4.0 from the same source.
    Looks like you are using a different libjpeg from here:
    http://www.ijg.org/files/

    Any reason why you don't use libjpeg-turbo? Any idea how to fix this error to use it instead?

     
    • Timothée Giet

      Timothée Giet - 2015-02-13

      Edit: It's libjpeg 1.3.1 that I have, not 1.3.0...

       
  • Timothée Giet

    Timothée Giet - 2015-02-13

    Note: as a workaround, I just commented the if sections with libjpeg::TRUE; in both djvJpegLoad.cpp and djvJpegSave.cpp, and build finished without error. make test failed, but make package worked and made a working rpm.
    I tried loading a jpeg file, and saving a png to jpeg, it works fine.

     
  • darbyjohnston

    darbyjohnston - 2015-02-15

    Hi Timothee,

    Could you check that you are using the latest sources from Git? The problem with the libjpeg::TRUE should be fixed.

    The confidence tests need X11/OpenGL for running, is it possible you are running them on a remote machine without X forwarding?

    I'll check out libjpeg-turbo, it looks interesting and I would definitely be interested in speeding up image I/O times.

    Thanks, Darby

     
  • Timothée Giet

    Timothée Giet - 2015-02-15

    Hi Darby,

    I was using 1.0.5.
    I just tried git master and the error with libjpeg is gone :)

    Though I still have test crashing, not using ssh, but I'll start another report about it.

    Thanks!

     
  • darbyjohnston

    darbyjohnston - 2018-10-04
    • status: open --> closed