Opened 14 years ago

Closed 12 years ago

#1590 closed task (invalid)

MS Windows port

Reported by: robthebob Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: medium Keywords:
Cc: robthebob+mythtv_trac@… Ticket locked: no

Description

A few people have expressed an interest in building under cygwin. I'm working on it, and this is a place where we can share patches and thoughts.

Attachments (9)

cygmar06.diff (24.6 KB) - added by robthebob 14 years ago.
Preliminary effort at builidng under cygwin (still not completely automated)
cygmar06.2.diff (24.6 KB) - added by robthebob 14 years ago.
Slight mistake, corrected
patch1.diff (3.2 KB) - added by jerrymr@… 13 years ago.
First patch in restarted cygwin port
cygwin_31-10-06.patch (12.2 KB) - added by robthebob+myth_trac@… 13 years ago.
Slightly altered/extended patch, gets up to videoout_dx.cpp
libmyth-31-10-06.patch (1.3 KB) - added by robthebob+myth_trac@… 13 years ago.
Just libmyth
libmythsoundtouch_31-10-06.patch (573 bytes) - added by robthebob 13 years ago.
Now using CONFIG_CYGWIN rather than _WIN32 as define
libmythui-1-11-06.patch (2.9 KB) - added by robthebob 13 years ago.
mythtv-win.patch (23.6 KB) - added by jerrymr at gmail dot com 13 years ago.
Ignore previous patches. This patch allows everything in libs + mythfrontend to build under cygwin
cygwin-may07.diff (20.4 KB) - added by anonymous 13 years ago.

Download all attachments as: .zip

Change History (24)

Changed 14 years ago by robthebob

Attachment: cygmar06.diff added

Preliminary effort at builidng under cygwin (still not completely automated)

Changed 14 years ago by robthebob

Attachment: cygmar06.2.diff added

Slight mistake, corrected

comment:1 Changed 14 years ago by anaerin@…

I've tried with this patch, but I'm still running into a few problems when making.

