IGNF / lidarformat

Automatically exported from code.google.com/p/lidarformat
GNU Lesser General Public License v3.0
6 stars 1 forks source link

Build error: missing file in repo ? #1

Open skramm opened 6 years ago

skramm commented 6 years ago

Hi,

Tried on Ubuntu 14.04, after cloning of repo, did cmake/make steps, but there seems to be a file missing:

[mypath]/lidarformat/src/LidarFormat/LidarDataFormatTypes.h:49:44: fatal error: LidarFormat/models/format_me.hxx: No such file or directory

Checked that line, it says:

#include "LidarFormat/models/format_me.hxx"

It appears this file is not there, in both branches "master" and "release-0.1.2"

brunovallet commented 6 years ago

|Hi, LidarFormat/models/format_me.hxx is a file generated from LidarFormat/models/xsd/format_me.xsd by a custom cmake command. If it does not exist, cmake should generate it: #Génération du code de parse des fichiers xml (gestion du format lidar) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_SOURCE_DIR}/src/LidarFormat/models/format_me.cxx ${CMAKE_SOURCE_DIR}/src/LidarFormat/models/format_me.hxx ${CMAKE_SOURCE_DIR}/src/LidarFormat/models/format_me-fwd.hxx COMMAND ${XSD_EXECUTABLE} cxx-tree --function-naming lcc --type-naming ucc --generate-polymorphic --generate-comparison --generate-doxygen --generate-serialization --generate-forward --output-dir ${CMAKE_SOURCE_DIR}/src/LidarFormat/models ${CMAKE_SOURCE_DIR}/src/LidarFormat/models/xsd/format_me.xsd DEPENDS ${CMAKE_SOURCE_DIR}/src/LidarFormat/models/xsd/format_me.xsd ) I do not know why this is not happening in your case. Are you sure xsd is installed and found ? (including the xsd executable) What files do you have in |||LidarFormat/models ? Normally, you have| format_me.cxx format_me-fwd.hxx format_me.hxx If any is missing, running make should generate them, which is seen by make outputing a blue line saying: Generating ../src/LidarFormat/models/format_me.cxx, ../src/LidarFormat/models/format_me.hxx, ../src/LidarFormat/models/format_me-fwd.hxx If it is not the case, you should see an error relative to this file generation when running cmake or make. Hope this helps, |

IGN http://www.ign.fr Bruno Vallet

Chargé de recherches/Researcher MATIS http://recherche.ign.fr/labos/matis/ ● LaSTIG http://recherche.ign.fr/ ● ENSG http://www.ensg.eu/ ● HdR Univ. Paris-Est http://www.univ-paris-est.fr/fr DIRECTION DE LA RECHERCHE ET DE L'ENSEIGNEMENT Tél: +33 (0)1 43 98 80 81 | Mél : bruno.vallet@ign.fr mailto:bruno.vallet@ign.fr Courrier: Bureau K313| 73 avenue de Paris 94165 SAINT-MANDE CEDEX Web: recherche.ign.fr/labos/matis/~vallet http://recherche.ign.fr/labos/matis/%7Evallet ign.fr http://www.ign.fr - geoportail.gouv.fr http://www.geoportail.gouv.fr/accueil

Le 21/12/2017 à 15:18, skramm a écrit :

Hi,

Tried on Ubuntu 14.04, after cloning of repo, did cmake/make steps, but there seems to be a file missing:

|[mypath]/lidarformat/src/LidarFormat/LidarDataFormatTypes.h:49:44: fatal error: LidarFormat/models/format_me.hxx: No such file or directory |

Checked that line, it says:

|#include "LidarFormat/models/format_me.hxx" |

It appears this file is not there, in both branches "master" and "release-0.1.2"

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/IGNF/lidarformat/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/ANdNHCs4tM83Ixf7sMzmlmkqe8_5oMnoks5tCmivgaJpZM4RJ4WV.

skramm commented 6 years ago

Thanks Bruno ! ;-)

I carefully checked this page (BTW, could need some link updating, still has some Google Code refs)

I think I found the issue (below) but lets first get through details.

Yep, I do have xsd and xerces, but only through my package manager (Ubuntu 14.04):

$ dpkg --list | grep xsd
ii  xsdcxx                 3.3.0.1-1.4           amd64       XML Data Binding for C++
$ dpkg --list | grep xerces
ii  libxerces-c2-dev      2.8.0+deb1-3build1             amd64   validating XML parser library for C++ (development files)
ii  libxerces-c28         2.8.0+deb1-3build1             amd64   validating XML parser library for C++
ii  libxerces-c3.1:amd64  3.1.1-5.1+deb8u3build0.14.04.1 amd64   validating XML parser library for C++
ii  libxerces2-java       2.11.0-7                       all     Validating XML parser for Java with DOM level 3 support

Cmake step:

$ cmake -DCMAKE_BUILD_TYPE:STRING=Release ..
-- The C compiler identification is GNU 5.4.1
-- The CXX compiler identification is GNU 5.4.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found Xerces-C: /usr/lib/libxerces-c.so
-- Boost version: 1.54.0
-- Found the following Boost libraries:
--   filesystem
--   system
--   unit_test_framework
--  Install file include 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sk/dev/IGN/lidarformat/BUILD

