Hi,

after a few unsuccessful attempts I was finally able to compile a stable
OpenDX version on my Linux/Alpha workstation (XP1000 running SuSE 6.4). I
had to change a few #ifdef's to take into account some X peculiarities on
64 bit machines (that were just not included on Linux but fortunately were
defined for Tru64 machines, see src/uipp/widgets/XmDX.h).

Unfortunately, the configure script in its current form does not
distinguish the different Linux architectures, so I don't know how the fix
should be properly incorporated.

Maybe someone could modify the configure setup to properly identify
Linux/Alpha and incorporate the necessary 64 bit changes in a correct way?

I attach a diff with the changes I applied to last week's cvs tree.

Best regards,
Markus Lischka

----------------------------------------------------------------------
email: [EMAIL PROTECTED]                   Markus Lischka
www  : http://www.ph.tum.de/~mlischka           Physics Department T30
phone: (0 89) 2 89-1 23 28                         James-Franck-Str. 1
fax  : (0 89) 2 89-1 22 96                            D-85747 Garching
----------------------------------------------------------------------


diff -ru dx-4.1.1/src/uipp/dxuilib/AutoAxesDialog.C 
dx/src/uipp/dxuilib/AutoAxesDialog.C
--- dx-4.1.1/src/uipp/dxuilib/AutoAxesDialog.C  Fri Mar  2 09:27:21 2001
+++ dx/src/uipp/dxuilib/AutoAxesDialog.C        Fri Mar  2 09:30:06 2001
@@ -753,7 +753,7 @@
     //
     // Label Scale
     //
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l1, dx_l2, dx_l3, dx_l4;
 #endif
     double min = 0.0;
@@ -1241,7 +1241,7 @@
        XmNtopOffset,           12,
        NULL);

-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l1, dx_l2, dx_l3, dx_l4;
 #endif
     double inc = 0.1;
@@ -2227,7 +2227,7 @@
 void AutoAxesDialog::setAutoAxesDialogLabelScale()
 {
     double     dval[6];
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l;
 #endif

@@ -2336,7 +2336,7 @@
 void AutoAxesDialog::setAutoAxesDialogCorners()
 {
     int        i;
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal   dx_l;
 #endif
     double     dval[6];
@@ -2364,7 +2364,7 @@
 {
     int        i;
     double     dval[6];
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l;
 #endif

diff -ru dx-4.1.1/src/uipp/dxuilib/ImageFormatDialog.C 
dx/src/uipp/dxuilib/ImageFormatDialog.C
--- dx-4.1.1/src/uipp/dxuilib/ImageFormatDialog.C       Fri Mar  2 09:27:21 2001
+++ dx/src/uipp/dxuilib/ImageFormatDialog.C     Fri Mar  2 09:30:06 2001
@@ -209,7 +209,7 @@
     // G A M M A      G A M M A      G A M M A      G A M M A      G A M M A
     // G A M M A      G A M M A      G A M M A      G A M M A      G A M M A
     //
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l1, dx_l2, dx_l3, dx_l4;
 #endif
     double inc = 0.1;
@@ -849,7 +849,7 @@

 void ImageFormatDialog::setGamma(double gamma)
 {
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l1;
 #endif
     XtVaSetValues (this->gamma_number,
diff -ru dx-4.1.1/src/uipp/dxuilib/PostScriptImageFormat.C 
dx/src/uipp/dxuilib/PostScriptImageFormat.C
--- dx-4.1.1/src/uipp/dxuilib/PostScriptImageFormat.C   Fri Mar  2 09:27:22 2001
+++ dx/src/uipp/dxuilib/PostScriptImageFormat.C Fri Mar  2 09:30:06 2001
@@ -258,7 +258,7 @@
     // M A R G I N   S I Z E      M A R G I N   S I Z E      M A R G I N   S I 
Z E
     // M A R G I N   S I Z E      M A R G I N   S I Z E      M A R G I N   S I 
Z E
     //
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l1, dx_l2, dx_l3, dx_l4;
 #endif
     double inc = 0.1;
@@ -714,7 +714,7 @@
     this->chosen_layout = this->autoorient_button;
     XtVaSetValues (this->page_layout_om, XmNmenuHistory, this->chosen_layout, 
NULL);

-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l1;
 #endif
     double value = 0.5;
@@ -1040,7 +1040,7 @@
        double max_mrgn = (min_dim/2.0) - 0.2;
        double mrgn;
        max_mrgn = MAX(0.0, max_mrgn);
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
        XtArgVal    dx_l1, dx_l2;
 #endif
        XtVaGetValues (this->margin_width,
diff -ru dx-4.1.1/src/uipp/dxuilib/TickLabel.C dx/src/uipp/dxuilib/TickLabel.C
--- dx-4.1.1/src/uipp/dxuilib/TickLabel.C       Fri Mar  2 09:27:22 2001
+++ dx/src/uipp/dxuilib/TickLabel.C     Fri Mar  2 09:30:06 2001
@@ -105,7 +105,7 @@
     XtAddEventHandler (form, ButtonPressMask, False,
        (XtEventHandler)TickLabel_SelectEH, (XtPointer)this);

-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dx_l1, dx_l4;
 #endif
     double inc = 0.1;
@@ -182,7 +182,7 @@
 void
 TickLabel::setNumber (double dval)
 {
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
     XtArgVal    dxl;
 #endif

diff -ru dx-4.1.1/src/uipp/widgets/XmDX.h dx/src/uipp/widgets/XmDX.h
--- dx-4.1.1/src/uipp/widgets/XmDX.h    Fri Mar  2 09:27:24 2001
+++ dx/src/uipp/widgets/XmDX.h  Fri Mar  2 09:30:06 2001
@@ -567,7 +567,7 @@
 // separate and distinct XtArgVal params should be supplied
 //
 */
-#if defined(alphax)
+#if defined(linux) // works only on Linux/Alpha!!!
 #define DoubleSetArg(a, b, c)                          \
        (a).name = (b);                                 \
        memcpy(&((a).value), &c, sizeof(double));

Reply via email to