Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • pike pike
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 105
    • Issues 105
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pikelang
  • pikepike
  • Issues
  • #2664
Closed
Open
Issue created Jan 07, 2002 by Peter Bortas@zinoOwner

Pike @ MacOS X 10.1.x patches

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2664

Reported by @grubba

From the pike@roxen.com mailinglist:

From: Bill Welliver <hww3@riverweb.com>
To: "pike@roxen.com" <pike@roxen.com>
Date: Sun, 6 Jan 2002 14:56:18 -0500
Subject: Pike and MacOS X 10.1.x

After considerable fiddling, I was able to get Pike to compile successfully with dynamic modules, and then get the latest Caudium from CVS to work. I was using a recent CVS snapshot of Pike in order to make this all happen.

For Pike:

MacOSX 10.1 introduces a two-level namespace for its dynamic loader. It also uses this by default, which is probably not what we want for pike. We also get command line errors by mixing flat and two_level arguments. In order to get back to the flat namespace, you have to modify the LDSHARED definition for Darwin in configure:

--- START OF DIFF ---

--- configure.orig      Thu Nov  1 17:04:57 2001
+++ configure   Sun Jan  6 10:38:15 2002
@@ -21815,7 +21815,7 @@
         fi
       ;;
       Darwin*)
-      LDSHARED="ld -bundle -bind_at_load -undefined suppress
-lbundle1.o"
+      LDSHARED="ld -bundle -bind_at_load -flat_namespace -undefined
suppress -lbundle1.o"
       ;;
       IRIX*)
         if test "$GCC" = yes ; then

--- END OF DIFF ---

That alone should get you through the configure, but there are a few problems compiling:

Image module:

ld complains of incorrect references to symbols restFP and saveFP. These symbols are defined in /usr/lib/libcc_dynamic.a, so you have to include cc_dynamic as a library. I did this using the environment variable:

CFLAGS="-I/sw/include" LDFLAGS="-lcc_dynamic -L/sw/lib" ./configure

(I have the fink package installed, and fink installs everything in /sw, so that's where I have gmp and several other libraries.) Perhaps cc_dynamic can get automatically added to the list of C libraries on a Darwin system...

Assignee
Assign to
Time tracking