ccache g++ -Wl,--enable-runtime-pseudo-reloc -shared -Wl,--enable-auto-image-base -Wl,--out-implib,libmythui-0.19.dll.a -o cygmythui-0.19-0.dll mythmainwindow.o mythpainter.o mythimage.o myththemebase.o mythpainter_ogl.o mythpainter_qt.o mythscreenstack.o mythscreentype.o mythgesture.o mythuitype.o mythuiimage.o mythuitext.o mythuistatetype.o mythlistbutton.o mythfontproperties.o mythuibutton.o myththemedmenu.o mythdialogbox.o moc_mythmainwindow.o moc_mythuitype.o moc_mythlistbutton.o moc_myththemedmenu.o moc_mythdialogbox.o  -L/usr/lib/qt3/lib -L../libmyth -lmyth-0.19.so -lqt-mt -lpthread
Info: resolving _gContext by linking to __imp__gContext (auto-import)
Info: resolving QString::shared_null       by linking to __imp___ZN7QString11shared_nullE (auto-import)
Info: resolving _qApp by linking to __imp__qApp (auto-import)
Info: resolving QString::null      by linking to __imp___ZN7QString4nullE (auto-import)
Info: resolving vtable for QEventby linking to __imp___ZTV6QEvent (auto-import)
Info: resolving _print_verbose_messages by linking to __imp__print_verbose_messages (auto-import)
Info: resolving MythContext::verbose_mutex        by linking to __imp___ZN11MythContext13verbose_mutexE (auto-import)
Info: resolving QApplication::focus_widget        by linking to __imp___ZN12QApplication12focus_widgetE (auto-import)
Info: resolving Qt::black      by linking to __imp___ZN2Qt5blackE (auto-import)
Info: resolving Qt::white      by linking to __imp___ZN2Qt5whiteE (auto-import)
Info: resolving QColor::colormodel       by linking to __imp___ZN6QColor10colormodelE (auto-import)
Info: resolving _globalFontMapCreating library file: libmythui-0.19.dll.a
mythmainwindow.o: In function `_ZN14MythMainWindow11customEventEP12QCustomEvent':
/usr/Mythtv/libs/libmythui/mythmainwindow.cpp:1142: undefined reference to `MediaMonitor::GetMediaMonitor()'
/usr/Mythtv/libs/libmythui/mythmainwindow.cpp:1143: undefined reference to `MediaMonitor::ValidateAndLock(MythMediaDevice*)'
/usr/Mythtv/libs/libmythui/mythmainwindow.cpp:1160: undefined reference to `MediaMonitor::Unlock(MythMediaDevice*)'
mythpainter_ogl.o: In function `_ZN17MythOpenGLPainter5BeginEP7QWidget':
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:60: undefined reference to `_glClearColor@16'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:61: undefined reference to `_glClear@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:62: undefined reference to `_glShadeModel@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:63: undefined reference to `_glViewport@16'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:64: undefined reference to `_glMatrixMode@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:65: undefined reference to `_glLoadIdentity@0'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:66: undefined reference to `_glOrtho@48'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:67: undefined reference to `_glMatrixMode@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:68: undefined reference to `_glLoadIdentity@0'
mythpainter_ogl.o: In function `_ZN17MythOpenGLPainter3EndEv':
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:78: undefined reference to `_glFlush@0'
mythpainter_ogl.o: In function `_ZN17MythOpenGLPainter20RemoveImageFromCacheEP9MythImage':
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:112: undefined reference to `_glDeleteTextures@8'
mythpainter_ogl.o: In function `_ZN17MythOpenGLPainter20BindTextureFromCacheEP9MythImageb':
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:127: undefined reference to `_glGetString@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:167: undefined reference to `_glBindTexture@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:201: undefined reference to `_glGenTextures@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:202: undefined reference to `_glBindTexture@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:203: undefined reference to `_glTexParameteri@12'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:207: undefined reference to `_glHint@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:208: undefined reference to `_glTexParameteri@12'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:209: undefined reference to `_glTexParameterf@12'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:212: undefined reference to `_glTexParameterf@12'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:214: undefined reference to `_glTexImage2D@36'
mythpainter_ogl.o: In function `_ZN17MythOpenGLPainter9DrawImageERK5QRectP9MythImageS2_i':
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:233: undefined reference to `_glClearDepth@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:238: undefined reference to `_glBlendFunc@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:240: undefined reference to `_glPushAttrib@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:242: undefined reference to `_glColor4f@16'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:243: undefined reference to `_glEnable@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:244: undefined reference to `_glEnable@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:246: undefined reference to `_glBegin@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:263: undefined reference to `_glTexCoord2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:263: undefined reference to `_glVertex2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:264: undefined reference to `_glTexCoord2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:264: undefined reference to `_glVertex2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:265: undefined reference to `_glTexCoord2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:265: undefined reference to `_glVertex2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:266: undefined reference to `_glTexCoord2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:266: undefined reference to `_glVertex2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:268: undefined reference to `_glEnd@0'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:270: undefined reference to `_glDisable@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:271: undefined reference to `_glDisable@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:272: undefined reference to `_glPopAttrib@0'
mythpainter_ogl.o: In function `_ZN17MythOpenGLPainter14ReallyDrawTextE6QColorRK5QRecti':
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:362: undefined reference to `_glPushAttrib@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:366: undefined reference to `_glColor4f@16'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:368: undefined reference to `_glEnable@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:369: undefined reference to `_glEnable@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:371: undefined reference to `_glBegin@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:385: undefined reference to `_glTexCoord2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:385: undefined reference to `_glVertex2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:386: undefined reference to `_glTexCoord2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:386: undefined reference to `_glVertex2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:387: undefined reference to `_glTexCoord2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:387: undefined reference to `_glVertex2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:388: undefined reference to `_glTexCoord2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:388: undefined reference to `_glVertex2f@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:390: undefined reference to `_glEnd@0'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:392: undefined reference to `_glDisable@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:393: undefined reference to `_glDisable@4'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:394: undefined reference to `_glPopAttrib@0'
mythpainter_ogl.o: In function `_ZN17MythOpenGLPainter8DrawTextERK5QRectRK7QStringiRK18MythFontPropertiesi':
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:401: undefined reference to `_glClearDepth@8'
/usr/Mythtv/libs/libmythui/mythpainter_ogl.cpp:411: undefined reference to `_glBlendFunc@8'
myththemedmenu.o: In function `_ZN21MythThemedMenuPrivate15keyPressHandlerEP9QKeyEvent':
/usr/Mythtv/libs/libmythui/myththemedmenu.cpp:2128: undefined reference to `MediaMonitor::GetMediaMonitor()'
/usr/Mythtv/libs/libmythui/myththemedmenu.cpp:2130: undefined reference to `MediaMonitor::ChooseAndEjectMedia()' by linking to __imp__globalFontMap (auto-import)
Info: resolving _static_QUType_bool by linking to __imp__static_QUType_bool (auto-import)
Info: resolving _static_QUType_varptr by linking to __imp__static_QUType_varptr (auto-import)
Info: resolving _static_QUType_Null by linking to __imp__static_QUType_Null (auto-import)
Info: resolving _static_QUType_ptr by linking to __imp__static_QUType_ptr (auto-import)
Info: resolving _static_QUType_int by linking to __imp__static_QUType_int (auto-import)
collect2: ld returned 1 exit status
make[2]: *** [cygmythui-0.19-0.dll] Error 1
make[2]: Leaving directory `/usr/mythtv/libs/libmythui'
make[1]: *** [sub-libmythui] Error 2
make[1]: Leaving directory `/usr/mythtv/libs'
make: *** [sub-libs] Error 2