Are you sure xsd is installed and found ? (including the xsd executable)

Seems so (see above), xsd on prompt runs.

What files do you have in |||LidarFormat/models ?

None, after the cmake step, only an xsd folder

Normally, you have| format_me.cxx format_me-fwd.hxx format_me.hxx

No, they are not generated. BUT: indeed, first line of make output says:

$ make
[  3%] Generating ../src/LidarFormat/models/format_me.cxx, ../src/LidarFormat/models/format_me.hxx, ../src/LidarFormat/models/format_me-fwd.hxx
Unknown option -function-naming

The thing is: I can't find that string in the generated makefile ??? Where does that come from ?

But not urgent for me, I managed with different tools at present.

Bonnes fêtes !

brunovallet commented 6 years ago

I have a more recent version of xsd but it should not be a problem, Lidarformat has been working for years, with much older versions of xsd. It seems your xsd does not support the -|-function-naming| option, try removing '|--function-naming lcc'| from CMakeLists.txt line 47.

IGN http://www.ign.fr Bruno Vallet

Chargé de recherches/Researcher MATIS http://recherche.ign.fr/labos/matis/ ● LaSTIG http://recherche.ign.fr/ ● ENSG http://www.ensg.eu/ ● HdR Univ. Paris-Est http://www.univ-paris-est.fr/fr DIRECTION DE LA RECHERCHE ET DE L'ENSEIGNEMENT Tél: +33 (0)1 43 98 80 81 | Mél : bruno.vallet@ign.fr mailto:bruno.vallet@ign.fr Courrier: Bureau K313| 73 avenue de Paris 94165 SAINT-MANDE CEDEX Web: recherche.ign.fr/labos/matis/~vallet http://recherche.ign.fr/labos/matis/%7Evallet ign.fr http://www.ign.fr - geoportail.gouv.fr http://www.geoportail.gouv.fr/accueil

Le 22/12/2017 à 14:28, skramm a écrit :

Thanks Bruno ! ;-)

I carefully checked this page https://github.com/IGNF/lidarformat/blob/wiki/HowToCompileOnLinux.md (BTW, could need some link updating, still has some Google Code refs)

I think I found the issue (below) but lets first get through details.

Yep, I do have xsd and xerces, but only through my package manager (Ubuntu 14.04):

|$ dpkg --list | grep xsd ii xsdcxx 3.3.0.1-1.4 amd64 XML Data Binding for C++ $ dpkg --list | grep xerces ii libxerces-c2-dev 2.8.0+deb1-3build1 amd64 validating XML parser library for C++ (development files) ii libxerces-c28 2.8.0+deb1-3build1 amd64 validating XML parser library for C++ ii libxerces-c3.1:amd64 3.1.1-5.1+deb8u3build0.14.04.1 amd64 validating XML parser library for C++ ii libxerces2-java 2.11.0-7 all Validating XML parser for Java with DOM level 3 support |

Cmake step:

|$ cmake -DCMAKE_BUILD_TYPE:STRING=Release .. -- The C compiler identification is GNU 5.4.1 -- The CXX compiler identification is GNU 5.4.1 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Found Xerces-C: /usr/lib/libxerces-c.so -- Boost version: 1.54.0 -- Found the following Boost libraries: -- filesystem -- system -- unit_test_framework -- Install file include -- Configuring done -- Generating done -- Build files have been written to: /home/sk/dev/IGN/lidarformat/BUILD |

Are you sure xsd is installed and found ? (including the xsd
executable)

Seems so (see above), |xsd| on prompt runs.

What files do you have in |||LidarFormat/models ?

None, after the cmake step, only an |xsd| folder

Normally, you have| format_me.cxx format_me-fwd.hxx format_me.hxx

No, they are not generated. BUT: indeed, first line of make output says:

|$ make [ 3%] Generating ../src/LidarFormat/models/format_me.cxx, ../src/LidarFormat/models/format_me.hxx, ../src/LidarFormat/models/format_me-fwd.hxx Unknown option -function-naming |

The thing is: I can't find that string in the generated makefile ??? Where does that come from ?

But not urgent for me, I managed with different tools at present.

Bonnes fêtes !

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/IGNF/lidarformat/issues/1#issuecomment-353598495, or mute the thread https://github.com/notifications/unsubscribe-auth/ANdNHDEJ1j-NhyPH_SfmTrEanQOI33fpks5tC66BgaJpZM4RJ4WV.

skramm commented 6 years ago

Follow up, FWIW: ok, there seemed to be a problem with my xsd version, a lot of the options on line 47 were not recognized. So I did a removal of the xsdcxx package and installed manually 4.0.0 from the .deb found here: https://www.codesynthesis.com/products/xsd/download.xhtml

Then ran into another problem: build fails because xsd requires xerces at least version 2. So removed that and (re)installed package libxerces-c3.1 Unfortunately, this package doesn't seem to set correctly some path, as cmake now tells me XercesC not found ! Please set XercesC path ...

I'll investigate that in the next days...