[liblouis-liblouisxml] Re: Questions about the VS projects

  • From: "Norbert Markus" <hamilfonz@xxxxxxxxx>
  • To: <liblouis-liblouisxml@xxxxxxxxxxxxx>
  • Date: Sun, 23 Apr 2017 12:17:27 +0200

Paulw.torchtrust signatureHi Paul,
Sorry, I am encountering problems when attempting to download.
I clicked the link in Your latest message (have updated #23).
I find myself on Github's page for the Visual Studio 2015 Solution for 
Liblouisutdml, and I am unable to find my way further.
Last time, about a month ago, when I visited #23, somehow I stumbled upon a 
button or menu item "download zip", and by that I pulled a full package 
containing all sources, resource files and vs project files.
Now I am unable to find such a menu offering to download a zip archive.
When I clicked "Code" then there was that menu and download zip, but it 
appeared to pull a purer liblouisutdml package with no vs files, no binaries, 
etc. Jus for comparison: when I did it the first time some weeks ago, the 
download size was around 25 mb, and now it was just 2.5 mb.
Tumbling around, I scrolled down the list of your commits and found at the 
bottom of the list "Update to 2.7". When I click it, a new page shows with the 
diff details of the most recent commit and offers to show file contents, but I 
cannot find any control to download a package related to vs. When I click 
"code", the download zip option is there again, but the size is around 1.5 mb.

What am I doing wrong? Could you please provide some guidance for how to get 
the latest stuff downloaded.

Thanks in advance.
Best Regards, Norbert.

 
From: Paul Wood 
Sent: Friday, April 21, 2017 5:25 PM
To: liblouis-liblouisxml@xxxxxxxxxxxxx 
Subject: [liblouis-liblouisxml] Re: Questions about the VS projects


Hi Norbert,

Have updated https://github.com/liblouis/liblouisutdml/pull/23 with relative ;
paths. Dependants are libxml-2.7.2 and LibLouis. The VS projects for LibLouis 
are https://github.com/liblouis/liblouis/pull/194 but are not tested with ;
master. I have an issue when I try to build with tools, but you don't need the 
tools to run liblouisUTDML. file2brl is a separate solution. If I knew what I 
know now then I would combine file2brl with liblouisUTDML. If you want it to 
work without changing anything in the paths then setup your folders so 
liblouis, liblouisutdml and libxml2-2.7.2 are all the folder names of the 
different parts.
I used a spare PC which already had Visual Studio 2015 Community and then 
Cloned the repos of the master then the pull requests of liblouis and 
liblouisUTDML. Copied my version of libxml2-2.7.2 from my development PC. so 
AFAIK should all work for you or whoever. Please let me know how you get on.

I will now look to see if everything works with the latest versions.
Cheers
Paul


On 20/04/2017 22:48, Norbert Markus wrote:

  Hi Paul,
  I am just after having downloaded pull request #23 and dealing with the 
sources included, that is, I am afraid, liblouisutdml 2.5 that was recent at 
that time (June or July 2016).
  My first modest objective is to build the solution as it is just to see that 
I can do it over here too. Once I succeed, I would like to make the source up 
to date and repeat the build to get binaries corresponding to the latest 
version.
  What do you think, is this a logical path?

  I still need to find out which pull request contains the VS solution for the 
then matching liblouis version and how to deal with the libxml2 dependency.

  Hope I did not forget to mention any important detail.

  Thanks for your assistance!

  Best Regards, Norbert.



  From: Paul Wood 
  Sent: Thursday, April 20, 2017 3:10 PM
  To: liblouis-liblouisxml@xxxxxxxxxxxxx 
  Subject: [liblouis-liblouisxml] Re: Questions about the VS projects


  Hi Norbert,

  where are you at now? which source are you using 3.0.0 or 3.1 or main 
repository? I want to try and start where you are.

  Thanks
  Paul




  On 19/04/2017 22:08, Norbert Markus wrote:

    Hi Neal,
    There is a separate VS solution specifically for file2brl.exe. I don't want 
to state any non-sense before I've gotten that far myself but I can simply see 
that pull request #23 contains two solutions: one for liblouisutdml.dll and 
another for file2brl.exe.
    Thanks for drawing my attention to the fact that nmake scripts are 
encapsulated into the VS project's build mechanism. I wasn't aware of it. I am 
just beginning to look around in the stuff. It seems there is still a lot to 
understand.
    Thanks a lot for the nmake excerpt. Any such information is welcome.
    Best Regards, Norbert. 


    From: Neil Soiffer 
    Sent: Wednesday, April 19, 2017 9:28 PM
    To: liblouis-liblouisxml@xxxxxxxxxxxxx 
    Subject: [liblouis-liblouisxml] Re: Questions about the VS projects


    FYI: I too am using the VS solution. If you look at the .vcxproj file, it 
basically calls nmake (copied relevant commands below for your convenience), so 
there shouldn't be any  difference from doing the commands yourself from a 
command line. Of course if you are debugging or developing something, that's 
where using VS's IDE is really useful.


    In case you weren't aware, the makefiles do not mention file2brl and so 
they (and the VS solution) won't build it. It looks like you need to modify 
Makefile.nmake to include building and invoking the makefile.am in the tools 
dir, but I don't need that file and I'm out of my league in answering questions 
about building it.


    ======= from vcxproj file =======

    mkdir libslib
    set LXCCFLAGS= /wd4005
    nmake  /f makefile.nmake
    del /f /q liblouisutdml.lib
    nmake /f makefile.gen liblouisutdml.lib
    copy liblouisutdml.lib libslib




    On Wed, Apr 19, 2017 at 1:40 AM, Norbert Markus <hamilfonz@xxxxxxxxx> wrote:

      Hi Neil,
      I was relatively lucky with the nmake script for liblouisutdml. It has 
gone through with no fatal errors and built the dll but it did not create 
file2brl.exe that I still badly need. I modified MakeFile.nmake neither for 
liblouis nor for liblouisutdml. I don't know what factorsaved me from fatal 
errors.

       Readme.windows says that Libxml2 version 2.7.2 is needed. First I tried 
to deviate from it but my lack of discipline was quickly retaliated, so I 
urgently fetched the right version but I could only find the source. Thanks for 
the hint about how to build its binaries. The paths are correct in configure.mk 
I believe.

      However, after experimenting with the command line tools for weeks with 
partial success, I decided to turn my hand to the Visual Studio solution.
      Thank You all in advance if any progress is made on my side.

      Norbert.


      From: Neil Soiffer 
      Sent: Wednesday, April 19, 2017 12:08 AM
      To: liblouis-liblouisxml@xxxxxxxxxxxxx 
      Subject: [liblouis-liblouisxml] Re: Questions about the VS projects


      I'm currently trying to build liblouis and liblousutdml with VS 2015. I 
am building from the current github versions (some suggested fixes below).  I 
have run into some problems with linking, but I think I can answer a few 
questions. I'm jumping into the middle of this discussion, so apologies if 
these have already been answered or my answers are off base...

      libxml2 2.7.8 can be found at 
https://git.gnome.org/browse/libxml2/tag/?h=v2.7.8

      I believe it gets built due to lines in windows\make_makefile.c


      I don't have and don't seem to need libiconv.dll and libiconv.lib.


      Make sure you edit windows\configure.mk in your liblouisutdml dir to 
point to the right locations.


      What I have found so far that needs changing are:
      liblouis ERRORS:
      liblouis\windows\Makefile.nmake
      commonTranslationFunctions.c not part of makefile


      change to:
      OBJ = commonTranslationFunctions.obj compileTranslationTable.obj 
lou_translateString.obj \
          lou_backTranslateString.obj logging.obj wrappers.obj pattern.obj


      add as first compile rule (to keep alphabetical):
      commonTranslationFunctions.obj: $(SRCDIR)\commonTranslationFunctions.c \
          $(HEADERS)
          $(CC) $(CFLAGS) $(SRCDIR)\commonTranslationFunctions.c



      liblouis WARNINGS:
      liblouis\compileTranslationTable.c:(4011) : 'ptn_regex': unreferenced 
local variable

      Fix by removing ptn_regex


      liblouisUTDML link WARNINGS/ERRORS:
      As I mentioned at the start, I haven't gotten liblouisUTDML to link yet. 
Some warnings are:
      4>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other 
libs; use /NODEFAULTLIB:library

      Lots like:
      4>liblouis.lib(lou_translateString.obj) : warning LNK4217: locally 
defined symbol _calloc imported in function _hyphenate


      And finally the fatal errors:
      4>liblouis.lib(compileTranslationTable.obj) : error LNK2019: unresolved 
external symbol __imp___stricmp referenced in function _findOpcodeNumber
      4>liblouis.lib(pattern.obj) : error LNK2019: unresolved external symbol 
__imp__puts referenced in function _pattern_output_expression
      4>MSVCRT.lib(_chandler4gs_.obj) : error LNK2019: unresolved external 
symbol __except_handler4_common referenced in function __except_handler4



      If someone has seen these before and knows a fix, it would save me time 
figuring out what's not right with the linking.


      Thanks,



          Neil






      On Tue, Apr 18, 2017 at 8:36 AM, Norbert Markus <hamilfonz@xxxxxxxxx> 
wrote:


        Hi Paul,
        Thanks for your immediate response.
        I will appreciate if you can deal with my questions from Thursday on.
        In the meanwhile, I am trying to find the pull request for the liblouis 
VS project and to sort out the path controversy.
        Until no better solution is suggested, I am going to use the libxml 
binaries included in #23.

        Have a nice holiday!

        Best Regards, Norbert.



        From: Paul Wood 
        Sent: Tuesday, April 18, 2017 5:32 PM
        To: liblouis-liblouisxml@xxxxxxxxxxxxx 
        Subject: [liblouis-liblouisxml] Re: Questions about the VS projects


        Hi Norbert, 
        I am on holiday, but back Thursday. I hope to look at this this week, 
but I have plenty of work piled up, but I am keen to find out why your build is 
nor working. Liblouis is needed by liblouisutdml and both are needed by 
file2brl.
        Bye for now
        Paul


        On 18 Apr 2017 4:16 p.m., "Norbert Markus" <hamilfonz@xxxxxxxxx> wrote:

          Hi Paul,

          I am trying to get under control your liblouisutdml solution for 
Visual Studio downloaded from your pull request #23. My first objective is to 
be able to build the projects with ctrl-F5 encountering no errors. This is not 
yet achieved, unfortunately.
          A further objective is to update the source to the latest liblouis 
and liblouisutdml versions and to successfully build the projects including the 
DLLs and EXEs, thus to obtain an up-to-date runnable version (especially of 
file2brl.exe) for windows.

          In your previous related message, You wrote that you have created two 
projects, one for liblouis and another for liblouisutdml. What is the pull 
request number of the former (i.e., for liblouis).

          What is the relationship between these solutions from the respect of 
Visual Studio? Is there a common entry point to start the build process of all 
components, or should these projects be built in a particular order and to be 
referenced to each other?
          For instance, should I first build the project for liblouis, then 
another project for liblouisutdml referring to the result(s) of the liblouis 
build, and then in a third pass, should the project for file2brl be built based 
on the results of the former two?

          I have copied the folder for the liblouisutdml solution downloaded 
from git to:
          C:\users\Norbert\documents\Visual Studio 2015\projects
          Here I truncated the original download folder name to liblouisutdml.

          I found all the VS related stuff in subfolders of the windows folder. 
I assume, not everything is needed for VS in the complete downloaded folder, 
but at this moment I am unable to figure out what to jettison with no severe 
consequences.
          I found two .sln files:
          windows\msvc\file2brl\file2brl.sln
          windows\msvc\liblouisutdml\liblouisutdml.sln

          In both cases, I began the procedure by clicking on one of these that 
launched VS and loaded the solution. I did not hope it will work for the first 
try but I pressed ctrl-F5 and got a question: "This project is out of date. 
Would you like to build it anyway?" I am not exactly sure what it means but I 
answered yes to proceed.
          Then: build failed.
          In case of liblouisutdml.sln, there were 24 errors and 2 warnings. I 
checked a few of the errors complaining about that liblouisutdml.h and 
liblouis.h (several of them) cannot be found here:
          c:\users\Norbert\documents\Visual Studio 
2015\projects\liblouisutdml\liblouisutdml\liblouisutdml.h

          It hints, that I copied too many depths of the downloaded folder to 
the projects directory, but it is not exactly clear what path to provide for a 
successful build.
          Can you help me find out where to copy what of the material you've 
uploaded last year?
          I assume manually correcting all instances of the references to such 
missing files wouldn't be a wise method. 

          A similar attempt to build the project for file2brl produces 8 errors 
of similar kind. In addition to missing header files, there are errors missing 
certain type definitions, e.g., among others: loglevels and widechar if I 
remember well.

          What are the necessary steps to get these solutions configured 
appropriately?

          Some further questions:
          In the windows\msvc\liblouisutdml\lib folder, I found libiconv.dll, 
libiconv.lib, libxml2.dll and libxml2.lib needed for xml parsing.
          How did you obtain these files?
          Have you created another vs project to build them? (I haven't found 
anything in your liblouisutdml project to hint that libxml2 is built as part of 
that solution.)
          Have you created these files by running a command line build process 
included in the libxml2 source folders?
          Or have you found and downloaded prebuilt binaries?

          Earlier, I ran a few rounds with this: first I obtained the latest 
libxml2 version (2.9.4), but its header files caused lots of error messages 
when I tried to build liblouisutdml using a command line nmake tool.
          Later I found the source for version 2.7.2 that appeared to be 
adequate but the nmake script that builds liblouisutdml seems not to build the 
libxml2 binaries.
          Then I looked around to download prebuilt binaries but I could not 
find versions as old as 2.7.2. Even the more recent packages include no .lib 
files.

          Please help me if you can, configure and build your original VS 
solution on my local machine.

          Thanks in advance, your help would be invaluable.
          Best Regards, Norbert.






  -- 

  Paul Wood, Chief Technical Officer
  Torch Trust
  Torch House, Torch Way,
  Market Harborough, Leics. LE16 9HL, UK
  Direct Line: +44(0)1858 438269
  Tel: +44(0)1858 438260, Fax: +44(0)1858 438275
  Email: paulw@xxxxxxxxxxxxxx
  Website: www.torchtrust.org

  ____________________________________________________

  Chief Executive: Dr Gordon Temple
  Charity No. 1095904

  Privileged/Confidential Information may be contained in this message. 
  If you are not the intended recipient please destroy this message 
  and kindly notify the sender by reply email. The computer from which 
  this mail originates is equipped with virus screening software. 
  However Torch Trust cannot guarantee that the mail and its attachments 
  are free from virus infection.  



-- 

Paul Wood, Chief Technical Officer
Torch Trust
Torch House, Torch Way,
Market Harborough, Leics. LE16 9HL, UK
Direct Line: +44(0)1858 438269
Tel: +44(0)1858 438260, Fax: +44(0)1858 438275
Email: paulw@xxxxxxxxxxxxxx
Website: www.torchtrust.org

____________________________________________________

Chief Executive: Dr Gordon Temple
Charity No. 1095904

Privileged/Confidential Information may be contained in this message. 
If you are not the intended recipient please destroy this message 
and kindly notify the sender by reply email. The computer from which 
this mail originates is equipped with virus screening software. 
However Torch Trust cannot guarantee that the mail and its attachments 
are free from virus infection.  

GIF image

Other related posts: