Posts by alanphys

    FYI


    Here is a service startup script for Conquest running on Fedora 16 which uses systemctl (systemd) as its service manager.



    copy and paste this into the file conquest-pacs.service changing the directory paths to where your dgate executable is.


    copy the file into /lib/systemd/system


    execute
    $ systemctl daemon-reload
    $ systemctl enable conquest-pacs.service


    to start dgate execute
    $ systemctl start conquest-pacs.service


    to stop
    $ systemctl stop conquest-pacs.service


    to restart
    $systemctl restart conquest-pacs.service


    to check status
    $ systemctl status conquest-pacs.service


    Cheers
    Alanphys

    Hi


    I have a similar problem. I am trying to start dgate from a script using:


    # /conquestdir/dgate -v -w/conquestdir &


    dgate seems to fail to load dicom.ini. The strange thing is it definitely finds the directory. If I mistype it it reports it as not existing. Starting dgate in its home directory works fine. Could this be the old forward/backslash issue between windows and linux?


    I am trying to set up a systemctl script to start dgate as a service on Fedora 16.


    Cheers
    Alanphys

    Ok, as predicted the web interface failed to run.


    Soved by copying contents of /usr/lib/cgi-bin/ to /var/www/cgi-bin/


    and /var/www/conquest.jpg to /var/www/html/


    alternatively
    change maklinux_postgres from


    sudo cp dgate /usr/lib/cgi-bin
    sudo cp dicom.sql /usr/lib/cgi-bin
    sudo cp dicom.ini.www /usr/lib/cgi-bin/dicom.ini
    sudo cp sample.cq /usr/lib/cgi-bin


    sudo cp ActiveFormProj1.ocx /var/www
    sudo cp conquest.jpg /var/www


    to


    sudo cp dgate /var/www/cgi-bin
    sudo cp dicom.sql /var/www/cgi-bin
    sudo cp dicom.ini.www /var/www/cgi-bin/dicom.ini
    sudo cp sample.cq /var/www/cgi-bin


    sudo cp ActiveFormProj1.ocx /var/www
    sudo cp conquest.jpg /var/www


    Now I can see the web interface. However the interface is not communicating with the server and SE linux is having a fit.


    [Solution]
    SE Linux is blocking httpd access to the network or alternatively port 5678.
    From root execute:
    setsebool -P httpd_can_network_connect 1


    Warning this has the potential to allow unfriendly code to execute scripts!


    Great, now I can see patients and view images. However, I can't access the server from other computers on the network.


    [Description] The firewall is blocking access to the script from outside the host.
    [Solution]
    On your host run the firewall configuration with root privileges. Under "Other Ports" add port 5678 with protocol tcp. Under trusted services make sure Service WWW (HTTP) port 80/tcp is enabled. See warning above.


    Also change all occurrences of 127.0.0.1 to ip address of host in /var/www/cgi-bin/dicom.ini


    At last, I can view the sample patients and images across the network.


    Many thanks Marcel for an impressive piece of software and thanks to Mark Pearson for the startup scripts.


    Cheers
    Alanphys

    Here are some pointers on setting up and checking the database using Postgresql for people like me who aren't familiar with Postgres


    To create the database:
    $ createdb -Upostgres conquest


    If you get error "Ident not authenticated" edit the pg_hba.conf file in
    /var/lib/pgsql/data
    and replace all instances of "indent" with "trust"
    Warning: this will open up your databases completely. Once everything is working you can experiment with more restrictive settings.


    Postgresql stores the database in /var/lib/pgsql/data/base


    To verify that the database was created enter:
    $ psql -Upostgres conquest


    You should get a new prompt:
    conquest=#


    Enter \l at the prompt for a list of databases on your system. You should get:


    List of databases
    Name | Owner | Encoding | Collation | Ctype | Access privileges
    -----------+----------+----------+-------------+-------------+-----------------------
    conquest | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
    postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
    template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
    : postgres=CTc/postgres
    template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
    : postgres=CTc/postgres
    (4 rows)


    Exit from Postgres by typing \q


    Now regenerate the database by entering:
    $./dgate -v-r


    There appear to be a number of error messages if this is the first time the database is generated.If the images were added successfully you will get some success messages. You can verify that the database structure was created by starting psql again and entering at the prompt:


    conquest=# \d


    You should get:


    List of relations
    Schema | Name | Type | Owner
    --------+---------------+-------+----------
    public | dicomimages | table | postgres
    public | dicompatients | table | postgres
    public | dicomseries | table | postgres
    public | dicomstudies | table | postgres
    public | dicomworklist | table | postgres
    public | uidmods | table | postgres
    (6 rows)


    Hope this helps
    alanphys

    Here is my maklinux_postgres file



    I have not yet tested the web server interface. I am fairly sure it is not going to work as Apache on Fedora uses the directory /var/www/cgi-bin. Also the use of the /usr/local directory on Fedora is deprecated.


    A simpler option for distribution might be to create a Fedora RPM although this tends to be quite specific.


    Cheers
    alanphys

    Ok I now have an executable. This is what I did in addition to the above:


    [Title] error: 'JSAMPLE16' undeclared
    [Description]
    compiling jasper dir gives
    jpg_dec.c: In function 'jpg_put_pixel_rows':
    jpg_dec.c:312: error: 'JSAMPLE16' undeclared (first use in this function)
    jpg_dec.c:312: error: (Each undeclared identifier is reported only once
    jpg_dec.c:312: error: for each function it appears in.)
    jpg_dec.c:312: error: 'bufptr16' undeclared (first use in this function)
    jpg_dec.c:329: error: 'JSAMPROW16' undeclared (first use in this function)


    [Solution]
    See http://forum.image-systems.biz/viewtopic.php?f=33&t=2494


    After doing in jpeg-6c: (see linuxmanual.pdf in Conquest dir)
    sudo make install
    Add
    sudo make install-lib


    [Title] PostGresql directories


    [Description]
    Fedora installs Postgress in
    /usr/lib/pgsql
    /usr/include/pgsql


    Need to install
    postgresql-server-8.4.8-1.fc14.i686
    postgresql-8.4.8-1.fc14.i686
    postgresql-devel-8.4.8-1.fc14.i686
    postgresql-libs-8.4.8-1.fc14.i686


    [Solution]
    Change maklinux_postgres, line 1 from
    export LD_LIBRARY_PATH="/usr/local/pgsql/lib/"
    to
    export LD_LIBRARY_PATH="/usr/lib/pgsql/"
    and line 3 from
    g++ -I/usr/local/pgsql/include -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DPOSTGRES -Wno-write-strings total.cpp lua.o -o dgate -lpthread -L/usr/local/pgsql/lib -lpq -ljasper -ljpeg -Ijpeg-6c -Ljpeg-6c -Ilua_5.1.4 -Wno-multichar
    to
    g++ -I/usr/include/pgsql -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DPOSTGRES -Wno-write-strings total.cpp lua.o -o dgate -lpthread -L/usr/lib/pgsql -lpq -ljasper -ljpeg -Ijpeg-6c -Ljpeg-6c -Ilua_5.1.4 -Wno-multichar


    [Title] Executing maklinux_postgres errors
    [Description]
    Executing maklinux_postgres gives:
    In file included from total.cpp:135:0:
    nkiqrsop.cpp:224:27: fatal error: jasper/jasper.h: No such file or directory
    compilation terminated.


    [Solution]
    In maklinux_postgres, line 3 change from
    g++ -I/usr/include/pgsql -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DPOSTGRES -Wno-write-strings total.cpp lua.o -o dgate -lpthread -L/usr/lib/pgsql/ -lpq -ljasper -ljpeg -Ijpeg-6c -Ljpeg-6c -Ilua_5.1.4 -Wno-multichar
    to
    g++ -I/usr/include/pgsql -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DPOSTGRES -Wno-write-strings total.cpp lua.o -o dgate -lpthread -L/usr/lib/pgsql/ -lpq -ljasper -Ljasper-1.900.1-6ct/src/libjasper/include/ -Ijasper-1.900.1-6ct/src/libjasper/include/ -ljpeg -Ijpeg-6c -Ljpeg-6c -Ilua_5.1.4 -Wno-multichar


    [Title] maklinux compile error odbci.cpp
    [Description]
    odbci.cpp: In member function ‘virtual BOOL Database::Open(const char*, const char*, const char*, const char*)’:
    odbci.cpp:3227:13: error: ‘Sleep’ was not declared in this scope


    [Solution]
    See http://forum.image-systems.biz/viewtopic.php?f=33&t=3216 post 3 and 4
    replace Sleep(555) by delay(555)


    [Description]
    /usr/bin/ld: cannot find -ljasper


    [Solution]
    Copy libjasper.a from
    conquestlinux1416/jasper-1.900.1-6ct/src/libjasper/.libs
    to
    /usr/local/lib


    Ok we now have an executable. If there is a more elegant way of doing the above please let me know.


    Cheers
    alanphys

    I am currently trying to install Conquest on Fedora 14. Having read this thread http://forum.image-systems.biz/viewtopic.php?f=33&t=3216 by Azhar I thought I would post my experiences as he seems to have got a bit further than I have. I am running Fedora 14 with KDE 4.6 and Postgresql 8.4.8-1


    First problem:
    While making the IJG library
    /usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1
    /usr/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1': No such file or directory
    make: *** [install] Error 1


    Changed:
    configure, line 55 from mandir='${prefix}//man' to mandir='${prefix}/share/man'
    makefile.cfg, line 20 from mandir = $(prefix)/man/man$(manext) to mandir = $(prefix)/share/man/man$(manext)


    I will post other problems and (hopefully) solutions as I encounter them


    Cheers
    alanphys