Any help?

comment:2 Changed 14 years ago by robthebob

Try linking in opengl32

comment:3 Changed 14 years ago by robthebob

Cc: rn114@… added

Just adding myself to cc

comment:4 Changed 14 years ago by danielk

(In [10005]) Refs #1590. Applies some of the compile fixes in cygwin ticket.

I'm not convinced yet that cygwin is the way to go for a windows port, but I'm committing all the fixes that are just general cleanup or relevant to any windows port.

comment:5 Changed 13 years ago by danielk

Resolution: invalid
Status: newclosed

closing, not a MythTV bug and not being used to actively track a patch.

comment:6 Changed 13 years ago by jerrymr@…

Resolution: invalid
Status: closedreopened

Restarting a port to cygwin/qt-win. This first patch contains changes to allow a number of the libraries under mythtv/libs to compile and link.

comment:7 in reply to:  6 Changed 13 years ago by anonymous

Replying to jerrymr@gmail.com:

Restarting a port to cygwin/qt-win. This first patch contains changes to allow a number of the libraries under mythtv/libs to compile and link.

Patch name is patch1.diff.

Changed 13 years ago by jerrymr@…

Attachment: patch1.diff added

First patch in restarted cygwin port

Changed 13 years ago by robthebob+myth_trac@…

Attachment: cygwin_31-10-06.patch added

Slightly altered/extended patch, gets up to videoout_dx.cpp

Changed 13 years ago by robthebob+myth_trac@…

Attachment: libmyth-31-10-06.patch added

Just libmyth

comment:8 Changed 13 years ago by robthebob

Forget my cygwin_31-10-06.patch, it's a mess

comment:9 Changed 13 years ago by robthebob

Cc: robthebob+mythtv_trac@… added; rn114@… removed

Add to CC

Changed 13 years ago by robthebob

Now using CONFIG_CYGWIN rather than _WIN32 as define

Changed 13 years ago by robthebob

Attachment: libmythui-1-11-06.patch added

comment:10 Changed 13 years ago by danielk

Milestone: unknown
Owner: changed from robthebob to danielk
Status: reopenednew
Version: head

Just assigning this to myself, let me know when something is ready to apply.

Changed 13 years ago by jerrymr at gmail dot com

Attachment: mythtv-win.patch added

Ignore previous patches. This patch allows everything in libs + mythfrontend to build under cygwin

comment:11 Changed 13 years ago by danielk

Summary: Building with cygwinMS Windows port
Type: enhancementtask

comment:12 Changed 13 years ago by danielk

(In [11785]) Refs #1590. Applies slightly modified version of Jerry Rubinow's Win32 cygwin patch.

All this promises to do is make it possible to compile under cygwin again. At the moment the binaries crash when parsing the command line arguements...

comment:13 Changed 13 years ago by anonymous

Milestone: unknown0.21

comment:14 Changed 13 years ago by anonymous

Milestone: 0.21unknown

Changed 13 years ago by anonymous

Attachment: cygwin-may07.diff added

comment:15 Changed 12 years ago by greg

Resolution: invalid
Status: newclosed

Closing as the new win32 porting effort is much futher along, and doesn't use cygwin making this one pretty much moot.

Note: See TracTickets for help on using tickets.