Compiling with winelib (again)

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).
AuthorTopic: Compiling with winelib (again)
Apprentice
Member # 9013
Profile #0
Trying to compile Ormus' new OBoE sources with winelib:

cd "Blades of Exile"
winemaker sources
cd sources
make
I get this:

wineg++ -c -mno-cygwin -I. -o actions.o actions.cpp
actions.cpp: In function ‘Boolean handle_action(POINT, WPARAM, LPARAM)’:
actions.cpp:249: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:271: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:291: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:304: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:305: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:310: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:311: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:316: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:317: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:324: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:332: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:339: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:341: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:343: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:345: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:347: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:349: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:351: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:367: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:375: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:395: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:421: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:422: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:429: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:456: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:468: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:472: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:475: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:490: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:496: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:517: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:521: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:544: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:546: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:554: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:601: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:673: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:675: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:677: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:693: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:708: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:743: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:753: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:757: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:768: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:798: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:821: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:828: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:830: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:891: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:893: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:896: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:922: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:924: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:954: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:959: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:999: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1003: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1004: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1034: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1048: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1051: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1059: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1064: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1067: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1090: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1099: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1101: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1124: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1128: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1170: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1251: warning: deprecated conversion from string constant to ‘char*’
actions.cpp: In function ‘void handle_menu_spell(short int, short int)’:
actions.cpp:1376: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1381: warning: deprecated conversion from string constant to ‘char*’
actions.cpp: In function ‘void initiate_outdoor_combat(short int)’:
actions.cpp:1400: warning: deprecated conversion from string constant to ‘char*’
actions.cpp: In function ‘Boolean handle_syskeystroke(WPARAM, LPARAM, short int*)’:
actions.cpp:1458: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1467: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1475: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1484: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1491: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp: In function ‘Boolean handle_keystroke(WPARAM, LPARAM)’:
actions.cpp:1521: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1530: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1543: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1546: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1549: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1554: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1558: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1562: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1566: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1591: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1598: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1607: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1650: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1667: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1674: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1690: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1697: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1698: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1707: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1717: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1728: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1757: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1760: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1769: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp:1772: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1791: error: call of overloaded ‘handle_action(POINT&, WPARAM&, int)’ is ambiguous
actions.h:6: note: candidates are: Boolean handle_action(POINT, UINT, LONG)
actions.cpp:165: note: Boolean handle_action(POINT, WPARAM, LPARAM)
actions.cpp: In function ‘void do_save(short int)’:
actions.cpp:1885: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1886: warning: deprecated conversion from string constant to ‘char*’
actions.cpp: In function ‘void increase_age()’:
actions.cpp:1926: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1929: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1932: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1936: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1939: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1944: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1954: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:1995: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2005: warning: deprecated conversion from string constant to ‘char*’
actions.cpp: In function ‘void switch_pc(short int)’:
actions.cpp:2152: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2165: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2170: warning: deprecated conversion from string constant to ‘char*’
actions.cpp: In function ‘void drop_pc(short int)’:
actions.cpp:2181: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2184: warning: deprecated conversion from string constant to ‘char*’
actions.cpp: In function ‘Boolean outd_move_party(location, Boolean)’:
actions.cpp:2336: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2341: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2345: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2350: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2362: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2374: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2385: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2389: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2407: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2411: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2416: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2439: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2454: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2461: warning: deprecated conversion from string constant to ‘char*’
actions.cpp: In function ‘Boolean town_move_party(location, short int)’:
actions.cpp:2522: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2532: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2538: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2548: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2552: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2563: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2567: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2580: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2584: warning: deprecated conversion from string constant to ‘char*’
actions.cpp:2588: warning: deprecated conversion from string constant to ‘char*’
winegcc: g++ failed
make: *** [actions.o] Error 2
And it seems to be the same for every CPP file. How do I fix this?
Posts: 43 | Registered: Tuesday, June 19 2007 07:00
Infiltrator
Member # 5576
Profile Homepage #1
You can probably ignore any warnings that mention deprecation, as this code is so old that it relies on all kinds of deprecated things, and it's not worth fixing.

As those those errors, they seem to all be about calls to handle_action() that confuse the compiler. You could maybe try casting the parameters when calling the function so that they will match its signature exactly. Other than that I'm not sure what to recommend.

--------------------
Überraschung des Dosenöffners!
"On guard, you musty sofa!"
"Verbs for the weak!"
Posts: 627 | Registered: Monday, March 7 2005 08:00
Apprentice
Member # 9013
Profile #2
That would be tough... This appears to happen with every CPP file.

There has to be something wrong here. It compiles in GCC under Windows, compiling with winelib shouldn't be so different...
Posts: 43 | Registered: Tuesday, June 19 2007 07:00
Infiltrator
Member # 5576
Profile Homepage #3
It wouldn't be that tough, just a little tedious. It looks like handle_action() only gets called about 35 times, so unless other functions are having the same problem, it shouldn't take too long. (I once got to change every almost every '.' operator to a '->' operator throughout a 12,000 line program, by hand. Now that took a while.)

Also, the fact that it's being linked against what's actually a different library means that this makes some sense; the same functions should be present, but the details may differ subtly.

--------------------
Überraschung des Dosenöffners!
"On guard, you musty sofa!"
"Verbs for the weak!"
Posts: 627 | Registered: Monday, March 7 2005 08:00